こんにちはJitanTechです。
みなさんは、Excelで結合セルの値を別の結合セルに貼りつけたいと思ったことはありませんか。
しかし、やってみると以下の動画のようになり、結局はセルの中身をひとつづつ貼り付けたり、数式を使ってなんとか値を入れたりしたのではないでしょうか。
今回は、そのような場合にマクロを使用することで、コピーした結合セルの値を別の結合セルに貼りつける方法をご紹介します。
では行ってみましょう。
結合セルに貼りつけるコード
以下のコードではコピーした結合セルの値を、結合セル上に貼り付けます。
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
実行結果
さいごに
いかがだったでしょうか。
今回は、結合セルの値をコピーして別の結合セルに貼りつけるマクロをご紹介しました。
是非ご活用ください。
ではまた。
コメント