- ベストアンサー
エクセルのVBAで教えてください(初心者)
シート1とシート2があり、シート1には、データが何行か(不特定)あり、シート2の方に必要な列(下記の場合はA、D、E)だけ、コピーをする方法を教えてください。宜しくお願いします。 シート1 (何行あるかわからない) A B C D E 1 ○ ◆ ◇ × ● 2 △ ◎ △ ▲ X 3 ▽ 1 5 V a 4 2 ¥ ■ 〒 ← ↓ 10 ★ □ ▼ % ☆ シート2(B.C列は不要) A D E 1 ○ × ● 2 △ ▲ X 3 ▽ V a 4 2 〒 ← ↓ 10 ★ % ☆
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
単純に・・・ Sub まくろ() Range("A:A,D:E").Select Selection.Copy Sheets("Sheet2").Select ActiveSheet.Paste End Sub こんなんでどうですか? 単純すぎでしたら補足よろしく
その他の回答 (4)
- urdapple
- ベストアンサー率30% (9/30)
あ、ごめんなさい。 ANo.4のurdappleですが、ANo.1のYeti21さんと答えかぶってました( ̄▽ ̄;)<めんぼくね・・・
- urdapple
- ベストアンサー率30% (9/30)
Sub まっくろ() Sheets("Sheet1").Range("A:A,D:E").Copy Sheets("Sheet2").Paste End Sub もっと簡単にこれじゃだめ? ユーザに動きを見せる必要が無ければ、selectする必要はないっすよ。
エクセルは操作したことがない門外漢です。 が、過去の回答を見ているとマクロの記録なる便利な機能があるようです。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2006/9/29 ユーザー名 : xxxxxx ' ' Range("A1:A38").Select Selection.Copy Sheets("Sheet2").Select ActiveSheet.Paste End Sub 例えば、A1~A38をシート2にコピーする操作を記録したマクロはこのようです。 これをチクッと弄(いじ)れば、何とかなりそうだと思います。
お礼
ありがとうございます。複数の列を指定するとなると、少しいじくる必要がありますね。初心者ですのでその辺も教えていただければ助かりますね。
- Yeti21
- ベストアンサー率47% (396/830)
簡単な一例ですので、応用が必要です。 Sheets("Sheet1").Range("A:A,D:D,E:E").Copy Sheets("Sheet2").Paste
お礼
早速のご回答、ありがとうございました。確かに簡単なコードですね。これで十分ですね。
お礼
あっという間にシートの動きもあってよかったと思います。ありがとうございました。