Note: The other languages of the website are Google-translated. Back to English

Excelで複数のシートを複数回コピーする方法は?

場合によっては、ブック内の指定されたワークシートのコピーまたは複数のコピーを作成する必要があります。 ExcelでXNUMXつのワークシートまたは複数のワークシートを複数回簡単にコピーするのに役立ついくつかの簡単な方法を次に示します。


[移動]または[コピー]コマンドを使用して、複数のワークシートのXNUMXつのコピーをアクティブなブックまたは別のブックに一度作成します

とともに 移動またはコピー Excelのコマンドを使用すると、ワークシートのXNUMXつのコピー、複数の特定のワークシート、またはすべてのワークシートを、一度にアクティブなブックまたは別のブックに作成できます。

1。 ワークシートをコピーする特定のワークブックで、[シート]タブバーで複数のワークシートを選択します。
注意: ホールディング CTRL キーを押すと、シートタブバーでXNUMXつずつクリックして、隣接していない複数のシートタブを選択できます。 ホールディング SHIFT キーを押すと、シートタブバーの最初のシートタブと最後のシートタブをクリックして、隣接する複数のシートタブを選択できます。

2。 シートタブバーで選択したシートタブを右クリックし、を選択します 移動またはコピー コンテキストメニューから。 スクリーンショットを参照してください:
ドキュメントコピー複数シート01

3。 の中に 移動またはコピー ダイアログボックスで、次の設定を指定してください。
(1)ワークシートのコピー先のワークブックを指定してください 予約する ドロップダウンリスト。 必要に応じて、アクティブなワークブック、別の開いているワークブック、または新しいワークブックを選択できます。
(2)コピーしたシートの位置を[シート]タブバーで指定します。既存のすべてのシートから選択できます。
(3)チェック コピーを作成する このオプションをチェックしない場合、選択したワークシートは移動先のブックに移動します。
(4)をクリックします OK ボタン。

これで、選択したワークシートを指定したブックにXNUMXつだけコピーします。 これらのワークシートの複数のコピーを作成するには、操作を複数回繰り返すことができます。

アクティブなワークブックに複数のワークシートの複数のコピーを作成するには、数回クリックするだけです

一般に、複数のワークシートをコピーできます。 移動またはコピー Excelの機能。 ただし、この機能は一度にXNUMXつのコピーしか作成できません。 ここでは、Excel用のKutoolsを使用します ワークシートをコピーする ユーティリティを使用すると、数回クリックするだけで、アクティブなワークブックに必要な数のワークシートのコピーを簡単に作成できます。


複数のワークシートを広告コピー01

Kutools for Excel - Excel 用の 300 以上の便利なツールが含まれています。 全機能無料トライアル 30-day、クレジットカード不要! 今すぐ入手

指定したXNUMXつのワークシートの複数のコピーをVBAコードを使用してアクティブなブックに作成します

指定したワークシートのコピーを10個作成する場合は、 移動またはコピー コマンドは時間のかかる方法であり、操作を何度も繰り返す必要があります。 ただし、次のVBAコードを使用すると、ワークシートを一度に10回すばやくコピーできます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードを貼り付けます。

VBA:特定のワークシートの複数のコピーをアクティブなブックに作成します

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

注意:上記のコードで、「Sheet1"コピーするシートの名前。

3。 次に、 F5 コードを実行するためのキーを押すと、必要なシートのコピー数を尋ねるプロンプトボックスが表示されます。

4。 次に、をクリックします OK、指定されたワークシートがアクティブなブックに100回コピーされました。


Kutools for Excelを使用して、複数のワークシートの複数のコピーをアクティブなブックに作成します

Excelで複数のワークシートのコピーを作成するのは簡単ですが、現在のブックで複数のワークシートの複数のコピーを作成する場合は、 移動またはコピー コマンド項目を何度も繰り返します。 ワンクリックで物事を成し遂げたいですか? とともに ワークシートをコピーする サードパーティのアドインのユーティリティ Kutools for Excel、Excelでワンクリックで複数のワークシートの複数のコピーを作成することができます。

Kutools for Excel - Excel 用の 300 以上の便利なツールが含まれています。 全機能無料トライアル 30-day、クレジットカード不要! 今すぐ入手

1に設定します。 OK をクリックします。 クツールズプラス > ワークシートをコピーする。 スクリーンショットを参照してください:

注意:クリック クツールズプラス > ワークシート > ワークシートをコピーする この機能も利用できます。

2。 で設定を適用します 複数のワークシートをコピーする ダイアログボックス:
(1)コピー元のワークシートにチェックを入れます 選択したワークシートをコピーします の項目を検索します。
(2)指定 部数.
(3)コピーされたシートの位置を決定します。たとえば、すべてのワークシートの前または後、現在のワークシートの前または後などです。
(4)をクリックします Ok ボタン。

3。 チェックしたワークシートが必要に応じて複数回コピーされたことを通知するプロンプトボックスが表示されます。をクリックしてください。 OK ボタンを押して終了します。 スクリーンショットを参照してください:

この 複数のワークシートをコピーする の特徴 Kutools for Excel 数回クリックするだけで、アクティブなワークブックに指定された複数のワークシートの複数のコピーが作成されます。 無料トライアルを!


複数のワークブックから新しいワークシートに複数のワークシートのコピーをXNUMXつ作成します

Kutools for Excelがインストールされている場合は、それを適用することもできます ワークシートを組み合わせる Excelで数回クリックするだけで、複数の閉じたブックから複数のワークシートのXNUMXつのコピーを新しいブックに作成する機能。

Kutools for Excel - Excel 用の 300 以上の便利なツールが含まれています。 全機能無料トライアル 30-day、クレジットカード不要! 今すぐ入手

1に設定します。 OK をクリックします。 クツールズプラス > 組み合わせる ワークシートの結合機能をアクティブにします。

2。 ワークシートの結合–ステップ1/3ウィザードで、 ワークブックの複数のワークシートをXNUMXつのワークシートに結合します オプションをクリックし、 次へ ボタン。 スクリーンショットを参照してください:

3。 ワークシートの結合–ステップ2/3ウィザードで、次のスクリーンショットのように実行してください。
(1)をクリック 追加 > フィレット or フォルダ ワークシートを追加するには、ワークシートのコピー元を作成します。
で(2) ワークブックリスト セクションで、ワークシートをコピーするワークブックを確認します。
で(3) ワークシートリスト セクションで、コピーするワークシートを確認します。
(4)上記を繰り返す (2) および (3) コピーする他のワークブックからワークシートを選択します。
(5)をクリックします 次へ ボタン。

4。 ワークシートの結合–ステップ3/3ウィザードで、必要に応じてコピー設定を構成し、[ 終了 ボタン。

5。 新しいダイアログで、新しいワークブックを保存する宛先フォルダを指定し、で新しいワークブックに名前を付けてください。 ファイル名 ボックスをクリックし、 セールで節約 ボタン。 スクリーンショットを参照してください:

これで、別のXNUMXつのダイアログボックスが表示され、新しいワークブックを開いて組み合わせシナリオを保存するように求められます。必要に応じてボタンをクリックしてください。 これまでのところ、一度に複数のワークブックから指定されたすべてのワークシートをコピーしています。

これに 組み合わせる(ワークシート) ユーティリティを使用すると、次のリストに示すように、ワークシートとワークブックを簡単にコピーして組み合わせることができます。 無料トライアルを!
(1)複数のワークシート/ワークブックの範囲をXNUMXつのワークシートにすばやく結合します。
(2)ワークブック全体で同じ名前のすべてのワークシートをすばやくマージ/結合してXNUMXつのワークシートにします。
(3)ワークシートまたはワークブックをXNUMXつのワークブックにすばやくマージ/結合します。
(4)複数のワークシートのデータをXNUMXつのワークシートにすばやく要約/計算します。


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (25)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
VBAコードを使用すると、複製されたワークシートの名前は逆の順序になります。 Sheet10のコピーを1個作成すると、最終的にSheet1、Sheet1(10)、Sheet1(9)、Sheet1(8)になります。.......通常の順序でそれらを作成することは可能ですか?
このコメントは、サイトのモデレーターによって最小化されました
VBAコードを試しましたが、添え字が範囲外エラー(9)になりました。 シート名を、すでにワークブックにあると思われるものに置き換えました。 私が何を間違えたのか分かりますか? また、各シートに段階的に名前を付ける方法はありますか? これはマイケルの質問と結びつくでしょう、私は確信しています。 彼の質問に対する答えは、Afterターゲットを「sheet」+ xに設定する必要があると思います。新しいシートに名前を付ける方法があれば、それが私の質問にも当てはまります。 上司の「マスター」を「0月XNUMX日」などの月に変更することもできますが、スクリプトが自動的に名前を付けた方がわかりやすいでしょう。
このコメントは、サイトのモデレーターによって最小化されました
おかげで、vbaコードは巨大でした
このコメントは、サイトのモデレーターによって最小化されました
うわー、VBAコードをありがとう。 それは本当に大いに役立ちます!
このコメントは、サイトのモデレーターによって最小化されました
[quote] VBAコードを使用すると、複製されたワークシートの名前は逆の順序になります。 Sheet10のコピーを1個作成すると、最終的にSheet1、Sheet1(10)、Sheet1(9)、Sheet1(8)になります。.......通常の順序でそれらを作成することは可能ですか?MichaelTadashi著[/ quote]誰でもこの質問に答えることができましたか? 72のコピーを作成する必要がありますが、順番に作成する必要があります(1から72、72から1の代わりに)ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
[quote] [quote] VBAコードを使用すると、複製されたワークシートの名前が逆の順序になります。 Sheet10のコピーを1個作成すると、最終的にSheet1、Sheet1(10)、Sheet1(9)、Sheet1(8)になります。.......通常の順序でそれらを作成することは可能ですか?フアン[/ quote]誰でもこの質問に答えることができましたか? 72のコピーを作成する必要がありますが、順番に作成する必要があります(1から72、72から1の代わりに)ありがとう!MichaelTadashi著[/ quote] e]シートのコピーを逆方向ではなく順番に並べたい場合は、次の行を変更してください。 後:= ActiveWorkbook.Sheets("シート1") これに... 後:= ActiveWorkbook.Sheets(Worksheets.Count) 完成したコードは次のようになり、2つのInputBoxプロンプトを使用して、動的なコピー数とワークシート名を使用できるようになりました。 Sub Copier()Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox( "コピーはいくつ必要ですか?")s = InputBox( "コピーするワークシートの名前を入力してください")For numtimes = 1 to numCopies ActiveWorkbook.Sheets(s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Count)Next End Sub
このコメントは、サイトのモデレーターによって最小化されました
コピーに連続番号を付けるにはどうすればよいですか。 コピーしたいシートにI002という名前を付け、次のシートにI003、I004、I005などの名前を付けたい場合。
このコメントは、サイトのモデレーターによって最小化されました
「After」という単語を検索し、「Before」に変更します。 これにより、Sheet1の「前」に正しい順序でコピーが作成されます。 元のシートは常に最初のコピーとしてカウントされるため、覚えておくべき唯一のことは、番号付けは常に(2)から始まるということです。 また、「Sheet1」をコピーしようとしているタブの名前に置き換えることもできます。
このコメントは、サイトのモデレーターによって最小化されました
はい、vbaコードthnxを頻繁に使用して、同じワークブックにXNUMXつのワークシートの複数のコピーを作成できたおかげで機能します。
このコメントは、サイトのモデレーターによって最小化されました
同じ列幅でコピーする方法
このコメントは、サイトのモデレーターによって最小化されました
元のワークシートと同じ列幅ですか、それともすべての列幅を同じにしますか?
このコメントは、サイトのモデレーターによって最小化されました
Theouと同じエラーが発生しましたが、誰も対処していないようです。 私のタブにはすでにPO51、PO 52などの名前が付いており、Sheet1をPO 51に置き換えてコピーし、添え字エラーが範囲外になりました(9)Schuylerのコードに従って正しい順序を取得しましたが、それでもエラーが発生しますそしてそれは常にこれらのXNUMX行によるものです:ActiveWorkbook.Sheets(s).Copy _ Before:= ActiveWorkbook.Sheets(Worksheets.Count)
このコメントは、サイトのモデレーターによって最小化されました
[quote] Theouと同じエラーが発生しましたが、誰も対処していないようです。 私のタブにはすでにPO51、PO 52などの名前が付いており、Sheet1をPO 51に置き換えてコピーし、添え字エラーが範囲外になりました(9)Schuylerのコードに従って正しい順序を取得しましたが、それでもエラーが発生しますそしてそれは常にこれらのXNUMX行によるものです:ActiveWorkbook.Sheets(s).Copy _ Before:= ActiveWorkbook.Sheets(Worksheets.Count)デビ[/ quote]デバッグを容易にするために、完全なコードを含めることができますか? 「範囲外の添え字エラー」は通常、コードが存在しないものを参照していることを意味します。 私がタイプミスかその性質のものを持っているとき、私は自分のコードでこれを見つけます。
このコメントは、サイトのモデレーターによって最小化されました
'numtimes'が定義されていないというエラーが表示されます...?
このコメントは、サイトのモデレーターによって最小化されました
上記のコードをvbaに挿入する場所で、共通のボタンを作成してから内部に挿入する必要がありますか? よろしく。
このコメントは、サイトのモデレーターによって最小化されました
以下の手順に従ってください。
1.上記のコードをコピーします
2. ALT + F11キーを押したままにすると、Microsoft Visual BasicforApplicationsウィンドウが開きます。
2.[挿入]>[モジュール]をクリックし、次のコードをモジュールウィンドウに貼り付けます。
4.次にF5キーを押してコードを実行します
5.必要なシートの部数を尋ねるプロンプトボックスが表示されます。
このコメントは、サイトのモデレーターによって最小化されました
Sheet1の名前を変更しなかったため、最初に試したときにエラーメッセージが表示されました。 エラーの原因に気付いた後、マクロにシート名を手動で入力したくなかったので、もう少し調べました。 そして、この機能が必要なときは、ほとんどの場合、現在のシート用です。 行a=activesheet.nameを追加し、after:= activeworkbook.sheets( "sheet1")の行をactiveworkbook.sheets(a).copy _に修正しました。これは非常にうまく機能しましたが、番号が逆になっていることに気付きました...とにかく新しいシートの名前を手動で変更しようとしていたので、それは私を悩ませませんでした。 Schuylerの投稿を見たとき、activeworkbook.sheets(a).copy _の行をafter:= activeworkbook.sheets(worksheets.count)にさらに修正しました。結果に満足しています。 完成したマクロ:Sub copys()Dim x As Integer x = InputBox( "Enter the times to copy Sheet1")For numtimes = 1 To x ActiveWorkbook.Sheets( "Sheet1")。Copy _ After:= ActiveWorkbook.Sheets( Worksheets.Count)Next End Sub ---よろしくお願いします、Barry
このコメントは、サイトのモデレーターによって最小化されました
バリー、どうもありがとうございました。 あなたの完成したマクロは私のために働いた唯一のものです。
このコメントは、サイトのモデレーターによって最小化されました
「After:= ActiveWorkbook.Sheets(Worksheets.Count)」で構文エラーが発生しました


しかし、私は何が悪いのかわかりません...あなたは私を助けてくれますか?
このコメントは、サイトのモデレーターによって最小化されました
素晴らしいVBAコード-本当に役に立ちました
このコメントは、サイトのモデレーターによって最小化されました
私はこれに不慣れです。これは私が使用しているコードである同じシートのコピーを作成しようとしています。 Sub Copier()Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox( "コピーはいくつ必要ですか?")s = InputBox( "コピーするワークシートの名前を入力してください")For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)Next End Subコードを使用すると、「構文エラー」のエラーが表示され、このテキストが赤に変わりますActiveWorkbook.Sheets (s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)そしてテキストが黄色に変わりますSub Copier()それを修正するために何ができますか。
このコメントは、サイトのモデレーターによって最小化されました
[quote]これは初めてです。同じシートのコピーを作成しようとしています。これが使用しているコードです。 Sub Copier()Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox( "コピーはいくつ必要ですか?")s = InputBox( "コピーするワークシートの名前を入力してください")For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)Next End Subコードを使用すると、「構文エラー」のエラーが表示され、このテキストが赤に変わりますActiveWorkbook.Sheets (s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)そしてテキストが黄色に変わりますSub Copier()それを修正するために何ができますか。タイラー・デンプシー[/ quote]コードを再確認し、ActiveWorkbookにスペースがないことを確認してください。 Sheets(s).Copy _またはSheets(Worksheets.Cou nt)
このコメントは、サイトのモデレーターによって最小化されました
[quote]これは初めてです。同じシートのコピーを作成しようとしています。これが使用しているコードです。 Sub Copier()Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox( "コピーはいくつ必要ですか?")s = InputBox( "コピーするワークシートの名前を入力してください")For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)Next End Subコードを使用すると、「構文エラー」のエラーが表示され、このテキストが赤に変わりますActiveWorkbook.Sheets (s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Cou nt)そしてテキストが黄色に変わりますSub Copier()それを修正するために何ができますか。タイラー・デンプシー[/ quote]使用する正確なコードは次のとおりです。SubCopier()Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox( "必要なコピー数は?")s = InputBox( "Enterコピーするワークシートの名前")For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:= ActiveWorkbook.Sheets(Worksheets.Count)Next End Sub
このコメントは、サイトのモデレーターによって最小化されました
ありがとう、最後のものは私の命を救った:)
このコメントは、サイトのモデレーターによって最小化されました
作業コード

サブコピー機()
ストリングとしてのDim s
Dim numtimes As Integer
整数としてのDimnumCopies
numCopies = InputBox( "コピーはいくつ必要ですか?")
s = InputBox( "コピーするワークシートの名前を入力してください")
numtimes=1の場合numCopiesへ
ActiveWorkbook.Sheets(s).Copy After:= ActiveWorkbook.Sheets(Worksheets.Count)
次へ
End Subの

ActiveWorkbook.Sheetsから行全体をコピーします......それが問題でした、そしていくつかのスペース

素晴らしい一日を
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護