VBA-已选择插入检查以验证正确的文件

时间:2018-06-22 13:48:53

标签: excel vba excel-vba vlookup

在下面的代码中,我希望在执行其余代码之前执行检查以验证是否选择了正确的文件。打开“组合书”后,将进行检查以验证工作簿中某个单元格中的某些文本。例如,在下面的代码中,在执行vlookup之前,我需要检查以确认文本“ Cash Split”是否包含在CombinedWorkbook的单元格B2中;如果不停止执行代码,并提供警告消息框,则需要这样做。 >

Sub ImportWriteOffs()

Dim filter As String
Dim caption As String
Dim combinedFilename As String
Dim combinedWorkbook As Workbook

' Open BRAM Report Source Data

MsgBox ("Select 'SRMF0035'")

filter = "Text files (*.xlsx),*.xlsx"
caption = "Select 'SRMF0035'"
combinedFilename = Application.GetOpenFilename(filter, , caption)

If combinedFilename <> "False" Then

    Set combinedWorkbook = Application.Workbooks.Open(combinedFilename)

Else

    MsgBox "No file was uploaded", vbExclamation

GoTo LastLine

End If

' Conduct Vlookup on BRAM Report

Dim lastRow As Long

With ThisWorkbook.Worksheets("Input Write Offs")

    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    .Range("B9:B" & lastRow).FormulaR1C1 = _
                       "=VLOOKUP(RC[-1],'[" & combinedWorkbook.Name & "]Tabular Version'!R10C2:R700000C56,55,0)"

combinedWorkbook.Close False

End With


LastLine:

End Sub

非常感谢, 基兰(Kieran)

1 个答案:

答案 0 :(得分:0)

您在这里只需要执行一条附加条件语句,即可首先检查单元格(“ B2”)是否包含所需的某些文本。

With ThisWorkbook.Worksheets("Input Write Offs")

lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
If .range("B2") = "Cash Split" Then
.Range("B9:B" & lastRow).FormulaR1C1 = _
                   "=VLOOKUP(RC[-1],'[" & combinedWorkbook.Name & "]Tabular Version'!R10C2:R700000C56,55,0)"
   combinedWorkbook.Close False
Else:
   Msgbox "Display Prompt In Here"
   combinedWorkbook.Close False   'To Ensure that the workbook will be close before ending the routine.
   exit sub
End if

End With