列数が変動する場合のオートフィルについて

添付のような表があった場合、
C3に入力されている数式を縦方向と横方向にオートフィルさせたいです。
C3からC12の縦方向のオートフィルはできたのですが、C3からH3の横方向へのオートフィルの範囲の設定の仕方がわからないのと、
青で囲っている範囲にオートフィルさせる場合、範囲指定だけで可能かどうかを教えていただきたいです。
何か他にいい方法等アドバイス頂けますと大変助かります。

ちなみに、品番の行数と
2行目のA〜Fの列数が変動するため、
縦に対しては まず代入で
IntKatashiki=dtの変数名.Rows.Countを設定し、
範囲をオートフィルで
元の範囲に"C2"
オートフィルの範囲に
“C2:C” + IntKatashiki.ToStringを設定したらできました。

こんにちは

範囲読み込みで、範囲を自動的に取得している場合、
DataTableの列数は
dtの変数名.Columns.Count()
で取得できるので、これをもとにZ列までなら
chr(64+colCount)
で列の文字が返ってくるのでこれを使えばOKです。
(例の場合、8行あるので、chr(72)=→"H"になります)

AA列以上になる可能性がある場合は、除算および剰余演算を組み合わせると実現できます。

ご回答ありがとうございます!

chr関数はオートフィルの範囲に入力すれば良いでしょうか?
初心者で低レベルな質問ばかりしてしまってすみません、、、

こんにちは

上記の例に倣うと、範囲に以下を入れる形になると思います。

"C2:"+ chr(64+colCount) + IntKatashiki.ToString

こんにちは!
ありがとうございます。

下記のように設定しましたが、
止まってしまいます…(T_T)

(実際の画面なので、例とは変数名やセル名が異なります。)

こんにちは

どんなエラーが出ていますでしょうか?

こんにちは。

このようなエラーが出ています。

こんにちは

範囲をオートフィルアクティビティの挙動を確認しましたが、
一度のオートフィルでは縦方向または横方向にしかフィルできないようです。
(この点誤認していました。すみません)

そのため、例えばB2のセルを最終的にB2:H9にフィルする場合、
まずB2をB2:B9の範囲にフィルしてから
次に
B2:B9の範囲をB2:H9のフィルするとしなければならないようです。
(合計2つの範囲をオートフィルアクティビティが必要の様です。)

上記を踏まえて、最終行、最終列を動的に取得した上で、ワークフローを
見直しいただけないでしょうか?

こんにちは(^^)

ありがとうございます!
やってみます!

1 Like