86682
Excelで作成された請求書データ"請求書フォーム_○○_FY21.xlsx"(同book内にシートが複数)から一覧を作成したいと思い、まず1つの請求書データをVBAで取得したかったのですが、変数が定義されていません、とエラーになってしまいまいます。  
どのようにすれば解決できますでしょうか。(参照先の"請求書フォーム_○○_FY21.xlsx"を何か変える必要はあるのでしょうか)

```

    Dim ws As Worksheet
    Set ws = Workbooks("請求書フォーム_○○_FY21.xlsx").Worksheets(1)
    
    
    wsData.Cells(2, 2).Value = ws.Range("H3").Value '2 請求月
    wsData.Cells(2, 3).Value = ws.Range("H4").Value '3 請求書番号
    wsData.Cells(2, 4).Value = ws.Range("B8").Value '4 会社名
    wsData.Cells(2, 5).Value = ws.Range("C13").Value '5 支払期限
    wsData.Cells(2, 6).Value = ws.Cells(18, 8).Value '6 金額
    wsData.Cells(2, 7).Value = ws.Cells(18, 9).Value '7 消費税
    wsData.Cells(2, 8).Value = ws.Range("A20").Value '8 プロジェクト番号
    wsData.Cells(2, 9).Value = ws.Range("A18").Value '9 内容
    
    
    End Sub
    
```
CC BY-SA 4.0
2022-03-04T08:35:18.403
86680
2022-05-10T08:06:42.490
2022-03-04T09:05:49.947
3060
51683
question
vba
VBA 実行時のエラー　コンパイルエラー(変数が定義されていません)の解決方法
`wsData`変数が宣言されていないのが原因ではないでしょうか。  
手元の環境で下記のように書き換えたところ正常に実行できました。

```

    Sub ボタン1_Click()
    Dim ws As Worksheet
    Set ws = Workbooks("test_list.xlsx").Worksheets(1)
    
    Dim wsData As Worksheet
    Set wsData = ActiveSheet
    
    wsData.Cells(2, 2).Value = ws.Range("H3").Value '2 請求月
    '(以下略)
    End Sub
    
```
CC BY-SA 4.0
2022-03-04T09:10:13.293
86682
2022-03-04T09:10:13.293
9820
86680
answer