ExcelVBAで列の非表示を自由自在2~コードの変更①

Pocket

マクロから取得したコードを変更します。

Sub Macro1()
Range(Cells(1, Cells(1, 10).Value), Cells(1, Cells(1, 11).Value)).Select
Selection.EntireColumn.Hidden = True
End Sub

ここでこのブログを通じて初めてRangeが出てきました。

これは範囲を指定する関数で、
簡単な例ですと
Sub 範囲指定()
Range(“A5, C10”).Select
End Sub
この場合A5からC10の範囲を指定します。
2607111

いつもはCells()と単一のセルばかり指定してきましたが、今回は範囲で指定します。

Range(Cells(1, Cells(1, 10).Value), Cells(1, Cells(1, 11).Value))
のCells(1, Cells(1, 10).Value)は始点です。

Cells(1, 10).Value→J1となり、J1には3が入力されているので、今回の始点は
Cells(1,3)つまり、C1が始点となります。

同様に終点は、
Cells(1, 11).Value→K1となり、K1には4が入力されているので、今回の始点は
Cells(1,4)つまり、D1が終点となります。

Range(Cells(1, Cells(1, 10).Value), Cells(1, Cells(1, 11).Value))→Range(“C1,D1”)となります。

この二つのセルを選択し、
Selection.EntireColumn.Hidden = True
選択したセルの全行の非表示をTrueにします。

マクロの実行結果です。
2607112

今朝は出勤前にゴルフの打ちっ放しに。
いつもコンペ前に1,2回しか練習しないので、スコアも散々なんですが、
再来週のコンペはもう少し何とかしたいので、朝練をあと3回は
やりたいです。

本日も最後までお読みいただきありがとうございます。