-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