いつもお世話になっております。
Write Cellにおいて、書き込むセル位置を変数で動的に指定したいと思います。
すなわち、
“P”+rowIndex.ToString
とrowはrowIndex変数で可変できるのですが、
"P"のcolumnは、どうやったら可変にできるのでしょうか?
宜しくお願いします。
いつもお世話になっております。
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のノリで書いたら、見事にエラーで蹴られました。
動作も確認でき、任意の位置のセルに書ける様になりました。
今後とも宜しくお願いします。
こんにちは
以下参考レベルですが、整数除算演算子 \
を使うともう少し短く記述できます。
chr(columnIndex \ 26 + 65) + chr(columnIndex Mod 26 + 65) + rowIndex.ToString