-ChatGPT-
-ChatGPT-4へ質問
「VBAで1行目から一番最初にデータがある行まで削除してください。」
「1行目からデータがある場合の制御も加えて」
ChatGPT4の回答
Sub DeleteRowsAboveFirstData()
Dim ws As Worksheet
Dim firstDataRow As Long
' 対象のワークシートを設定
Set ws = ThisWorkbook.Worksheets("Sheet1") ' シート名を必要に応じて変更
' 最初のデータがある行を検索
firstDataRow = ws.Cells.Find(What:="*", _
After:=ws.Cells(1, 1), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False).Row
' 最初のデータが 1 行目以降の場合のみ削除処理を実行
If firstDataRow > 1 Then
' 1行目から最初のデータがある行の直前までの行を削除
ws.Rows("1:" & firstDataRow - 1).Delete
End If
End Sub

