ブックを開く参照パスとシートの参照値をセルからひっぱってこようとしているのですが、なぜか取得できません。
sn = Cells(2 + i - 1, "B").Value bn = Cells(2 + i - 1, "C").Value
ではsnがB2を参照し、bnがC2を参照しているはずなのですがどうしても
”見つかりません”とでてきてしまいます。
また、
sn = Cells(2 + i - 1, 2).Value bn = Cells(2 + i - 1, 3).Value
とやっても同様です。
どこが間違っているのでしょうか??
Sub Data_Copy() Dim op As Worksheet, cPath As String, xFile As Worksheet, i As Integer, sn As String, bn As String Set op = Workbooks("CAB-Grapf.xls").ActiveSheet cPath = op.Range("B1").Value Application.ScreenUpdating = False 'シートを追加 Worksheets.Add After:=Sheets("DATA"), Count:=op.Range("K1").Value For i = 1 To op.Range("K1").Value If i > 10 Then '入力値が予定数を超えてしまったら終了 MsgBox "シートが追加されていません。" Exit For End If Sheets("sheet" & i).Select 'シート名部分を sheet と i で組み合わせて作る ActiveSheet.Name = op.Range("B2").Offset(i - 1, 0).Value 'B2セルを先頭に行方向にオフセット Next 'シート追加ここまで 'WorkBookを開く For i = 1 To op.Range("K1").Value sn = Cells(2 + i - 1, "B").Value bn = Cells(2 + i - 1, "C").Value If i > 10 Then MsgBox "Bookがそんなにありません" Exit For End If Workbooks.Open bn Range("A1:AU3100").Copy Workbooks("CAB-Grapf.xls").Worksheets(sn).Range("A1:AU3100").PasteSpecial Paste:=xlPasteAll Application.CutCopyMode = False ActiveWorkbook.Close SaveChanges:=False Next Application.ScreenUpdating = True End Sub
上の画像では bn=Cells(2+i,C) 下のプログラムでは bn = Cells(2 + i - 1, "C").Value となっていますが今はどちらが正しいですか
回答1件
あなたの回答
tips
プレビュー