名前が変数であるワークシートで作業しようとしています。Excel VBA - 範囲外の添字 - 変数としてのシート名
私は既存のシートの名前のリストをキャッチするために "データ"と呼ばれるメインシートを持っています。特定の行のために:
With This Workbook.Sheets(sheet_name)
これは、オブジェクトのシートかのようである:エラーが促さ
Dim data as Worksheet
dim sheet_name as String
Dim i as Integer
Set data = ThisWorkbook.Sheets("Data")
For i = 2 to 10
sheet_name = data.Range("A"&i).Value
With ThisWorkbook.Sheets(sheet_name)
'Operations on the worksheet
End With
Next i
は、「範囲の添字アウトランタイムエラー9」であり、次のように
私のコードです文字列sheet_nameを理解できませんでした。 シート「sheet_name」が確実に存在し、二重チェックされています。
残念ながら、私は操作するシートが多すぎるためシートをその名前で呼び出すことはできません。これがループを実行したかった理由です。私はちょうど正面にThisWorkbook.Sheets(シート名)」で、シートのすべてのオブジェクトを参照する句「と」しかし、で作業していない試みたが、いずれかの動作しません
。
それがある場合、あなたが知っていますかあなたの助けのためのシート()?内
おかげでたくさんの文字列変数を呼び出すことが可能!
敬具、
それはあなたがやりたいことは可能です - しかしsheet_name' 'の値に一致するシートがないように見えます。 –
これは 'With sheet_name ... End With'ですか? – 0m3r
あなたのコードは間違いなく働いています_シートの名前のリストは 'Data' _シート名と一致します(大文字と小文字は区別されません)。名前の先頭または末尾に余分な空白( 'data'と実際のシート名の両方)がないか確認してください。 'Data!A2:A10'の空白もこのエラーの原因となります。 –