vbaにてエラー9が起き、直せません。
解決したいこと
Excelのリストsheetの内容を社員紹介sheetの指定箇所に代入し、
社員紹介sheetをリストのC列が空になるまでDo~loop文を回したいのですが、
インデックスが有効範囲にありませんと出てしまい困ってます。
発生している問題・エラー
エラー9 インデックスが有効範囲にありません
例)
NameError (uninitialized constant World)
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
Sub ensyu()
Dim a(3) As String
Dim i As Integer
Dim m As Integer
Dim s As Integer
Dim t As String
i = 7
s = 3
Do
For m = 0 To 3 Step 1 '空の配列aにリストの情報を入れる
a(m) = Sheets("リスト").Cells(i, s).Value
s = s + 1
Next m
For m = 0 To 3 Step 1 'sheet社員紹介にリストの情報を移す
If m = 0 Then
Sheets("社員紹介").Range("D2:H4").Value = a(m)
ElseIf m = 1 Then
Sheets("社員紹介").Range("D4:H6").Value = a(m)
ElseIf m = 2 Then
Sheets("社員紹介").Range("D7:H9").Value = a(m)
ElseIf m = 3 Then
Sheets("社員紹介").Range("D10:H12").Value = a(m)
End If
Next m
t = a(2) & "_" & a(1)
Sheets("社員紹介").Copy 'シートの複製
Application.Dialogs(xlDialogSaveAs).Show _
Arg1:=t
If Sheets("リスト").Cells(i, 3).Value <> "" Then '社員コードにデータが無ければループを終了
Exit Do
End If
i = i + 1
Loop
End Sub
例)
vba
自分で試したこと
色々サイトを調べてみたのですが、よくわかりません。
0 likes