質問があります。vba には、特定のリストを別のシートにコピーする便利な機能があります。
Sheets("Data").ListObjects("mail_list").DataBodyRange.Copy
Sheets("Email").Range("B2").PasteSpecial xlPasteValues
そして、次のように、セル内のテキストに応じて特定のリストを使用したい:
Sub make_email()
Dim mail_list, subject As String
Dim i As Integer
i = 2
subject = Sheets("Form").Cells(7, 2).Text
Do While Sheets("Data").Cells(i, 4).Text <> ""
If subject = Sheets("Data").Cells(i, "AW") Then
mail_list = Cstr(Sheets("Data").Cells(i, "AW"))
Exit Do
End If
i = i + 1
Loop
Sheets("Data").ListObjects(mail_list).DataBodyRange.Copy
Sheets("Email").Range("B2").PasteSpecial xlPasteValues
End Sub
ListObjects が特定のリストを取得するには文字列が必要だと思いましたが、そうではありません。プログラムは範囲外のエラーを返します。特定の名前 (.ListObjects(mail_list).DataBodyRange.Copy など) の ListObjects を調べて、これを機能させるにはどうすればよいですか?