如何在excel vba中选择包含字符串的工作表

时间:2016-04-14 08:10:06

标签: excel vba excel-vba macros

我做了代码,但是使用了一个小函数,如何设置具体的工作表取决于字符串......

示例:

  

如果string = 23

     

选择(表2)

     

如果string = 34

     

选择(sheet3)

     

如果string = 67

     

选择(sheet5)。

我从另一个工作簿中获取输入,并将其与另一个具有6个工作表的工作簿进行比较,每个工作表已连续区分2个整数。

示例:
Workbook2

  

sheet1“A1:A100”全部为“23”   sheet2“A1:A100”拥有所有“34”

我喜欢写一个函数,

Function sheetname(strcmp_1 As String)


If (strcmp_1 = "25") Then

sheetname = marco_2

End If

End Function

1 个答案:

答案 0 :(得分:0)

好像你需要像

这样的东西
Public Function SelectSheetByString(ByVal str As String, ByRef wb As Workbook) As Worksheet

With wb
    Select Case str
        Case "12"
            Set SelectSheetByString = .Sheets("Sheet1")
        Case "34"
            Set SelectSheetByString = .Sheets("Sheet2")
        Case "56"
            Set SelectSheetByString = .Sheets("Sheet3")
    End Select
End With

End Function

由于您提到了另一本工作簿"我已添加工作簿作为参数。 如果您在一个工作簿中工作,请使用wb:=ActiveWorkbook调用它。