矩形選択の使い方を理解することでVBAの列記述の考え方が変わった話
2024年04月27日
VBAを使ったプログラミングだと、出力にシートを使うことがほとんど。
列ごとにタイトルを決めて、情報を集めていくけど
列の順番って結構変更したくなることが多い。
今回は、テキストエディタを活用することで、
列番号を変更する方法を紹介。
列ごとにタイトルを決めて、情報を集めていくけど
列の順番って結構変更したくなることが多い。
今回は、テキストエディタを活用することで、
列番号を変更する方法を紹介。
例えば以下のようにフォルダ列を追加するパターンで困る。
2列目にフォルダを入れたいけど、3列目以降の列番号を打ち直しになる。
Cells(Gyo, 1) = "No."
Cells(Gyo, 2) = "名前"
Cells(Gyo, 3) = "更新日時"
Cells(Gyo, 4) = "種類"
Cells(Gyo, 5) = "サイズ"
Cells(Gyo, 6) = "フォルダ"
対策例としてはこれ。定義した順に列が決まる。けど、1度きりのプログラムにこれをやるのはめんどいし、
余計な変数が増えて可読性が下がる。
dim col as long
col = col + 1 : Cells(Gyo, col) = "No."
col = col + 1 : Cells(Gyo, col) = "名前"
col = col + 1 : Cells(Gyo, col) = "更新日時"
col = col + 1 : Cells(Gyo, col) = "種類"
col = col + 1 : Cells(Gyo, col) = "サイズ"
col = col + 1 : Cells(Gyo, col) = "フォルダ"
結論としては、最初に書いたベタ打ちでOKという話。テキストエディタの矩形選択機能を使うと、
選択行の指定文字目だけをコピー、ペーストができる。
これを活用すれば一発で、列番号を打ち直せる。
直している途中に割込みが入ってバグを生むなんてこともないし、
プログラミング以外でも応用範囲は広いのでぜひ活用したい。
otbeditの編集メニューの中に矩形選択ってのがある。
けど、デフォルトでCtrl+Bが割り当てられているのでこれを使う。
Ctrl+Bで矩形選択モードに切り替えて、コピー対象範囲を選択し、コピーする。
範囲選択は、マウスでもキーボードでもOK。
再度、Ctrl+Bで矩形選択モードに切り替えて、貼り付け対象範囲を選択し、ペーストする。
PR
Comment