首页 > 解决方案 > 在宏 vba 中使用 If 条件进行部分匹配

问题描述

目前正在从事一个项目,我需要在该项目中查找选择的文件是否正确。所以我使用 if 条件进行部分匹配。下面是代码供参考。该代码给出了运行时错误“424”需要对象。

     `
    Sub Fetch_Files()

        Dim OB1 As Workbook, FTO As Variant,strSheetName as string

        Application.ScreenUpdating = False

        FTO= Application.GetOpenFilename(Title:="Browse For your File & Import Range", FileFilter:="Excel Files (*.xlsx*),*xlsx*")

            If FTO <> False then

              Set OB1 = Application.Workbooks.Open(FTO)
              OB1.Worksheets(1).Activate
              strSheetName = ActiveSheet.Name

                        If strSheetName.value = "*abc*" Then
                          'Call abc
                        else
                           MsgBox ("Please abc file")
                        End If

            Else

                MsgBox ("Please Select Files")
                Exit Sub

            End If


        Application.ScreenUpdating = True

        End Sub
    `

标签: excelvba

解决方案


已找到解决方案。我使用 OB1.Worksheet(1).Name 使用like关键字。

If FTO <> False then

              Set OB1 = Application.Workbooks.Open(FTO)

                        If  OB1.Worksheets(1).Name like "*abc*" Then ' improve code
                          'Call abc
                        else
                           MsgBox ("Please abc file")
                        End If

            Else

                MsgBox ("Please Select Files")
                Exit Sub

            End If

推荐阅读