Vba 如何显式声明字符串的开始/结束

Vba 如何显式声明字符串的开始/结束,vba,excel,macros,Vba,Excel,Macros,我一直在使用一些代码来打开工作簿并根据引用单元格查找值。它搜索字符串并获取其旁边的单元格。不幸的是,我现在在工作簿中有两个单元格“包含”引用字符串。一个单元格是“当前分数”,另一个单元格是“当前分数的百分比”。是否有一种方式可以说明我只想要“当前分数”,而不想要单元格中的其他内容 对不起,如果这是一个有点罗嗦,我可以提供必要的代码 编辑:以下是代码: Sub Future_Score() Dim r Dim findValues() As String Dim Wrbk

我一直在使用一些代码来打开工作簿并根据引用单元格查找值。它搜索字符串并获取其旁边的单元格。不幸的是,我现在在工作簿中有两个单元格“包含”引用字符串。一个单元格是“当前分数”,另一个单元格是“当前分数的百分比”。是否有一种方式可以说明我只想要“当前分数”,而不想要单元格中的其他内容

对不起,如果这是一个有点罗嗦,我可以提供必要的代码

编辑:以下是代码:

Sub Future_Score()

    Dim r
    Dim findValues() As String
    Dim Wrbk As Workbook
    Dim This As Workbook
    Dim sht As Worksheet
    Dim i
    Dim tmp
    Dim counter
    Dim c As Range
    Dim firstAddress
    Dim rng As Range

    ReDim findValues(1 To 3)
    findValues(1) = "Curren" & "*" & "Core"
    findValues(2) = "dummyvariable1"
    findValues(3) = "dummyvariable2"


    counter = 0

    r = Range("A163").End(xlDown).Row
    Set rng = Range(Cells(163, 1), Cells(r, 1))
    Set This = ThisWorkbook

    For Each tmp In rng
        Workbooks.Open tmp
        Set Wrbk = ActiveWorkbook
        'For Each sht In Wrbk.Worksheets
        Set sht = ActiveSheet
            For i = 1 To 3
                With sht.Range(Cells(1, 1), Range("A1").SpecialCells(xlCellTypeLastCell))
                Set c = .Find(findValues(i), LookIn:=xlValues)
                    If Not c Is Nothing Then
                        firstAddress = c.Offset(0, 1).Value
                        secondAddress = c.Offset(0, 3).Value
                        thirdAddress = c.Offset(0, 4).Value
                        Do
                            This.Activate

                            tmp.Offset(0, 4).Value = firstAddress

                            Set c = .FindNext(c)
                            counter = counter + 1
                        Loop While Not c Is Nothing And c.Value = firstAddress
                    End If
                End With
            Wrbk.Activate
            Next
        'Wrbk.Activate
        'Next sht
        Wrbk.Close
    Next tmp
End Sub
对代码进行了一些修改。虚拟变量将用于其他函数,但基本上要点是打开工作簿,查找单元格,获取旁边的单元格,粘贴到原始工作簿中。问题是它会拾取多个包含字符串的单元格。我使用了
“Curren”和“Core”
,因为宏似乎不能很好地处理字符串中的空格。

更改

Set c=.Find(findValue(i),LookIn:=xlValues)

Set c=.Find(findValue(i),LookIn:=xlValues,LookAt:=xlother)


要求整个单元格匹配搜索字符串,而不仅仅是单元格的一部分。

好吧,您还没有显示您正在使用的代码,但为什么不检查单元格的值以获得准确的字符串“Current Score”,而不检查单元格是否包含该字符串?PS-在询问有关代码的问题时始终提供相关代码。更新:)我从未指定搜索“仅”和不搜索“包含”,我将如何做到这一点?我认为字符串的限制是固有的?事实上,您使用.Find()方法调用时,它会查看值,看看是否可以在值中的任何位置找到它。这与检查值是否完全相等不同。啊,这是一个简单的更改哈哈:)非常感谢您的帮助,我真的很困惑!!