|
▼かみちゃん さん:
かみちゃん様
昨日は何度も回答をいただき、希望の持てる言葉をありがとうございました。
残念ながら、完成には至っていなかったので、再度質問をさせていただきます。
よろしくお願いいたします。
今朝(9日7:30ころ)質問を返信して出勤したはずが、帰ってきてPCチェックしたところ、記録が無くちょっと落ち込みました(悲)
私が質問を読み違えていました。
66201のかみちゃん様からのの返信で
>入力後に以下のコードを実行すると、
>その時点のアクティブシートのC列の値が入っている最終行のC列〜G列をコピーして
>「一覧」シートのA列の値が入っている最終行の次の行に貼り付けします。
>したいことはそういうことではないのでしょうか?
>↑おっしゃる通りです。
すみません。ここで違う方向へ行ってしまいました。
「>その時点のアクティブシートのというところ」を見落としていました。
残念ながら「おっしゃる通り」ではありませんでした。
一番初めの“66198問”に戻ってしまうのですが、
したいことは、
・支店のどこかのシートに新たな1行加わると全データシートの最終行にも転記されるようにする。
(↑ここは1行とは限りませんね。1行入力後にエンターキーが押されると転記される、関数のイメージで書いてしまいました。VBAでは無理ですよね(笑))
・全データ(一覧)シートには単純にデータが入力順に追記され、並び替えや抽出はない。
→全データ(一覧)シートは最終行に新たに入力された行が追加されていく。
・シートによっては、データの無いシート(項目のみ)もあり、後にデータが入力される可能性がある。
です
>Sub 転記()
>End Sub
>は、確認されていますか?
>更新行ではなくアクティブシートの最終行が転記されます
↑昨日(8日)、確認しました。エラーもありませんでした。
>すべてのシートのすべてのデータを「一覧」シートにまとめたいということですか?
>それとも、更新行だけを「一覧」シートに追加したいのでしょうか?
↑まとめたいですが、単にまとめるというのは正しくない表現でしょう。
一覧シートにはすでに4月から7月までのデータが入力されています。
そのデータ一覧の最終行に引き続いて、更新された行が転記されるようにしたいのです。
データ一覧シートには、常に最新の全履歴が転記されているシートにする。
そのような訳でループをかけるコードが必要かと思いこんでおりました。
かつ、可能ならばsheet1”札幌” sheet2”仙台”・・・との順番で転記したいです。
>「更新行」というのは、最終行ではない場合もあるのでしょうか?
↑最終行“のみ”ではありません。各支店シートに一度に数行です。
実際は最終行は1行がほとんどですが、可能性としては20行までくらいあります。
>その場合、更新行の認識は、どのようにすればいいのでしょうか?
>アクティブセルのある行でいいですか?
>アクティブシートの最終行が更新行ではない場合は、更新行を何をもって認識
>させるのかが必要です。
↑ここが、私にはわからないところです。
質問者がわからないのでは困ってしまわれると思いますが、
アクティブセルのある行だけでは済まされないことはわかるのですが、
どう、定義してよいものか、どう調べればよいのかがわからなく、
ひたすら???で終わってしまっているところです。
また、長々書いてしまいましたがよろしくお願いいたします。
|
|