- ベストアンサー
EXCEL VBA マクロ 別シートの空白行へのコピー
- エクセルのVBAマクロを使用して、Sheet2のデータをSheet1の空白行にコピーする方法を教えてください。
- 質問者は、BVAを使用してSheet1のデータをコピーすることはできたが、Sheet2のA列の空白行にペーストする方法がわからない状況です。
- Sheet2は保護されているが、貼り付けたい場所はロックされていないため、Ctr+Gのセル選択は使えません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> Sheet1のA列の空白行に貼り付けするという 「空白行」の定義を詳しく! 「コピーまでできていて貼り付けができない」だけなら、 いったん別ブックで、コピペを「マクロの記録」でVBAのコード作成するのも手だし。 実は「なさりたいこと」が、「飛び飛びの行のデータをまとめたい」なら、 セルA1をクリック、右クリックの「形式を選択して貼り付け-値」で 対応できることなのかも。 「途中の空白行を除去したい」なら、 1)ある一列に連番振って、 2)データがある列でソートして、 3)空白行となる1)のデータをひとまとめに消して、 4)1)で再ソートして、 5)1)を消す もできるだろうし。
その他の回答 (2)
- myRange
- ベストアンサー率71% (339/472)
>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 -------------------------------------------------- 以上です。
お礼
ありがとうございます! おっしゃるとおり・・焦って書いたので・・すみません。 明日朝イチで試してみます!ありがとうございます!
- bin-chan
- ベストアンサー率33% (1403/4213)
このカテゴリでも、各種検索サイトでもキーワード[EXCEL VBA 最終行]でサンプルが拾えますよ。 一度、ご自身で試すとよいかも。 1)新規ブックを用意してセルA1・セルA2になにか適当なデータを入力。 2)カーソルをセルA1に置く 3)マクロの記録開始 4)Ctrl+↓キー2回押下、Ctrl+↑キー1回押下、↓キー1回押下。 5)マクロの記録停止。 2)は「毎回同じ箇所から始める」です。 5)で、最終行のひとつ下(=空白行)です。
お礼
ありがとうございます! 試してみます! EXCEL VBA 最終行 で検索してみますね。
補足
回答ありがとうございます。 空白行の定義、答えになっているかどうか不安ですが、 Sheet2で入力していったものをSheet1のA列の空白行へペーストして、過去のものにどんどん蓄積していくイメージです。 sheet2にはドロップダウンリストとvlookが設定されていて、入力が簡単なようにしてあります。入力が終わったら、確定ボタンを押して値に変換しコピー(ここまではできています)、sheet1のA列の空白行へペースト(これができないんです・・) ペースト後、Sheet2のデータはマクロで書式を残してクリア。翌日また入力してSheet1の空白行にペーストして蓄積していく感じです。 Sheet2には空白行はない予定です。 >「コピーまでできていて貼り付けができない」だけなら、いったん別ブックで、コピペを「マクロの記録」でVBAのコード作成するのも手だし。 ここまでは可能なのですが、空白行を探して貼り付けというのができないでいます。 すみませんが、よろしくお願いいたします。