Excel範囲を探す-数字を指定②

Topicsが閉じてしまいましたのでこちらで失礼いたします。
以前ご回答いただいた(Excel範囲を探す-数字を指定)内容で再度お問い合わせさせてください。

お勧めいただいたアクティビティでは、
表全体を範囲を書き込みで書き込む
範囲を読み込み
シート名-実績表 範囲-C4:P20
出力-dt

代入
dt.Rows(1)(“2月”)=金額

範囲に書き込み
シート名-実績表 範囲-C4
dt
読み込んだExcelデータをdtに入れてそのデータを同じ範囲のExcelに書き込む

この対応で実施しましたが書き込むExcelのセルには空白の箇所があります。
このExcelのレイアウトを変更することは許可されていません。
dtに入れたデータをそのままExcelに書き込むと、空白セルの箇所が空白からcolumn1
(添付画像のB2セル)のように書き込まれてしまいます。

対象月のある列を探して、A商品の4行目
というふうに指定したいのですが難しいでしょうか。
この4行目は変わることがありません。

こんにちは

前回トピックで以下の通り回答しました。このうち後者にすればColumn1は書き込まれないと思います。上記ですとB3を始点にして、ヘッダー無しで書き込めば良いかと思います。

範囲書き込みの場合、書き込み先の指定は範囲ではなく、開始アドレスかと思いますので
ヘッダー付きで書き込む場合は、“C4”
ヘッダーなしで書き込む場合は、“C5”
になるかと思います。

1 Like

Yoichiさん
こんにちは。追加問い合わせに対応いただき有難うございます。

2列目にある「月」も範囲として入れておかないと書き込みできないので
A商品:A2:N4
B商品:A6:N8
と別々でdtに入れて
データを書き込み
A商品の場合なら、開始セル:B3
以下の式でデータ書き込みとしたいと思っています。
dt.Rows(1)(“2月”)=金額

もし出来ればなのですが、
Rows(1)の部分を可変にできないかと考えています。
上記でいくとデータを書き込む4行目.8行目のこの「行」をユーザーに指定してもらうようにしたいです。
今後この実績表のレイアウトが変更になることも考慮し、行が変更になることを想定しているためです。
行の指定はconfigファイル等で値を持たせるべきでしょうか?
その場合表全体(A1視点で見る)で見ると4行目だが、
A商品のdtでは2行目になると思います。

行の認識ずれが起こりそうなので、表全体を読み込んでとしたいのですが、
実際の実績表はこのようにきれいになっておらず、
5.6行目の間に1行空白、9.10行目にも空白行があり、表全体を読み込むべきではないと思うのですが、いかがでしょうか。
もし難しいようであれば、ご提案いただいた内容で作成し、実績表が変更になった際に修正をすればいいかなと思っております。