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

Excelで行を複数回コピーして挿入する方法、または行をx回複製する方法は?

日常業務で、行または各行をコピーしてから、ワークシートの現在のデータ行の下に複数回挿入しようとしたことがありますか? たとえば、セルの範囲があります。次に、次のスクリーンショットのように、各行をコピーして次の行に3回貼り付けます。 Excelでこの仕事にどのように対処できますか?


VBAコードを使用して特定の行を複数回コピーして挿入する

特定のXNUMX行のみをx回複製する場合は、次のVBAコードが役立つ場合があります。次のようにしてください。

1。 複数回コピーして挿入する行を指定し、 Alt + F11 キーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

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

VBAコード:XNUMXつの特定の行を複数回複製します。

Sub test()
'Updateby Extendoffice
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3。 コードを貼り付けたら、を押してください F5 このコードを実行するためのキーを押すと、複製する回数を入力するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

4。 次に、をクリックします OK ボタンをクリックすると、選択した行の下にXNUMXつの新しいコピーされた行が挿入されます。スクリーンショットを参照してください。


特定の番号に基づいて、各行を複数回簡単にコピーして挿入できます

通常、手動でコピーして挿入する以外に、行を複数回コピーして挿入するための適切な方法はありません。 しかし、 Kutools for Excel's セル値に基づいて行/列を複製する 機能、あなたは簡単にこの問題を解決することができます。 クリックしてKutoolsfor Excelをダウンロードしてください!

Kutools for Excel:300以上の便利なExcelアドインがあり、60日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!


VBAコードを使用して各行を複数回コピーして挿入します

範囲内で各行を複数回複製するには、次のVBAコードを適用できます。次のようにしてください。

1。 を押し続けます Alt + F11 キーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

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

VBAコード:各行を複数回複製します。

Sub insertrows()
'Updateby Extendoffice
Dim I As Long
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
If xCount < 1 Then
MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
GoTo LableNumber
End If
For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
Rows(I).Copy
Rows(I).Resize(xCount).Insert
Next
Application.CutCopyMode = False
End Sub

3。 そして、 F5 このコードを実行するためのキーを押すと、各レコードに複製する回数を入力するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

4。 次に、をクリックします OK、および各行がコピーされ、アクティブな行の下に3回挿入されています。スクリーンショットを参照してください。

注意:上記のコードでは、 A データが列から始まる場合、データ範囲が列Aから始まることを示します K、 変更してください A 〜へ K あなたの必要に応じて。


素晴らしい機能を備えた特定の番号に基づいて、各行を複数回コピーして挿入します

たぶん、あなたはVBAコードに精通していないか、コードがデータをクラッシュさせることを心配しています。 ここでは、便利な機能を紹介します。 Kutools for Excel's セル値に基づいて行/列を複製する、このユーティリティを使用すると、指定した数に基づいて行をすばやくコピーして挿入できます。

ヒント:これを適用する セル値に基づいて行/列を複製する 機能、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

1。 データの横のセルのリストに、行を複製する繰り返し番号を入力します。スクリーンショットを参照してください。

2に設定します。 OK をクリックします。 クツール > インセット > セル値に基づいて行/列を複製する、スクリーンショットを参照してください:

3。 の中に 行と列をコピーして挿入する ダイアログボックスで 行をコピーして挿入する 内のオプション 種類 セクションで、複製するデータ範囲を選択し、行を複製するための繰り返し時間を指定します。スクリーンショットを参照してください。

4。 次に、をクリックします。 Ok or お申し込み ボタンをクリックすると、必要に応じて次の結果が得られます。

クリックしてKutoolsfor Excelと無料トライアルを今すぐダウンロードしてください!


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

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下部
コメントを並べ替える
コメント (32)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
ありがとうございました!
このコメントは、サイトのモデレーターによって最小化されました
素晴らしいマクロ-時間を大幅に節約できました!
このコメントは、サイトのモデレーターによって最小化されました
本当に素敵なマクロメイト!
このコメントは、サイトのモデレーターによって最小化されました
重複する行をランダムに生成したいのですが、

たとえば。 20〜80のランダムな重複行を生成します。


次のコードを更新するもの


サブinsertrows()
'Updateby Extendoffice 2016616
薄暗い私は長く
Dim xCount を整数として
LableNumber:
xCount = Application.InputBox( "行数"、 "Kutools for Excel" 、、、、、、、 1)
xCount<1の場合
MsgBox「入力した行数がエラーです。もう一度入力してください」、vbInformation、「KutoolsforExcel」
ラベル番号へ移動
終了する場合
I = Range( "A"&Rows.CountLarge).End(xlUp).Row To 1Step-1の場合
Rows(I).Copy
Rows(I).Resize(xCount).Insert
次へ
Application.CutCopyMode = False
End Subの
このコメントは、サイトのモデレーターによって最小化されました
パラメータに基づいて行を複製したい。 たとえば、meetingdurationtimeという名前の列があります。 その列が1より大きい場合、その番号に基づいて会議IDの行を複製したいと思います。 会議時間が2時間の場合は、meetingIDを3回複製します。 会議がXNUMX時間の場合は、XNUMX回複製します。
XNUMX分刻みは、XNUMX時間に切り上げることができます。

MeetingID開始時刻開始時刻終了会議時間
43117 9:00 AM 11:00 AM 02:00
43580 9:30 AM 11:00 AM 01:30
42699 10:00 AM 11:30 AM 01:30
12345 01:00 PM 2:00 PM 01:00
このコメントは、サイトのモデレーターによって最小化されました
私も同じ問題を抱えてる。 解決策を見つけましたか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、みんな、
次のVBAコードで問題が解決する可能性があります。適用してください。
サブinsertrows()
薄暗い私は長く
範囲としての薄暗いxRg
Dim xHour、xMin As Long
エラーで次の再開
Application.ScreenUpdating = False
I = Range( "D"&Rows.CountLarge).End(xlUp).Row To 1Step-1の場合
xHour = 0
xRg = Range( "D"&I)を設定します
xHour = Hour(xRg.Value)+ 1
xMin = Minute(xRg.Value)
xMin<30の場合xHour=xHour-1
Rows(I).Copy
Rows(I).Resize(xHour).Insert
次へ
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Subの

ぜひお試しください。 それがあなたを助けることができることを願っています!
このコメントは、サイトのモデレーターによって最小化されました
私は過去にこのマクロを使用しましたが、最近まで常に機能していました。 複数行のマクロを使用している場合でも、なぜそれが一番上の行のみを複製するのかについての洞察はありますか? すべてのフィルター/フリーズペインを削除しました。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、コードを変更して次のものを含めるにはどうすればよいですか?

1.日数に基づいて複製
2.列EOMを月末から毎日の日付に変更します
このコメントは、サイトのモデレーターによって最小化されました
本当にありがとうございました!!!!
このコメントは、サイトのモデレーターによって最小化されました
コードが大好きです! 最初の行(列ヘッダー)をスキップして2行目から開始するように開始範囲を設定するにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、デヴィン、
最初のヘッダー行をスキップするには、次のVBAコードを適用してください。

サブinsertrows()
薄暗い私は長く
Dim xCount を整数として
LableNumber:
xCount = Application.InputBox( "行数"、 "Kutools for Excel" 、、、、、、、 1)
xCount<1の場合
MsgBox「入力した行数がエラーです。もう一度入力してください」、vbInformation、「KutoolsforExcel」
ラベル番号へ移動
終了する場合
I = Range( "A"&Rows.CountLarge).End(xlUp).Row To 2Step-1の場合
Rows(I).Copy
Rows(I).Resize(xCount).Insert
次へ
Application.CutCopyMode = False
End Subの

それを試してみてください、それがあなたを助けることができることを願っています!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、私は助けが必要です、これは私のテーブルがどのように見えるかです、例えば、私の最初のテーブルの最後に2行を追加するとき、私はvbaが下のテーブルに対して同じことをするのを助けて欲しいです(表の終わり)。 したがって、私の仕事は、最初のテーブルに行を追加するだけでよく、以下のすべてのテーブルは、最初のテーブルの行数に基づいて行を自動的に生成します。 これは、最初のテーブルの行を追加するために現在使用したコーディングです。 誰かが私のためにこの問題を解決できることを願っています、thx.Sub InsertNumRows()

ActiveCell.EntireRow.Copy

Dim Rng As Long

Application.DisplayAlerts = False
エラーで次の再開
Rng = InputBox( "必要な行数を入力してください。")
エラー時GoTo0
Application.DisplayAlerts = True

Rng=0の場合
MsgBox「範囲を指定していません!」
サブを終了


Range(ActiveCell.Offset(1、0)、ActiveCell.Offset(Rng、0))。選択
Selection.EntireRow.Insert Shift:= xlDown
終了する場合

End Subの
このコメントは、サイトのモデレーターによって最小化されました
大好きです! 毎回動作します! どうもありがとうございました:)
このコメントは、サイトのモデレーターによって最小化されました
列に対してこれを行うにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
列に対してこれを行うにはどうすればよいですか?
このコメントは、サイトのモデレーターによって最小化されました
VBを使用して、選択したセルで同じアクションを実行する方法、


選択したいくつかのセル(行と列)を同じシートで同じ順序で何度も繰り返す必要があります。

line1
line2
line3

line1
line2
line3
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、これはうまくいきました。N回コピーする必要があるのはXNUMX行だけです。 コードを調整して、XNUMXつの行を選択すると、それらのXNUMXつの行がN回コピーされるようにしてください。 ご協力いただきありがとうございます
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、サル、
1行を複数回コピーするだけでよい場合は、この記事のVBAコードXNUMXを使用するだけで、コードをXNUMX回適用すると問題が解決します。 ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
VBAコードを使用して各行を複数回コピーして挿入する

VBAコードで、開始行を選択するにはどうすればよいですか
このコメントは、サイトのモデレーターによって最小化されました
Windows 2019の機能はありません、deseousarlafunciónenmenciónperosimplementeno hace absolutamente nada
このコメントは、サイトのモデレーターによって最小化されました
みなさん、こんにちは。よろしくお願いします!

フィルタを使用するまで、特定のXNUMXつの行を複数回複製するVBAコードは完全に機能します。 誰かがこの問題を解決するのを手伝ってくれるのだろうか。 一部の値をフィルタリングしても機能するコードが必要です。 場所別に並べ替えた大量のデータを使用しています。 コードは部分的に機能し、必要な行数を貼り付けますが、フィルターを適用したときにデータや形式は貼り付けられません。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、行ごとに異なるサイズ(値)を使用することは可能ですか? ベクトルを使用しようとしていますが、機能しません。
例えば ​​:
Rows(I).Resize(xCount(y)).Insert

xCount(y)に保存された値がテーブルから読み取られる場所。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ガス、
以下の記事があなたを助けることができるかもしれません、それをチェックしてください:
https://www.extendoffice.com/documents/excel/4054-excel-duplicate-rows-based-on-cell-value.html
このコメントは、サイトのモデレーターによって最小化されました
1004番目のVBAコード(VBAコード:各行を複数回複製)の場合、実行時エラーとして取得し続けます:XNUMX
ここにはまだコメントが投稿されていません
もっと読む
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

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