- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA セルの値、書式を貼り付けしたい)
エクセルVBAでセルの値と書式を貼り付けする方法
このQ&Aのポイント
- エクセルVBAを使用して、指定の条件に基づいてセルの値と書式を貼り付ける方法について教えてください。
- 具体的には、Worksheets("KAIGAIFUNIN") に名前がある人をWorksheets("ALL") で検索し、該当する名前の横のセルに赴任地と滞在年数をコピーして貼り付けたいです。
- また、セルの書式(書体、文字サイズ、文字の色、セルの塗りつぶし)もそのまま反映させたいですが、R1C1形式に変換する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは R1C1形式、A1形式は関係無いのでは? Sub 海外赴任者チェック() Dim A As Worksheet Dim B As Worksheet Dim tateA As Long Dim tateB As Long Set A = Workbooks("名簿.xls").Worksheets("ALL") Set B = Workbooks("名簿.xls").Worksheets("KAIGAIFUNIN") For tateA = 2 To 400 tateB = 2 Do Until B.Cells(tateB, 1) = "" If B.Cells(tateB, 1) = A.Cells(tateA, 1) Then B.Cells(tateB, 2).Copy A.Cells(tateA, 5) '赴任先の入力 B.Cells(tateB, 3).Copy A.Cells(tateA, 6) '赴任年数の入力 Exit Do End If tateB = tateB + 1 Loop Next End Sub
その他の回答 (1)
- SI299792
- ベストアンサー率47% (780/1631)
回答No.2
IFの中を B.Cells(tateB, 2).Resize(1, 2).Copy A.Cells(tateA, 5) にすれば、コピーは1回で済みます。
質問者
お礼
返事が遅くなりまして、すみません。 お忙しいところご回答いただき、ありがとうございました。m(_ _)m Resizeは知らなかったので参考になりました。
お礼
返事が遅くなりまして、すみません。 悩んでいた事が簡単に解決できました!! どうもありがとうございました。m(_ _)m