-ChatGPT-4への質問
-ChatGPT-4
VBAで選択したセルの1行下に行を挿入して選択行をコピーして背景色をつけて
ChatGPT4の回答
Sub InsertCopiedRow()
Dim selectedRow As Range
Dim newRow As Range
Dim lastColumn As Long
' 選択した行を取得します
Set selectedRow = Selection.EntireRow
' 選択した行の1行下に新しい行を挿入します
Set newRow = selectedRow.Offset(1).EntireRow
selectedRow.Copy newRow
' 最終列を取得します
lastColumn = newRow.Cells(1, newRow.Columns.Count).End(xlToLeft).Column
' 新たに追加した行の最終列までの範囲に色を付けます
newRow.Cells(1).Resize(, lastColumn).Interior.Color = RGB(255, 0, 0) ' 色を赤に設定します
' 選択した行を選択状態にします
newRow.Select
End Sub
コードの説明
Dim selectedRow As Range, Dim newRow As Range, Dim lastColumn As Long: 必要な変数を宣言します。selectedRowとnewRowは選択した行と新しい行を保存するためのRangeオブジェクトを参照します。lastColumnは行の最終列のインデックスを保持します。Set selectedRow = Selection.EntireRow: 選択した行をselectedRow変数に代入します。Set newRow = selectedRow.Offset(1).EntireRow: 選択した行の次の行を取得し、それをnewRow変数に代入します。selectedRow.Copy newRow: 選択した行をコピーし、その内容を新しい行に貼り付けます。lastColumn = newRow.Cells(1, newRow.Columns.Count).End(xlToLeft).Column: 新たに追加した行の最終列のインデックスを取得します。newRow.Cells(1).Resize(, lastColumn).Interior.Color = RGB(255, 0, 0): 新たに追加した行の1列目から最終列までのセルの背景色を赤色に設定します。newRow.Select: 新たに追加した行を選択します。これにより、新しく挿入した行がハイライトされます。
このスクリプトは、ユーザーが選択した行をコピーして新しい行に貼り付け、その新しい行を赤色にハイライトすることで、行の挿入が行われたことを視覚的に確認しやすくします。

