○第24回目 セルの範囲をマクロ処理中に指定する
セルの範囲の指定について、通常は指定してからマクロを動かすことで事足りるのですが、2つ以上あるとこの手が使えません。
その場合は…、
といって最初からこのことがわかっていたわけではなく、人のマクロに関する解説を見ていて、最近気がついたことです。
このやり方はとても便利です。
sub a19セル範囲の設定
Dim セル範囲 As Range
'セル範囲の設定
ActiveCell.Select
bbb = Selection.Address '初期値として与えるため
Set セル範囲 = Application.InputBox(Prompt:="セル範囲を指定してください", Default:=bbb, Left:=10, Top:=2, Type:=8)
AAA = セル範囲.Address
MsgBox ("設定範囲は " & AAA & " です")
end sub
注意点は、Default:=bbb, Left:=10, Top:=2, Type:=8の部分になります。
Default:=bbb ここでは、アクティブセルの座標を初期値として設定しています。ですから、カーソルをあらかじめ指定範囲の先頭においてください。
Left:=10, Top:=2 はこのボックスの表示位置の調整です
Type:=8 セル参照ということです。
【参照】
http://members.at.infoseek.co.jp/t_shun/My_Page/Excel-VBA/vba_page22.htm#InputBox%20%83%81%83\%83b%83h
キーボードでの範囲指定は、Shiftを押しながら矢印キーを動かします。このマクロでは、結果が表示できますので、色々試してみてください。
よく使う操作で、コピーがありますが、今回のマクロを応用すると操作が簡単になります。(全部貼り付けの場合は、形式の設定がないので、通常のキーボードによる操作のほうが早いです)
コピーの場合、複写元と、複写先の二箇所のセルを指定することになります。
その範囲をこの命令を二回使い、セルを指定し、コピーの時の操作マクロの記録を組み合わせれば簡単につくれます(貼付けの機能ごとに作る必要がありますが、よく使う、"値と数値の書式形式コピー"と"数式と数値の書式形式コピー"ぐらいつくっておくといいでしょう。よく使うマクロとなりますのでショートカットを設定し、ショートカットで動かしてください)。
範囲を指定してマクロを動かし、二度目だけを今回のやり方にするほうが、操作が早そうです。いろいろ工夫があるところですね。

0 件のコメント:
コメントを投稿