エクセルのセル位置を変数で動的に指定したい。

いつもお世話になっております。

Write Cellにおいて、書き込むセル位置を変数で動的に指定したいと思います。
すなわち、
“P”+rowIndex.ToString
とrowはrowIndex変数で可変できるのですが、
"P"のcolumnは、どうやったら可変にできるのでしょうか?

宜しくお願いします。

こんにちは

26列目まででしたら
chr(65+rowIndex)
のような形で可能です。(上記はrowIndex=0の時"A"になります)
27列目以上の場合は、上記をベースに剰余などを使って表現します。

Yoichiさま、
アドバイスありがとうございます。

150 columnを一気に書く必要があり
1文字と2文字の混在が面倒なので、
AAから書くことにしました。

教えて頂いたスクリプトを参考に以下の様にしました。
chr(Convert.ToInt32(Math.Floor(columnIndex/26))+65)+chr(Convert.ToInt32(columnIndex Mod 26)+65)+rowIndex.ToString
#スクリプトが厄介ですね。最初Excelのノリで書いたら、見事にエラーで蹴られました。
動作も確認でき、任意の位置のセルに書ける様になりました。

今後とも宜しくお願いします。

1 Like

こんにちは

以下参考レベルですが、整数除算演算子 \ を使うともう少し短く記述できます。

chr(columnIndex \ 26 + 65) + chr(columnIndex Mod 26 + 65) + rowIndex.ToString