excel vba查找具有其他字符的属性
在代码中,我想在工作表中找到一个特定值的列号,该值几乎每天都会改变。有时它会包含诸如“İ”、“Ş”、“#”等字符和其他职员 问题是,“查找”属性不能处理这些字母,而且我无法获取单元格列号 以下是我试图找到位置的代码excel vba查找具有其他字符的属性,excel,vba,find,Excel,Vba,Find,在代码中,我想在工作表中找到一个特定值的列号,该值几乎每天都会改变。有时它会包含诸如“İ”、“Ş”、“#”等字符和其他职员 问题是,“查找”属性不能处理这些字母,而且我无法获取单元格列号 以下是我试图找到位置的代码 For x = 2 To LastRowB Set xr = Worksheets("Check").Range("T" & x & ":BQ" & x & "").Find(Check_Value) If Not (xr Is Nothing)
For x = 2 To LastRowB
Set xr = Worksheets("Check").Range("T" & x & ":BQ" & x & "").Find(Check_Value)
If Not (xr Is Nothing) Then
Dim xa As String
xa = Split(xr.Address, "$")
xCheck_Column = xa(1) + 1
xTotal_First = Worksheets("Check").Cells(x, xCheck_Column).Value
e = e + xTotal_First
End If
Next x
在调试模式下,我看到Check_值出现错误。它应该和其他角色一起出现,比如Ş和İ,但它是S和I
编辑:
像这样更改Check_值
Dim Check_Value As String
Dim xr As Range
Check_Value = Worksheets("Check_Test").Range("P5").Value
Set xr = Worksheets("Check").Range(""T" & x & ":BQ" & x & "").Find(Check_Value)
Dim xa As Long
xa = xr.Column
我仍然无法获取列值。而不是
Dim xa As String
xa = Split(xr.Address, "$")
xCheck_Column = xa(1) + 1
使用
或
编辑:
当我使用下面的代码时,我得到了期望的结果。参见图
Sub t()
Dim rng As Range
Dim str As String
str = "SOY" & ChrW(304) & "S"
Set rng = Range("A1:O10").Find(str)
MsgBox "Column no. " & rng.Column
End Sub
编辑2:我可以从工作表中获取
str
的值,然后查找。见下文
Sub test()
Dim rng As Range
Dim str As String
str = Range("A1").Value
Set rng = Range("D1:O10").Find(str)
MsgBox "Column no. " & rng.Column
End Sub
非常感谢。但这里的主要问题是,find property并不能很好地工作。在调试模式下,我可以看到它是xr=nothing。但我知道它应该带来价值。@Bildircin13-你是如何从工作表或代码中为
检查值
赋值的?现在,因为我正在尝试编写代码,所以值在代码中。它写为SOY“&ChrW(304)和“s”。所以它看起来像“SOYİs”,但在查找值时,它是“SOYIS”,所以它在工作表中找不到SOYIS值。但即使我从工作表中得到“Check_value”的值,也没关系。它是“SOYIS”“我不知道为什么..我打开了一个新模块进行测试,但我不知道为什么,用你的代码,我仍然得到str=“SOYIS”,而不是“SOYİS”,但它给了我正确的答案。。。很有趣@磁共振成像
Sub t()
Dim rng As Range
Dim str As String
str = "SOY" & ChrW(304) & "S"
Set rng = Range("A1:O10").Find(str)
MsgBox "Column no. " & rng.Column
End Sub
Sub test()
Dim rng As Range
Dim str As String
str = Range("A1").Value
Set rng = Range("D1:O10").Find(str)
MsgBox "Column no. " & rng.Column
End Sub