私はあなたのコードに何かがあると思うだけで、シートを引っ張っておく必要があるブックを指定せずにsheet()を呼び出すだけです。両方のワークシートの変数を設定して、それを明確に定義できるようにしてください。また、後でデバッグする必要がある場合は、この行を少し読みやすくします。
Dim wb As Workbook, ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Workbooks("C:\Users\user1\Desktop\" & f_name).Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheets2")
ws2.Range("A" & i, ws2.Range("A" & i).Offset(chunks - 1, c_cnt - 1)).Value = ws1.Range("A" & i, ws1.Range("A" & i).Offset(chunks - 1, c_cnt - 1)).Value
あなたも遠くに行くと、あまりにも範囲変数を定義することができ、これはあなたが呼んでいるので
Dim wb As Workbook, ws1 As Worksheet, ws2 As Worksheet
Dim rng1 As Range, rng2 As Range
Set ws1 = Workbooks("C:\Users\user1\Desktop\" & f_name).Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheets2")
Set rng1 = ws1.Range("A" & i).Offset(chunks - 1, c_cnt - 1)
Set rng2 = ws2.Range("A" & i).Offset(chunks - 1, c_cnt - 1)
ws2.Range("A" & i, rng2).Value = ws1.Range("A" & i, rng1).Value
がそれをですそれがさらに読みやすくするかもしれない 'f_name'まだ変数は' fname'はありますか? –
私はブックを参照するためにfnameを使用していますが、f_nameはワークブックの名前に設定されています。 – anurag