首页 > 解决方案 > Excel VBA .Find 忽略逗号

问题描述

我有一个在 A 列中搜索值的代码。这些值是项目编号,例如 4545 和 3605。有时一个项目确实有多个子项目。确定一个子项目例如:3605,01和3605,02等。

我使用 .find 查找项目所在的行,找到后粘贴一些数据。

问题

像 4545 这样的数字工作得很好,但是当使用逗号时,Excel 似乎没有得到它。我认为他认为逗号是一个点。如何让 Excel 知道逗号是小数点分隔符?还是有其他问题?

这是我的代码:

    Dim Projectnumber As String
    Projectnumber = ActiveWorkbook.Sheets("Planning").Range("A6").Value2
    Dim ThisProjectRow As Range
    With Workbooks(Bureauplanner).Sheets("planning").Range("A:A")
        Set ThisProjectRow = .Find(What:=Projectnumber, LookIn:=xlValues, Lookat:=xlWhole, MatchCase:=False, Searchformat:=False)
            If Not ThisProjectRow Is Nothing Then
            End If
    End With

标签: excelvba

解决方案


对,所以你的罪魁祸首是String数据类型。你提到

“A 列的值...”

当您将查找值存储到String数据类型中时,这意味着您正在比较两种不同的数据类型 > ADouble与 a String。我想这不适合VBA。

所以这里有两种方法可以解决这个问题:

1)。将 A 列转换为String格式化值。

或者。

2)。String变量替换为Double>Dim ProjectNumber As Double


推荐阅读