LoginSignup
1
1

More than 5 years have passed since last update.

Excel VBAを使ってコピー用ボタンを作成する

Posted at

個人的に手順書はExcel派。
理由は、VBAを使用してコマンドのコピーの簡略化とか実行時間のエビデンスを残したりするのが簡単だから。

私が使っているコピーボタン用のコードを紹介します。

-

1.Excelのフォーマットイメージ

下記のようなフォーマット向けにVBAを作成します。

kobito.1456638705.159421.png

VBAを使用して実現したいことは下記。
Copyボタンの右側にあるコマンドをコピー
②コマンドをコピーした時間を残す

-

2.ソースコード

※あまりスマートなコードではないですのでご了承ください。。。

Sub CP_button()

    Dim waitTime As Variant
    waitTime = Now + TimeValue("0:00:03")

    Dim xy, hidari
    xy = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
    hidari = Range(xy).Offset(0, 4).Value

    With Range(xy).Offset(0, 4)
        .Select
        .Font.Bold = True
        .Font.Color = -16776961
        .Font.TintAndShade = 0
    End With

    With Range(xy)
        .Offset(o, 4).Select
        .Offset(0, -1) = "●"
        .Offset(0, -4) = Time
    End With

    Dim myDO As New DataObject
    myDO.SetText hidari
    myDO.PutInClipboard

    Application.Wait waitTime

    With Range(xy).Offset(0, 4)
        .Select
        .Font.Bold = True
        .Font.Color = xlThemeColorLight1
        .Font.TintAndShade = 0
    End With
End Sub

-

3.動作検証

①実行前
kobito.1456638883.655658.png

②実行後
kobito.1456638930.621450.png

キャプチャに取れなかったですが、コピー中はコピー対象のコマンドが赤く表示されます。
きちんとコピーしていることが目視できるようにこの仕組を入れています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1