ワークシートを編集しているときに、以前に行った作業に基づいて作業が行われていることに気付く場合があります。たとえば、前のExcelセッションで入力したデータの行がある場合があります。このセッションでは、そのデータ行をコピーして、新しいデータの基礎として使用する必要がありますが、いくつかの変更が加えられています。

このような状況では、現在の行の後に空白行を入力し、現在の行のデータを新しい空白行にコピーする簡単な方法があると便利です。これを行うための組み込みコマンドはExcelにはありませんが、マクロは非常に便利に実行できます。次の例を考えてみましょう:

Sub InsertCopyRow1()

ActiveCell.EntireRow.Select     Selection.Copy     Selection.Insert Shift:=xlDown End Sub

マクロを使用するには、任意の行のセルを選択するだけです。マクロが実行されると、現在の行の複製が現在の行のすぐ下に挿入されます。

このソリューションの唯一の問題は、Excelインターフェイスが少し「乱雑」になることです(より適切な単語がないため)。完了すると、完全な行が引き続き選択され、新しい行には「行進するアリ」が含まれます

その周りのマーキー。

この問題は、選択範囲を折りたたんで目的の場所に移動するコマンドを含めることで解決できます。別の方法は、異なるVBAコマンドに依存する異なるマクロを使用することです。次のマクロも行を挿入およびコピーしますが、選択したセルはアクティブのままになります:

Sub InsertCopyRow2()

ActiveCell.Offset(1, 0).EntireRow.Insert     ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).EntireRow End Sub

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(10917)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Inserting_and_Copying_Rows [行の挿入とコピー]