3

エクセルのビジュアルベーシックマクロを書こうとしています。

私の問題は、このコードが機能することです。

Dim x As String
x = Worksheets("Abgabe").Cells(20, 3).Value

しかし、これはしません:

Dim y As Worksheet
y = Worksheets("Abgabe")

また、ActiveWorkbookを使用すると、コードが機能しません。

Dim y As Worksheet
y = ActiveWorkbook.Worksheets("Abgabe")

このエラーが発生します:

オブジェクト変数またはWithブロック変数が設定されていません

何が問題なのですか?

4

1 に答える 1

5

Dim y As ワークシート

y = ワークシート("アブガベ")

これを使ってください (あなたは を使わなければなりませんSet)

Dim y As Worksheet
Set y = Worksheets("Abgabe")

MSDN から( http://msdn.microsoft.com/en-us/library/aa192490.aspx ):

Set Keyword: In VBA, the Set keyword is necessary to distinguish between 
assignment of an object and assignment of the default property of the object.
于 2012-04-17T18:11:07.447 に答える