ワークシートの指定

Excel VBAで困ることは、一度マクロを走らせると、消したくないセルにまちがって書き込もうが何をしようが、undoが効かないところです。そのため私は泣く泣く入力値を再度入力したり、といった失敗を何度も繰り返しています。これを回避するために、どのworksheetに書き込むかを明示することをお薦めします。
下のサンプルでは、まずworksheet型のwsという変数を定義しています。私は1行が長くなるのが嫌いなので、wsのように変数名をできるだけ短くするようにしています。これに書き込みたいシートをsetします。ここではsheet1を指定しています。書き込みは cells(i,j) = ・・・のように記入しますが、これを ws.cells とすることでどのワークシートのセルかを明示し、書き込む予定のなかったシートに書き込んでしまうことを防ぎます。

Sub test()
  Dim ws As Worksheet
  Set ws = Worksheets("sheet1")

  ws.Cells(2, 2) = 4

End Sub

0 件のコメント:

コメントを投稿