【问题标题】:Search for string in each open worksheet在每个打开的工作表中搜索字符串
【发布时间】:2014-05-15 09:24:34
【问题描述】:

我想使用字符串 FindString 的每个实例中的值来填充 UserForm1 中的文本框。

我得到每个文本框的唯一工作表。但是其余的值来自我运行模块时活动的工作表。

这意味着字符串 Rng 不会循环通过 WorkSheet,而是与初始 WorkSheet 保持一致。我该如何解决这个问题?

Public Sub FindString()
Dim FindString As Variant
Dim Rng As Range
Dim SheetName As String
Dim ws As Worksheet
Dim i As Integer

Application.ScreenUpdating = False
SheetName = ActiveSheet.Name

FindString = Cells(ActiveCell.Row, 1).Value

FindString = InputBox("Enter the case number to search for:", "Case ID", FindString)
If FindString = "" Then Exit Sub
If FindString = False Then Exit Sub


i = 1

For Each ws In Worksheets
    If ws.Name Like "Lang*" Then
        With ws

            If Trim(FindString) <> "" Then
                With Range("A:A")
                    Set Rng = .Find(What:=FindString, _
                                    After:=.Cells(.Cells.Count), _
                                    LookIn:=xlValues, _
                                    LookAt:=xlWhole, _
                                    SearchOrder:=xlByRows, _
                                    SearchDirection:=xlNext, _
                                    MatchCase:=False)
                    If Not Rng Is Nothing Then

            UserForm1.Controls("TextBox" & i) = ws.Name & vbTab & _
            Rng.Offset(0, 2).Value & vbTab & _
            Rng.Offset(0, 5).Value & vbTab & _
            Rng.Offset(0, 6).Value & vbTab & _
            Rng.Offset(0, 7).Value & vbTab & _
            Rng.Offset(0, 8).Value

            i = i + 1

                    Else: GoTo NotFound
                    End If
                End With
            End If

        End With
    End If
Next ws

Sheets(SheetName).Activate
Application.ScreenUpdating = True
UserForm1.Show

Exit Sub

NotFound:
Sheets(SheetName).Activate
Application.ScreenUpdating = True
MsgBox "Case ID not found"
Exit Sub

End Sub

【问题讨论】:

    标签: vba


    【解决方案1】:

    知道了!

    只需要添加

    ws.Activate

    之后

    If ws.Name Like "Lang*" Then

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 2020-06-03
      • 2012-08-02
      • 2014-12-06
      • 2020-08-10
      • 1970-01-01
      相关资源
      最近更新 更多