下記の質問をいただく
Accessからエクセルのテンプレートへ1シート10件ごとに出力させようとしています。
件数も毎回変わります。
件数が増えるごとにテンプレートシートをコピーして増やします。(依頼書1、依頼書2・・・)「シートへデータを転記( http://www.ken3.org/vba/backno/vba100.html )」を参考になんとかシートごとに出力はできたのですが、出力開始セルがA1からでないとうまく出力できません。テンプレートなので貼付け開始セルをI21からセットしたいのですが、うまくいきません。このプログラムで貼付け開始セルの指定はどうしたらいいのか途方に暮れています。
参考になるページなどありましたら、教えていただけたら幸いです。よろしくお願いします。
で、返信を作成する。
こんにちは。
お急ぎのところ、返信遅れてすみません。
秒で動く時代、もう既に解決済みかなぁと思いつつ
※校長先生なみに挨拶が長いんだよ・・・
>出力開始セルがA1からでないとうまく出力できません。
>テンプレートなので貼付け開始セルをI21からセットしたいのですが、
貼り付け行、場所は、変数yとxが怪しいので
http://www.ken3.org/vba/backno/vba100.html
のコードなら
objEXCEL.Sheets(strTNAME).Select 'シート名を指定して選択 'データセット位置を探す(馬鹿っぽく(笑)) y = 1 While objEXCEL.Cells(y, 1) <> "" '空白以外の時まわす(空白までループ) y = y + 1 '次の行にする Wend 'データをセットする x = 1 For n = 0 To rs.Fields.Count - 1 'フィールドの数分ループする objEXCEL.Cells(y, x) = rs.Fields(n).Value 'n番目のフィールド値をセット x = x + 1 '列を+1する(次の列へ) Next n
ここの、
y=1 が 一行目から下を探っているので、ここを21から調べるにする
x=1が列なので、もしI列からにするなら、
abcdefghi
123456789
なので、x=9 'Iは番目なので
に変更すると、
それなりに動作するともいます。
y=1,x=1を y=21,x=9 に変えて、テストしてみてください。
解決の糸口となれば幸いです。 三流プログラマー Ken3