-ChatGPT4-
-ChatGPT4-に質問
VBAでダイアログボックスで選択したファイルのInvoice_details(編集用)シートのBB列にある連続する行のデータにVATという文字がある場合は、その行を削除してください。ChatGPT4に質問
ChatGPT4の回答
Sub DeleteRowsWithVAT()
Dim targetFile As Variant
Dim targetWb As Workbook
Dim targetWs As Worksheet
Dim lastRow As Long
Dim i As Long
' ダイアログボックスでファイルを選択
targetFile = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm", Title:="対象のExcelファイルを選択してください")
' キャンセルボタンがクリックされた場合、処理を終了
If targetFile = False Then Exit Sub
' 選択したファイルを開く
Set targetWb = Workbooks.Open(targetFile)
' Invoice_details(編集用)シートを選択
On Error Resume Next
Set targetWs = targetWb.Worksheets("Invoice_details(編集用)")
On Error GoTo 0
If targetWs Is Nothing Then
MsgBox "Invoice_details(編集用)シートが見つかりません。", vbCritical, "エラー"
targetWb.Close SaveChanges:=False
Exit Sub
End If
' 最終行を取得
lastRow = targetWs.Cells(targetWs.Rows.Count, "BB").End(xlUp).Row
' BB列のデータを確認し、「VAT」を含む行を削除
For i = lastRow To 1 Step -1
If InStr(targetWs.Cells(i, "BB").Value, "VAT") > 0 Then
targetWs.Rows(i).Delete
End If
Next i
' 変更を保存してファイルを閉じる
targetWb.Close SaveChanges:=True
MsgBox "Invoice_details(編集用)シートのVATを含む行を削除しました。", vbInformation, "完了"
End Sub

