-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
: 新たに追加した行を選択します。これにより、新しく挿入した行がハイライトされます。
このスクリプトは、ユーザーが選択した行をコピーして新しい行に貼り付け、その新しい行を赤色にハイライトすることで、行の挿入が行われたことを視覚的に確認しやすくします。