【问题标题】:How to select the sheet with strings in excel vba如何在excel vba中选择带有字符串的工作表
【发布时间】:2016-04-14 08:10:05
【问题描述】:

我做了代码,但是遇到了一个小功能,如何设置具体的工作表取决于字符串...

例子:

如果字符串 = 23

选择(sheet2)

如果字符串 = 34

选择(sheet3)

如果字符串 =67

选择(sheet5)。

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

示例:
工作簿2

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

【问题讨论】:

  • 你的问题有点不清楚:给定一个字符串输入,你想使用 if 语句为其分配一个工作表吗?什么意思,在第二个例子中, > sheet1 "A1:A100" 有所有的 "23" ?
  • 我已经编码,我可以在 workbook1 中搜索字符串,例如“23”。在这种情况下,我想选择活动工作表示例“23”,它位于 workbook2,sheet1
  • 所以你只想在函数中选择一个数字的工作表依赖?你的确切问题是什么? Worksheets(sheetname).Activate ?
  • 我有兴趣做一个函数,我不知道如何在我的程序中调用工作表名称

标签: vba excel macros


【解决方案1】:

看来你需要类似的东西

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 调用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2018-12-28
    • 2021-11-28
    相关资源
    最近更新 更多