セルの値をクリップボードにコピーします。
普通にコピーすれば良いわけなのですが、ペーストしたときに末尾の改行が欲しくないときとかに。
Option Explicit '--------------------------------------------------------------------------------------------------- '【処 理 名】CopyRightCellValue '【処理概要】クリックされたボタンの右のセルのセル値をクリップボードにコピーする '【引 数】なし '【返 却 値】なし '--------------------------------------------------------------------------------------------------- Public Sub CopyRightCellValue() ' 右のセルの値をクリップボードにコピー CopyCellValue 1 End Sub '--------------------------------------------------------------------------------------------------- '【処 理 名】CopyLeftCellValue '【処理概要】クリックされたボタンの左のセルのセル値をクリップボードにコピーする '【引 数】なし '【返 却 値】なし '--------------------------------------------------------------------------------------------------- Public Sub CopyLeftCellValue() ' 左のセルの値をクリップボードにコピー CopyCellValue -1 End Sub '--------------------------------------------------------------------------------------------------- '【処 理 名】CopyCellValue '【処理概要】クリックされたボタンの隣のセルのセル値をクリップボードにコピーする '【引 数】ByVal pos As Integer:ボタンの右/左 '【返 却 値】なし '--------------------------------------------------------------------------------------------------- Private Sub CopyCellValue(ByVal pos As Integer) Dim btn As Shape ' ボタンオブジェクト Dim ws As Worksheet ' ワークシートオブジェクト Dim rng As Range ' セルオブジェクト Dim clipboard As Object ' クリップボードオブジェクト ' ボタンオブジェクトを取得 Set btn = ActiveSheet.Shapes(Application.Caller) Set ws = ActiveSheet ' ボタンがあるセルの右隣のセルを取得 Set rng = ws.Cells(btn.TopLeftCell.Row, btn.TopLeftCell.Column + pos) ' クリップボードにコピーするためのオブジェクトを作成 Set clipboard = New DataObject clipboard.SetText rng.Value clipboard.PutInClipboard End Sub
こちらからExcelファイルをダウンロードできます
https://github.com/misk-fudebaco/excel/blob/main/CopyCellValue.xlsm
コードをコピーする場合は、ボタンにマクロを登録してください。
Excelをダウンロードした場合は、ボタンはコピペすれば数を増やせます。