セルの値をクリップボードにコピーします。
普通にコピーすれば良いわけなのですが、ペーストしたときに末尾の改行が欲しくないときとかに。
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をダウンロードした場合は、ボタンはコピペすれば数を増やせます。
