我有一张名为"表"我有桌子,我抬头看A2:B20, A2:A20包含" XX"格式这些是我将要查找的数字。
表中的B2:B20部分包含文本,我想用这个文本替换值。
我有我的主要工作表(目前称为#34;测试"),其中包含我的数据,我想查看M列并检查我是否可以找到前两个字符匹配任何一个字符的值A2中的值:A20,如果我确实找到了匹配项,那么我想要将数据表(测试版)上的列F的值替换为B2中的相应值:B20如果不是,我想保持原样并继续前进。
我遇到了问题,因为M列中的数据是存储为文本的数字,当表列表1或11或2和22时它正在替换错误的值。
'
Dim MyString As String
Counter = 2
1:
MyString = Sheets("Table").Range("A" & Counter).Value
For X = 1 To Range("M" & Rows.Count).End(xlUp).Row
If Replace(MyString, Left(Sheets("TEST").Range("M" & X).Value, 2), "") <> MyString Then Sheets("TEST").Range("F" & X).Value = Sheets("Table").Range("B" & Counter).Value
Next
Counter = Counter + 1
If Counter <= Range("M" & Rows.Count).End(xlUp).Row Then
GoTo 1:
Else
End If
End Sub
答案 0 :(得分:0)
我解决了我自己的问题,我做得太多了 - 简化了它强迫值.text并且我的问题消失了。
Sub BBK_Name()
'Checks column U for start of data (1st 2 chars)
' if they match an entry in bank table changes entry in column G to match table entry.
'
Dim MyString As String
Counter = 2
1:
MyString = Sheets("Table").Range("A" & Counter).Text
RplcValue = Sheets("Table").Range("B" & Counter).Text
For X = 1 To Range("M" & Rows.Count).End(xlUp).Row
If Left(Sheets("TEST").Range("M" & X).Value, 2) = MyString Then _
Sheets("TEST").Range("F" & X).Value = RplcValue
Next
Counter = Counter + 1
If Counter <= Range("M" & Rows.Count).End(xlUp).Row Then
GoTo 1:
Else
End If
End Sub