こんにちはJitanTechです。
みなさんは、Excelで結合セルの値を別の結合セルに貼りつけたいと思ったことはありませんか。
しかし、やってみると以下の動画のようになり、結局はセルの中身をひとつづつ貼り付けたり、数式を使ってなんとか値を入れたりしたのではないでしょうか。
今回は、そのような場合にマクロを使用することで、コピーした結合セルの値を別の結合セルに貼りつける方法をご紹介します。
では行ってみましょう。
結合セルに貼りつけるコード
以下のコードではコピーした結合セルの値を、結合セル上に貼り付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Sub test() Application.ScreenUpdating = False ' Microsoft Forms 2.0 Object Library の参照 Dim dob As Object Set dob = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 'クリップボードからDataObjectにデータを取得する(VBAとクリップボードの橋渡し) dob.GetFromClipboard ' クリップボードのテキストを取得 Dim clp_txt As String clp_txt = dob.GetText ' 行方向を改行コードで分割する Dim clp_ary As Variant clp_ary = Split(clp_txt, vbCrLf) ' 貼り付け先セルを取得 Dim dist_row As Long Dim dist_col As Long dist_row = ActiveCell.Row dist_col = ActiveCell.Column For i = 0 To UBound(clp_ary) - 1 ActiveSheet.Cells(dist_row + i, dist_col) = clp_ary(i) Next Application.ScreenUpdating = True End Sub |
実行結果
さいごに
いかがだったでしょうか。
今回は、結合セルの値をコピーして別の結合セルに貼りつけるマクロをご紹介しました。
是非ご活用ください。
ではまた。
コメント