excel vba查找其他字符的属性

在代码中,我想在工作表中find一个特定值的列号,这个值几乎每天都会改变。 有时它会包含“İ”,“Ş”,“#”和其他工作人员的字符。

问题是,查找属性不适用于这些字母,我无法获得单元格的列号。

这里是我试图find的位置的代码;

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 

在debugging模式下,我看到Check_Value没有正确显示。 它应该与Ş和İ其他字符一起来,但它来作为S和我。

编辑:

通过像这样改变Check_Value;

  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 

使用

 Dim xa As long xa = xr.Column xCheck_Column = xa + 1 

要么

 Dim xa xa = Split(xr.Address, "$") xCheck_Column = xa(2) + 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的值,然后find。 见下文。

 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 

在这里输入图像说明