忍者ブログ

矩形選択の使い方を理解することで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
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字