EXCEL VBA シートの内容をメモ帳にコピー。

2019年9月13日

EXCELの任意の部分をメモ帳へコピペ(切り取り、貼り付け)する簡単なマクロです。

今回は2種類。

決まった範囲の時と、手動で範囲指定した時です。

2個目には範囲指定の部分がないだけです。

まず、コピペしたい表のタブ(下のほう)を右クリックして「コードの表示」選択。
そこに以下を張り付ける。

※今回VBAはシートの中にコードを書いています。Moduleに書くと、メモ長が早く開きすぎて、動かなかいこともありますので注意。

Sub MemoOpen001R()
Range("A1:H8").Select
Selection.Copy
Shell "notepad", 1
SendKeys "^V", True
End Sub

Sub MemoOpen002R()
Selection.Copy
Shell "notepad", 1
SendKeys "^V", True
End Sub

追記:タイマーを入れました。
sleep関数はWindowsAPIの関数ですのでAPI宣言します。
プログラムを書き込んでる一番上に書いてください。
宣言をすると、時間待ちができるようにします。1000が1秒。テストは0.5秒にしてますが、PCのスペックに合わせてコントロールしてください。
貼り付けを0.5秒後に実行する例です。

Option Explicit
'### API 宣言
#If VBA7 Then  '###(64bit)
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else '###(32bit)
    Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
#End If

Sub MemoOpen001R()
  Range("A1:F6").Select
  Selection.Copy
  Sleep (500) '### 1000=1秒
  Shell "notepad", 1
  SendKeys "^V", True
End Sub

Sub MemoOpen002R()
  Selection.Copy
  Sleep (500) '### 1000=1秒
  Shell "notepad", 1
  SendKeys "^V", True
End Sub

 

次に、データーの入っているシートに図形、画像等を張り付けボタンを2個作り※なんでもいいです。
各々に「マクロ登録」してください。

実行するとこんな風になります。
002Rは範囲指定した部分のみコピーします。

以上。