サイトアイコン Googleスプレッドシート 完全攻略

【VBA】Excel 複数のセルを連結してクリップボードにコピーする方法

Excel VBA 一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【VBA】Excel 結合セルを一気に分割する方法
【VBA】Excelで結合されたセルを華麗に処理することができます。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

セルを選択してボタンをクリックするだけでクリップボードに
セルの中身を連結してコピーされます。

これは、何に使うかというと、「auじぶん銀行」の銀行振り込み時に
使うととても便利です。

 

で、今回のGoogleスプレッドシート GAS版はこちら↓

選択した複数のセルを連結してクリップボードにコピーする方法【GAS】
  • 複数のセルを連結してクリップボードにコピーすることができます。
  • auじぶん銀行から振り込みむ際の認証番号の入力が楽になります。
  • 動作イメージ

    こんな感じで結構いい感じです。

    1. マトリクスから4つのセルを選択します。
    2. 「コピー」をクリックします。

    これで、クリップボードに選択した4つのセルを結合した値がクリップボードに
    入ります。(以下の場合、3592,4362)

     

     

     

    VBAスクリプト

    Sub ConcatenateNoDelimiterAndCopyToClipboard()
    Dim selectedRange As Range
    Dim cell As Range
    Dim concatenatedText As String
    Dim objShell As Object
    
    Set selectedRange = Selection
    
    If selectedRange.Cells.Count <> 4 Then
    MsgBox "セルはちょうど4つ選択してください。", vbExclamation
    Exit Sub
    End If
    
    ' セル内容の連結(デリミタなし)
    For Each cell In selectedRange.Cells
    concatenatedText = concatenatedText & cell.Value
    Next cell
    
    ' Windows Script Host でクリップボードにコピー
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "cmd /c echo " & concatenatedText & " | clip", 0, True
    
    'MsgBox "セルの内容を連結して、クリップボードにコピーしました!"
    
    ' M4セルに貼り付け
    Range("M4").Value = concatenatedText
    
    End Sub

     

    メモ

    必要に応じて

    'MsgBox "セルの内容を連結して、クリップボードにコピーしました!"

    のメッセージを表示させてください

    最後の
    ' M4セルに貼り付け

    Range(“M4”).Value = concatenatedText

    はわかりやすいようにM4に表示させているだけなので不要です。

     

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    【VBA】Excel チェックボックスがONのシートを印刷する
    EXCELでチェックボックスの値を手軽に取得できます。 VBAから簡単に印刷できます。

     

     

    Excel VBA 一覧

    モバイルバージョンを終了