教えてください。
自分はエクセル2016を使っているのですが、今大量のデータを整理しなくてはいけなくて困っています。1万以上の行数があるエクセルデータから複数の行をコピーしたいのですが、これを手作業でやるには時間がかかる上に、ミスをすると最初からになってしまうためどうにかしたいです。
いくらか調べてみましたが、VBAを使用するとよいという事は分かったのですがうまく理解できませんでした。
データは画像の通りでメインのデータはシート2にあるデータです。
面倒な質問をして申し訳ございません。
お判りになる方いましたら教えていただけませんでしょうか。
よろしくお願いします。
No.2
- 回答日時:
複数行ということは抽出する対象の行のデータには一定の条件があるのですよね?
その条件がわからないと回答のしようがありません。
抽出条件が決まっているならVBAを使わなくてもオートフィルタでできそうな気がしますが、オートフィルタは試しましたか?
No.3
- 回答日時:
その複数の行(コピー対象)は、どうやって決まるのですか?
規則性があるのですか?
規則性があるとか、事前にパターンが決まっているとか
そう言うものであれば、マクロ等の活用も有効ですが
規則性が無くその都度、操作する人が目で見て決まるような場合にはいまいちでしょう
私なら
規則性が全くないようなケースであれば、A列前に一列追加して仮にマーク列のようにします
で、目で確認しながらコピー対象なら、マーク列に何か印を入力する
で全体の確認が終了した時点で、フィルター機能を使ってマーク列に印の有るモノだけを抽出してコピーするとかするでしょう
※この部分をマクロ化するとかなら容易に作成可能
結局、対象の選択の規則性次第ですね
ある一定の数値としての規則性はないのですが、500行目と800行目のデータを新しいシートにコピーするという風に考えてます。
あと同じようなデータがたくさんあるため、1列追加するような操作は時間がかかるのと、このデータを他にも使用するのでなるべく列の追加などはしたくありません
No.4ベストアンサー
- 回答日時:
固定の2行だけを新しいシートに、でいいのですね。
Sub Sample()
Dim sh1 As Worksheet, sh2 As Worksheet
Set sh1 = Worksheets("Sheet2")
Set sh2 = Worksheets.Add
sh1.Rows("500").Copy sh2.Rows("1")
sh1.Rows("800”).Copy sh2.Rows("2")
End Sub
No.5
- 回答日時:
>500行目と800行目のデータを新しいシートにコピーするという風に考えてます。
ならさぁ
「ミスをすると最初からになってしまうためどうにかしたいです。」
ミスする余地がほとんどないし、万が一ミスしてもやり直しなんてすぐじゃん
なんか最初の話と状況が違ってない?
No.6
- 回答日時:
シート名が間違っていませんか?
貴方がシート2と書いたものはSheet2としています。
Set sh1 = Worksheets("Sheet2")
sh1.Rows("500").Copy sh2.Rows("1")
sh1.Rows("800”).Copy sh2.Rows("2")
このコードでSheet2の1行目と2行目が新規シートにコピーするはずありません。
コピー先は1行目と2行目にしてあります。
新規シート(白紙の状態)これでいいのではないですか?
どうもシート名の勘違いのように思います。
もしかして別ブックにしたいとか・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) 更新前と更新後の差分をVBAを使って抜き出したい 5 2023/06/01 14:35
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Visual Basic(VBA) エクセル 2つの列にある値の完全一致を抜き出すVBA 15 2022/12/15 03:22
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
トランジスタの選び方
-
excelの不要な行の削除ができな...
-
EXCELで2つのファイルから重複...
-
エクセルで名簿を50音で切り分ける
-
エクセルVBAで、特定文字から始...
-
EXCEL 複数行のデータを1行にま...
-
Googleスプレッドシートフィル...
-
オートフィルタで抽出したデー...
-
他のシートの一番下の行データ...
-
電子部品のデータシートの探し方
-
Excelで日付変更ごとに、自動的...
-
EXCELのシートの保護機能につい...
-
(VBAにて)日付でデータを抽出す...
-
時間帯の重複を除いた集計について
-
【Excel】マクロでグラフ系列に...
-
ファンモータが作動しない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
EXCELで2つのファイルから重複...
-
EXCEL 複数行のデータを1行にま...
-
他のシートの一番下の行データ...
-
オートフィルタで抽出したデー...
-
エクセルのカメラ機能について
-
(VBAにて)日付でデータを抽出す...
-
エクセルで名簿を50音で切り分ける
-
別々のシートの表をピボットテ...
-
Excel 売上管理シートに入力し...
-
Excelマクロ 差分抽出の方法が...
-
EXCEL の表を一行ずつシートに...
-
エクセルVBAで、特定文字から始...
おすすめ情報
例として500行目と800行目といっただけで、実際には複数の行をコピーしたいと思っています。
言葉足らずでした。申し訳ございません。
わざわざありがとうございます。
試してみたのですが、500行目と800行目のデータではなく1行目と2行目のデータがコピーされてしまいました。
一応元データとしましては、シート1~1(50)までのA列にデータがあり、シート2にそれらのデータを=Sheet1!A1、='Sheet1 (2)'!A1 というようにまとめています。
このまとめたデータが悪さをしているのかわからないのですがうまくいきませんでした。