|
りんさんありがとうございます☆教えてくださった通りに入力したらできました☆
"データ"というBookの"一覧表"というSheetの内容を、ユーザーフォームのリストとして表示させるようにしてあったのですが、"データ"のBookを開かなかった場合、ユーザーフォームを開こうと思うと、当然のことながらエラーが出てしまいます。
ブックが開いているかを確認するには、For Each を使えばいいことは調べられたので、下記のように、もとから作ってある文章に【追加】と書いてあるところを書き足しました。しかし、ユーザーフォームを実行しようと思うと”オブジェクトは、このプロパティまたはメソッドをサポートしていません”と言われてしまいました。3つ目の追加の「If データ.name = データ Then」の後がWithになっているからおかしいのか、修正ができません(>_<)教えてください!
Dim LastLow7 As Long
Dim r As Integer
Dim s As Integer
データ = "データ.xls" '【追加】
For Each データ In Workbooks '【追加】
If データ.Name = データ Then '【追加】
With ListBox1
.ColumnCount = 2
.ColumnWidths = "200;500"
End With
With Workbooks("データ.xls").Worksheets("一覧表")
LastLow7 = .Range("A3").CurrentRegion.Rows.Count
For r = 0 To LastLow7 - 1
ListBox1.AddItem r
For s = 0 To 1
ListBox1.List(r, s) = .Cells(r + 3, s + 1)
Next
Next
End With
End If '【追加】
Next '【追加】
ListBox1.Text = "" '【追加】
|
|