【Excel VBA】クリップボードのデータのタブキーを消して貼り付ける方法

タブキーが入っていると同じセルではなく横のセルに貼りつきますよね。例えば以下のようになる場合があります。

タブキーが入っていると右のセルに値が入るため、文字がかぶさってしまいます。

そこで今回はタブキーを消して貼り付ける方法をご紹介します。

サンプルコード

Option Explicit
Sub test()
 
    Dim dob As Object
    Dim clp_ary As Variant
    Dim clp_txt As String
    Dim i As Long
    Dim dat_num As Long
    
    Application.ScreenUpdating = False
 
    Set dob = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    dob.GetFromClipboard
    If Not dob.GetFormat(1) Then
        MsgBox "中止します。" & vbCrLf _
             & "貼付できるのは、文字データのみです。" & vbCrLf _
             & "(Excelのセル、画像などは貼付不可)" _
             , _
             , "PastInFltr"
        Exit Sub
    End If
     
    clp_txt = dob.GetText
    clp_ary = Split(clp_txt, vbCrLf)
     
    For i = 0 To UBound(clp_ary)
        ActiveCell.Value = clp_ary(i)
        ActiveCell.Offset(1, 0).Select
    Next
 
    Application.ScreenUpdating = True
 
End Sub

実行結果

同じセルに貼りつけることができました。

ぜひお試しください。

ではまた。

コメント