VBAの質問です。 とあるサイトで下記のような回答がありました。
VBAの質問です。 とあるサイトで下記のような回答がありました。 自分の考えとしては、各cellsの前にworksheets("〇〇")を入れるのかなと思ったのですが、それを入れると型が違うとかでエラーになってしまいます。 なぜ入れてはだめなのでしょうか?? Sub 練習問題1() Dim i As Long For i = 2 To 11 Cells(i, 4).Value = Cells(i, 2).Value / Cells(i, 3).Value Next End Sub
Visual Basic・96閲覧
ベストアンサー
アクティブシートなら、VBA側で補完して ワークシートオブジェクトの記載がなくてもOKです。 シートが異なるセルを対象にするなら、質問者の言うように ①worksheets("〇〇") ②worksheetObj.cells(x,y) ①シート名で指定 ②シートのオブジェクトで指定が必要になります。 ちなみにワークシートオブジェクトからではなく Workbook.WorkSheet.Cells みたいにワークブックからの指定が本来必要ですが、 これもVBA側で、指定がない場合はThisworkbookを補完しているからですね。 マクロ記載と異なるブックを指定する場合は、ブックオブジェクトからの指定が必要になりますね。
質問者からのお礼コメント
ありがとうございます。参考になりました!
お礼日時:5/21 16:47