- ベストアンサー
VBA 他ブックのセルの値を1セルずつ代入したい
- VBAを使って他のブック内のセルの値を1つずつ代入したい場合の方法を教えてください。
- 具体的な操作方法について、コードの一部を掲載しましたので、ご確認ください。
- 固定範囲の値を複数のセルに代入する方法についてのご教授をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>上かつ、N2、O3は文字列なのでstringにしたいんです。 サンプルです。 Sub test2() Dim ws As Worksheet Dim r As Range Dim v, i As Integer v = Array("N3", "G2") Set r = Worksheets("Sheet2").Range("A1") '貼り付けるのは1行目から? Worksheets("Sheet2").Range("A:B").NumberFormatLocal = "@" '文字列設定 For Each ws In Worksheets If ws.Name Like "*予定?" Then With ws For i = 0 To 1 r.Offset(, i * 2).Resize(31, 2).Value = .Range(v(i), .Range(v(i)).Offset(, 1)).Value Next r.Offset(, 4).Resize(31, 8).Value = .Range("B14:I44").Value Set r = r.End(xlDown).Offset(1) End With End If Next Set r = Nothing End Sub
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
ANo.1です。 取り敢えずのサンプル。(解釈が違っていたらすいません) Sub test() Dim ws As Worksheet Dim r As Range Dim v, i As Integer v = Array("G2", "N3") Set r = Worksheets("Sheet2").Range("A1") '貼り付けるのは1行目から? For Each ws In Worksheets If ws.Name Like "*予定?" Then With ws r.Resize(31, 1).Value = .Range(v(0)).Value For i = 0 To 1 r.Offset(, i * 2 + 1).Resize(31, 2).Value = .Range(v(i), .Range(v(i)).Offset(, 1)).Value Next r.Offset(, 5).Resize(31, 8).Value = .Range("B14:I44").Value Set r = r.End(xlDown).Offset(1) End With End If Next Set r = Nothing End Sub
- n-jun
- ベストアンサー率33% (959/2873)
>____A___B___C___D____E____F____G____H____I____J_____K____L >1 G2 G2 N2 O3 B14 C14 D14 E14 F14 G14 H14 I14 A列とB列が同じなのはミス?それとも正解? C列がN2なのはミス?それとも正解?
お礼
こっちにすいません。 上かつ、N2、O3は文字列なのでstringにしたいんです。 昨日に引き続きすいません。
補足
n-junさん、昨日は本当にお世話になりました! 失礼しました。 __A_B_C_D 1_N3_O3_G2_H2・・・ 2_N3_O3_G2_H2・・・ でした。すいません。
お礼
n-junさん、いつもありがとうございます! おかげさまでできました! 本当に助かります! どうもありがとうございました!!!