プロが教えるわが家の防犯対策術!

VBAの初心者です。
シート1でデータを作成(K~N列)、マクロを起動し、
シート2に書き込み(A~D列)、その後シート1の内容はクリアされる。
マクロ処理後、次のデータをシート1に入力し、マクロを起動、
シート2にある前回のデータは残したまま、データが蓄積されるVBAを組みたいです。
この作業は100回ほど繰り返す作業になります。
このような仕組みを作ることは可能でしょうか?
宜しくお願い致します。

A 回答 (5件)

シート1のK~N列が添付図のような場合、


K1:N7をシート2に書き込めば良いのでしょうか。
又、その場合、K1:N7のなかに空白のセルもありますか。
例えば、添付図のK7のセルだけが空白の場合です。
「EXCELでシート1で作ったデータをシー」の回答画像5
    • good
    • 0

こんにちは、


>このような仕組みを作ることは可能でしょうか?
可能だと思います。
>次のデータをシート1に入力し
この処理も入力の値などが規則的にまとまっていたり、論理的に作成できるものであれば、これも出来ます。

ところで、
K~N列、、A~D列 これは、列すべてと言う解釈になりますが、正しい範囲でしょうか?
VBAはプログラムなので、不明確な点があると合理的であろう回答が出来ませんよ。

ご質問の使用用途はイマイチ分かりませんが、用途によっては、VBAでなくとも色々と方法があるように思います。100回繰り返すの大変かと、、

ご質問のデータを蓄積する処理はよく行う処理です。
ポイントとしては、現在使われているセルの下の行を特定できれば、取敢えず簡単です。参考になる解説サイトやこのQAサイトにも多くあると思います。
参考サイトを利用せず、QAサイトを使用して自身で理解しながら作成していくのであれば、(勧めない方法ですが、、理由は割愛)

マクロには自動記録の機能がありますので、
1回目、2回目の処理を記録して違う部分を上記の一番下の使われている行の下をはめ込めば、出来そうですね。(変更していない ?回目の処理は不要になります)

初心者で判らない点(全てかも)も多いと思いますが、目的が、学習にしても作成にしても、やりたい事の前にやった事や躓いている事などを示さないと質問、回答のキャッチボールが出来ないと思いますよ。
    • good
    • 1

こんにちは



単純なコピペ処理でできると思いますけれど、どうせ入力するのなら、直接シート2に追加入力してゆくという運用ではだめなのでしょうか?
マクロをいちいち実行する手間と、シート2の最終行を表示する手間とで、さほど違いがあるとは思えません。

それでも「いちいち最終行を表示するのが面倒‼」と言うのであれば、シート2を開いたら自動的に最終行が表示されるようにマクロで設定しておくとか…
そのマクロも嫌であるなら、シート2の最初のほうに「最終行へのリンク」を設定しておくことでも同様の効果を得ることができるでしょう。
HYPERLINK関数を利用すれば、最終行へのリンクは作成可能ですので。
    • good
    • 0
この回答へのお礼

コメントありがとうございます!
なるほど、最終行を表示させるマクロがあるんですね。
参考にさせて頂きます。

>単純なコピペ処理でできると思いますけれど、どうせ入力するのなら、直接シート2に追加入力してゆくという運用ではだめなのでしょうか?
入力→コピペ→シート1データ削除を100回繰り返すのは面倒なので、
VBAで作業したいと思っておりました。

お礼日時:2021/02/10 13:35

できると思いますけど、フォーム機能とかではダメなんでしょうか?

    • good
    • 0
この回答へのお礼

フォーム機能では私がしたいイメージと違った為、VBAで探してました。
ですが、今一度確認してみます!ありがとうございます!

お礼日時:2021/02/10 14:53

> このような仕組みを作ることは可能でしょうか?


VBAについて初心者レベルの知識があれば可能です。

> 宜しくお願い致します。
それは誰か作ってくれという話ですか?
それとも自分で作る上でのアドバイスが欲しいのでしょうか。

前者だったらお役には立てません。後者だとしたら自分でやっ
てみて分からないところを尋ねた方がいいかと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
出来るところまで自分で調べてみます!

お礼日時:2021/02/10 14:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています