前提・実現したいこと
当方VBA初心者です。
イメージとしては、発注書のようなものの履歴を表にして残したいです。
Aのシートに入力し、ボタンを押すとその内容が別シートの表にコピーされる。
入力するシートは、都度使用され、表シートには最終行から随時追加されるかたちにしたいと考えてます。
入力シートのA2:D2とA5:D8に入力する欄があり、A2:D2を表シートのA:Dに、A5:D8を表シートのE:Hに
ボタンを押すと貼り付けられるようにしたいです。
2回目以降に表に追加する時、空白のセルがあると最終行になって上書きされてしまうので
空白のセルには上の行をコピーして埋めたいと考えました。
該当のソースコード
途中までしかありませんが…
空白のセルを埋める部分を調べてみましたが、どうにもうまくいきませんでした。
Sub rireki() '発注書の内容をコピー Sheets("入力").Range("A2:D2").Copy Sheets("履歴表").Select '最終行の1個下のセルを取得 Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select '発注書の内容を値のみペースト Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False '発注書の内容をコピー Sheets("入力").Range("A5:D8").Copy Sheets("履歴表").Select '最終行の1個下のセルを取得 Cells(Rows.Count, 5).End(xlUp).Offset(1, 0).Select '発注書の内容を値のみペースト Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
補足情報
入力シートの形は、変えれないですが、表は後から見てソートしやすいのがベターですが、とりあえず表ができるだけでも助かります。
Excel2016です。
拙い文章で申し訳ありません。
足りない情報などございましたらご教示いただけると幸いです。
まずご自身で作成されたコードを教えてください。
やりたいことのイメージは分かりましたが、課題は何でしょうか?
「当方VBA初心者です。」とありますが、どのくらいコードは書けるのでしょうか?
早速のご回答ありがとうございます。
申し訳ありませんでした。書いてる途中で投稿してしまいました。。
更新して改めて投稿いたしました。
>meg_さん
更新しました。伝わりますでしょうか。。
コードはほとんどネットで調べながら切り貼りしています。。
・上記コードは動作しますか?
・「どうにもうまくいきませんでした」とありますが具体的に何がどう駄目だったのでしょうか?
画像は「画像の挿入」で貼れませんか?やはりシートのイメージ画像があった方が検証しやすいです。
もう一度更新しなおしたら画像は貼れました。
コードは動作します。エラーは特にありません。
・「どうにもうまくいきませんでした」
⇒調べてみたのですが、私がやりたいことがみつかりませんでした。
回答2件
あなたの回答
tips
プレビュー