【関数・プロパティ設定をつかう】

 6 文字列の文字数を取得

 7 文字列のループで1文字ずつ分解

 8 文字が入っているセルの最大行を取得

 9 文字が入っているセルの最大列を取得

10 行のループで複数の文字列を連続分解

11 列のループで複数の文字列を連続分解

12 指定した行番号と列番号のセル番地を取得

文字が入っているセルの最大列を取得

パイさん

「今回は、Excel VBA/マクロによってExcelシートの中で文字が入っているセルの最大列を取得してみましょう。

 Endプロパティの構文は、次のようになります。

Img7_3_31

 前回は、最後の行を調べるためにEnd(xlUp)プロパティをつかいましたが、

 今回は、End(xlToLeft)プロパティをつかって最後の列を調べてみます。

 End(xlToLeft)プロパティをつかって1行目の終端のセルを選択してみましょう。

 Range("IV1").End(xlToLeft).Selectと記述します。」

Sub 最大列選択_Endプロパティ_Selectメソッド()

 Range("IV1").End(xlToLeft).Select

End Sub

ソンくん

「始点のセルが『IV1』となっています。1行目はわかるのですが、IV列となっているのはなぜですか?」

パイさん

「この列名は、Excel2003までの最大列名であるIV列をつかっているだけです。IV列256列ということです。

 通常は、256列を超えるデータ列をマクロで扱うことはないので、IV列を最大列と指定しても問題はありません。

 それでは、このマクロを実行してみましょう。」

Img7_4_13

ソンくん

「セルK1が選択されました。」

パイさん

「これは、セルIV1から左方向に文字が入っているセルの終端セルを探し当てたことによるものです。

 セルIV1から左方向に文字が入っているセルを検索したとき、K1が最初にヒットしたため、

 セルK1が選択されています。」


パイさん

「それでは、End(xlToLeft)プロパティColumnプロパティを組み合わせて、

 1行目の文字が入っているセルの最大列を取得してみましょう。」

Img7_4_14_1

パイさん

Columnプロパティとは、対象セルの列番号を取得するプロパティです。

 Range(セル番地). End(xlToLeft)プロパティとColumnプロパティを組み合わせることで、

 対象行の文字が入っているセルの最大列を取得することができます。

Img7_4_14_2

 Excelの1行目の右端セルの列番号を取得して、セルA2に格納してみましょう。」

ソンくん

「早速、End(xlToLeft)プロパティColumnプロパティを組み合わせてつかってみます。

 1行目の終端セルの列番号を取得して、セルA2に格納するのだから、

 Range("A2").Value = Range("IV1").End(xlToLeft).Column

 これで良いのでしょうか。」

Sub 最大列取得_End_Columnプロパティ()

 Range("A2").Value = Range("IV1").End(xlToLeft).Column

End Sub

パイさん

「それでは、そのマクロを実行してみましょう。」

Img7_4_15

ソンくん

「Excelの1行目の文字が入っているセルの最大列番号が取得され、セルA2に『11』と書きこまれました。」

パイさん

「これはExcelの1行目の文字が入っているセルの最大列は、『11』列目ということです。」

演習:Excelの2行目の右端セルの列番号を取得して、セルA3に格納

Sub 最大列取得_End_Columnプロパティ()

 Range("A3").Value = Range("IV2"). End(xlToLeft).Column

End Sub

 

パイさん

「このように、Range(セル番地). End(xlToLeft)プロパティとColumnプロパティを組み合わせることで、

 対象行の文字が入っているセルの最大列を取得することができます。」



目 次

1. セルに文字を書きこむ
セルに文字を書きこむ

2. RangeとCellsでセルの位置を指定する
RangeとCellsでセルの位置を指定する

3. ループ処理でセルに値を書きこむ
ループ処理でセルに値を書きこむ

4. ループ処理でセルの値を読みとる
ループ処理でセルの値を読みとる

5. ループ処理でセルからセルへ値を代入する
ループ処理でセルからセルへ値を代入する

6. 条件分岐処理でセルの操作を分ける
条件分岐処理でセルの操作を分ける

7. 関数・プロパティ設定をつかう
関数・プロパティ設定をつかう

8. 他のレンジ/シート/ブックを更新する
他のレンジ/シート/ブックを更新する




YouTube

Excelマクロの実用版とデモ版


ブログ