私は毎月30枚のシートを持っています。それぞれに異なるデータを持つ同じ列があります(A1:A30の範囲)。だから、私の仕事は、すべてのシートからこの範囲をコピーして、隣接する異なる列の1つのマスターシートにコピーすることです。 A1:A30、B1:B30、C1:C30などがある。特定の範囲のセルを30枚から1枚に自動コピーする方法。
0
A
答えて
0
これは、コピーのための一般的なコードでは、範囲:
Sub Copy_ranges()
Dim NS As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Set NS = Sheets.Add
i = 1
refRange = "A1:D10"
For Each sht In Worksheets
If (sht.Name <> NS.Name) Then
Set SheetRange = sht.Range(Right(refRange, Len(refRange) - InStr(refRange, "!")))
SheetRange.Copy
NS.Cells(i, 1).Value = sht.Name
NS.Cells(i, 2).PasteSpecial xlPasteValues
i = i + SheetRange.Rows.Count
End If
Next sht
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
あなたは、あなたのニーズに合わせて、あなたの範囲とペーストサイクルにrefRangeを変更することがあります。
Sub Copy_ranges()
Dim NS As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Set NS = Sheets.Add
i = 1
refRange = "A1:A10"
For Each sht In Worksheets
If (sht.Name <> NS.Name) Then
Set SheetRange = sht.Range(Right(refRange, Len(refRange) - InStr(refRange, "!")))
SheetRange.Copy
NS.Cells(1, i).Value = sht.Name
NS.Cells(2, i).PasteSpecial xlPasteValues
i = i + SheetRange.Columns.Count
End If
Next sht
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
+0
アレクセイ、これは私が欲しいものです、ありがとう!しかし、もう1つの問題が現れました。コピーされたデータで新しいシートが作成されると、すべてのデータは日付形式になります。フォーマットを一般化するにはどうしたらいいですか? – Nurzhan
1
ダウンロードして、このアドインをインストールします。
あなたが何をしているかのあなたのための仕事だけでなく、他の多くの変形を行います https://www.rondebruin.nl/win/addins/rdbmerge.htm。
関連する問題
- 1. 複数のシートと特定の範囲を1枚のシートにメールする
- 2. もう1枚の範囲を最後に貼る
- 3. 1枚のシートから別のシートにチャートをコピーする
- 4. はそれぞれから特定のセルの値を抽出するため、30枚優れパイソン
- 5. 特定のセルの範囲に移動
- 6. 移動し1枚から5列
- 7. VBA - 特定の値を1枚のシートの列から次のシートの行にコピーする
- 8. 範囲から範囲内のセルを、別のセルのテキスト値である範囲にコピーする
- 9. 1年間に1枚のExcelシートをコピーする
- 10. ループスルー範囲、一致するコピーの特定のセルの場合
- 11. 5枚のワークシートを含むワークブックAから4枚のワークシートをコピー
- 12. 1枚から別のシートへの正確なコピー
- 13. 1枚のシートから別のシートにデータをコピーするには
- 14. セルの範囲にセルの値をコピー
- 15. 1枚目から2枚目までのデータを参照する
- 16. 1枚のシートに静的範囲をコピーし、セル内の1つの値に基づいて別のシートのダイナミックレンジに貼り付けます
- 17. 複数のシートから1枚のマスターシートに特定のデータを転送
- 18. シートをループして特定の範囲をコピーする方法
- 19. UIB-カルーセル画像の配列から1枚のスライドに2枚の画像
- 20. 条件式で1枚のシートから別のシートにデータをコピーするマクロ
- 21. セルの範囲をスクリプトにコピーする
- 22. セルの範囲から特定の値を除外する
- 23. sumifを特定のセル範囲にロック
- 24. ブートストラップカルーセルのスライド1枚につき3枚のゲームカード
- 25. シートを1枚後にブックにコピーするマクロ
- 26. 1枚のブックに複数のシートをコピー
- 27. 4枚のピースで1枚の画像を分割
- 28. 1枚の画像をフォルダにアップロードする方法は?
- 29. 2枚のExcelシートを比較し、データをシート1にコピー
- 30. スクリプトを1枚に制限
はCtrl + Cと私は* *自動化を呼ぶものではありませんし、Ctrl + V – Luuklag
@Luuklag。 –
@Nurzhanようこそへスタックオーバーフロー。これは無料のコーディングサービスではありません。したがって、あなたがすでに持っているコードを表示して、どこに行き詰まっているのか、エラーメッセージが出たら教えてください。そこには多くのチュートリアルがあります(1)* [1つのシートから別のシートにコピーする](https://stackoverflow.com/questions/32908099/copy-data-from-one-sheet-to-another)*および( 2)* [最後に使用された列を見つける]方法(https://stackoverflow.com/questions/16882143/find-out-the-last-used-column-in-a-given-row-excel-vba)*あなた自身のコードをどうやって起動するかはまあまあです。 –