プロが教える店舗&オフィスのセキュリティ対策術

http://koikide.net/With.html

このページにwithを入れ子にして使う方法が書かれてあるのですが
下記のようにwithが上下関係のない場合にはどうしたら良いですか?


with ThisWorkbook.Worksheets("Sheet1")

With ListView1


For i = 2 To filenum0 + 1
.ListItems.Add Text:=.Cells(i, 1)
Next i


End With


End With


.ListItems.Add Textの前にListView1

.Cells(i, 1)の前にThisWorkbook.Worksheets("Sheet1")

が省略されています。

A 回答 (1件)

入れ子になった内側の With の中で省略できるのは内側の With で指定しているオブジェクトだけです。


質問文の箇所で ThisWorkbook.Worksheets("Sheet1") を省略することはできません。

今回の質問のポイントからは逸れますが、私の場合 Worksheet を操作するときは対象の Worksheet を必ずオブジェクト変数越しに使うようにしています。
Dim sht1 As Worksheet
Set sht1 = ThisWorkbook.Worksheets("Sheet1")
With ListView1
  Dim i As Long
  For i = 2 To filenum0 + 1
    .ListItems.Add Text:=sht1.Cells(i, 1).Value
  Next i
End With
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!