列番号を英文字に変換してRangeプロパティに使う
2つの変数、例えば i と j などで
For文を使ってセルを指定したいとき
Rangeプロパティのみ対応していて
Cells( i, j )ではできないプロパティがあるので
少し手間が必要です。
なぜなら、
Ragneプロパティは、A1形式にしか対応してないからです。
2つの変数 i、j を使ってA1形式にする必要があります。
マイクロソフトサポートオンラインで次の頁がありましたので
この頁の
ConvertToLetterファンクションプロシージャを使ってやってみます。
列番号を英文字に変換するしくみについては
この頁で具体例を挙げて説明されています。
Chr関数のアルファベットなんて使う時ないな~
なんて思ってましたが
こういうときに使うんですね。
列番号を英数字にするしくみは
要するにアルファベットは全部で26文字なので
26進数ですね。
26までは、普通にAからZまでで
27なったら1つ繰り上がってAA
28から52まではABからAZ、
53 (=26*2+1)になったらまた繰り上がってBA
…
というふうです。
次のコードは、
ConvertToLetterファンクションプロシージャを
標準モジュールにコピペしてから実行してください。
Sub macro100302a() Sheets.Add |
実行後のシートの一部
単純にセルにA1形式の文字列を入れただけです。
R1C1形式をRangeプロパティに使いたいときは
記事「R1C1形 式をA1形式に変換する」
を参考にしてください。
| 固定リンク
この記事へのコメントは終了しました。

コメント