テーブル機能の備忘録 番外1 各行をメモ帳に転記
先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。
今日は、番外編。
↓ こちらとテーブルのコラボに挑戦。
gorilla-strong.hatenablog.com
今回は、テーブルの各行を、メモ帳に書き出してみる。
書き出しに関しては、↓ こちらのSample2を参照した。
www.moug.net
書き出されるテーブルがこちら。
一行ずつ書き出すことから、ループを使用する。行全体は、ListRowオブジェクトのRangeメンバーで指定することにした。
Sample2を参照したサイトに記載の通り、PC環境によっては処理速度が速すぎて、ペーストする前に次のメモ帳が立ち上がってしまう。
そこで、メモ帳起動直後と、コピー内容を張り付けた直後に、強制的に1秒の待ち時間を設けてみた。
Sub test() Dim Tb As ListObject Set Tb = ActiveSheet.ListObjects(1) Dim ListRow As Excel.ListRow Dim rc As Long For Each ListRow In Tb.ListRows ListRow.Range.Copy rc = Shell("notepad.exe", vbNormalFocus) Application.Wait [Now() + "00:00:01"] If rc <> 0 Then Application.SendKeys "%EP", True Application.Wait [Now() + "00:00:01"] End If Next Application.CutCopyMode = False End Sub
結果がこちら。
なお、待ち時間の妥当性については検証していない。
もっと短くても、良いかもしれない。
次回に続きます。
参考まで。