0
これは私がしようとしているものの非常に単純な例です。私は2つの名前付き範囲を持っています。最初の "燃料"は、0.3でハードコードされた値を持っています。 2番目の「Bill」は、ブックのB2の値を参照し、それに(1 +燃料)を掛けます。私は、セル「C2」の「ビル」を参照すると、私は650名前付き範囲の値へのアクセス
VBAを使用しての正しい出力を取得し、どのように私は(この場合は650)の出力を得ることができます名前付き範囲「ビルの"最初にスプレッドシートで" Bill "を参照しなくても、Range(" C2 ")を使用して値を取得する必要はありません。私が試したことのいくつかは以下の通りです。
Sub named_range_value()
Dim wb As Workbook
Set wb = Workbooks("test")
MsgBox Range("bill") 'Run-time error '1004': Method 'Range' of object '_Global' failed
For Each nr In wb.Names
MsgBox nr 'Loops three times and returns:
'=#NAME
'=Sheet1!$B$2*(1+fuel)
'=0.3
Next
End Sub
MsgBoxは、文字列入力が範囲入力ではないことを要求しています。それがエラーの原因です。値またはそれを含む文字列を渡す必要があります。 –