• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA マクロ 別シートの空白行へのコピー)

EXCEL VBA マクロ 別シートの空白行へのコピー

このQ&Aのポイント
  • エクセルのVBAマクロを使用して、Sheet2のデータをSheet1の空白行にコピーする方法を教えてください。
  • 質問者は、BVAを使用してSheet1のデータをコピーすることはできたが、Sheet2のA列の空白行にペーストする方法がわからない状況です。
  • Sheet2は保護されているが、貼り付けたい場所はロックされていないため、Ctr+Gのセル選択は使えません。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> Sheet1のA列の空白行に貼り付けするという 「空白行」の定義を詳しく! 「コピーまでできていて貼り付けができない」だけなら、 いったん別ブックで、コピペを「マクロの記録」でVBAのコード作成するのも手だし。 実は「なさりたいこと」が、「飛び飛びの行のデータをまとめたい」なら、 セルA1をクリック、右クリックの「形式を選択して貼り付け-値」で 対応できることなのかも。 「途中の空白行を除去したい」なら、 1)ある一列に連番振って、 2)データがある列でソートして、 3)空白行となる1)のデータをひとまとめに消して、 4)1)で再ソートして、 5)1)を消す もできるだろうし。

monnmonn20
質問者

補足

回答ありがとうございます。 空白行の定義、答えになっているかどうか不安ですが、 Sheet2で入力していったものをSheet1のA列の空白行へペーストして、過去のものにどんどん蓄積していくイメージです。 sheet2にはドロップダウンリストとvlookが設定されていて、入力が簡単なようにしてあります。入力が終わったら、確定ボタンを押して値に変換しコピー(ここまではできています)、sheet1のA列の空白行へペースト(これができないんです・・) ペースト後、Sheet2のデータはマクロで書式を残してクリア。翌日また入力してSheet1の空白行にペーストして蓄積していく感じです。 Sheet2には空白行はない予定です。 >「コピーまでできていて貼り付けができない」だけなら、いったん別ブックで、コピペを「マクロの記録」でVBAのコード作成するのも手だし。 ここまでは可能なのですが、空白行を探して貼り付けというのができないでいます。 すみませんが、よろしくお願いいたします。

その他の回答 (2)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

>Sheet2にあるデータをSheet1のA列の空白行に貼り付けするというマクロを組みたいです。 ●これでは、Sheet2 を Sheet1 へコピーとなってるが、 >BVAを使って、Sheet1の任意のデータ(データが入っているところのみ)をコピーすることまではできましたが、Sheet2へのA列空白行へペーストができないでいます。 ●ここでは、Sheet1 を Sheet2 へコピーとなっている ●また、補足では、Sheet2 を Sheet1 へコピーとなってる 質問するときは投稿前に何度もチェックするよう心掛けませう。 と、ま、それは置いといて、 Sheet2 → Sheet1の空白行へ、値のみコピーする場合は 方法はいくつもありますが、、、 -------------------------------------------------- Sheets("Sheet2").Range("A1").CurrentRegion.Copy Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial xlPasteValues Application.CutCopyMode = False -------------------------------------------------- 以上です。

monnmonn20
質問者

お礼

ありがとうございます! おっしゃるとおり・・焦って書いたので・・すみません。 明日朝イチで試してみます!ありがとうございます!

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

このカテゴリでも、各種検索サイトでもキーワード[EXCEL VBA 最終行]でサンプルが拾えますよ。 一度、ご自身で試すとよいかも。 1)新規ブックを用意してセルA1・セルA2になにか適当なデータを入力。 2)カーソルをセルA1に置く 3)マクロの記録開始 4)Ctrl+↓キー2回押下、Ctrl+↑キー1回押下、↓キー1回押下。 5)マクロの記録停止。 2)は「毎回同じ箇所から始める」です。 5)で、最終行のひとつ下(=空白行)です。

monnmonn20
質問者

お礼

ありがとうございます! 試してみます! EXCEL VBA 最終行 で検索してみますね。