Excel VBA中带字符串的IF-THEN
我试图通过读取带有字符串的值来检查两个单元格的值是否相等。使用for循环逐步查找IF-THEN语句的匹配项 当逐步通过程序时,它显示值在一个点上相等,但IF-THEN比较只是继续运行,我不明白为什么它们相等时它不会停止Excel VBA中带字符串的IF-THEN,excel,vba,if-statement,for-loop,Excel,Vba,If Statement,For Loop,我试图通过读取带有字符串的值来检查两个单元格的值是否相等。使用for循环逐步查找IF-THEN语句的匹配项 当逐步通过程序时,它显示值在一个点上相等,但IF-THEN比较只是继续运行,我不明白为什么它们相等时它不会停止 Dim ws As Worksheet Dim lcol As Long Dim Val As String Dim Check As String 'Read in value for audit to continue Val = ContTextBox.Value '
Dim ws As Worksheet
Dim lcol As Long
Dim Val As String
Dim Check As String
'Read in value for audit to continue
Val = ContTextBox.Value
'Make Master Sheet Active
Worksheets("Master").Activate
Set ws = ThisWorkbook.Sheets("Master")
'Finds next empty column
With ws
lcol = .Cells(11, .Columns.Count).End(xlToLeft).Column + 1
End With
'i needs to be set to minimum limit
'Begin loop of search
For j = 1 To lcol
Check = Cells(11, j).Value
If Check = Val Then
Unload Me
Assetlookup.Show
End If
Next j
Unload Me
这两个字符串有多“相同”?一个是大写的,另一个不是?是否有前导/尾随零?是否有不可打印的字符 尝试此操作,在比较每个术语之前先清除它们:
If AllCleanedUp(Check) = AllCleanedUp(Val) Then
指的是以下功能:
Function AllCleanedUp (DirtyString byVal) As String
AllCleanedUp = Trim(Application.Clean(Lcase(DirtyString)))
End Function
这两个字符串有多“相同”?一个是大写的,另一个不是?是否有前导/尾随零?是否有不可打印的字符 尝试此操作,在比较每个术语之前先清除它们:
If AllCleanedUp(Check) = AllCleanedUp(Val) Then
指的是以下功能:
Function AllCleanedUp (DirtyString byVal) As String
AllCleanedUp = Trim(Application.Clean(Lcase(DirtyString)))
End Function
这两个字符串有多“相同”?一个是大写的,另一个不是?是否有前导/尾随零?是否有不可打印的字符 尝试此操作,在比较每个术语之前先清除它们:
If AllCleanedUp(Check) = AllCleanedUp(Val) Then
指的是以下功能:
Function AllCleanedUp (DirtyString byVal) As String
AllCleanedUp = Trim(Application.Clean(Lcase(DirtyString)))
End Function
这两个字符串有多“相同”?一个是大写的,另一个不是?是否有前导/尾随零?是否有不可打印的字符 尝试此操作,在比较每个术语之前先清除它们:
If AllCleanedUp(Check) = AllCleanedUp(Val) Then
指的是以下功能:
Function AllCleanedUp (DirtyString byVal) As String
AllCleanedUp = Trim(Application.Clean(Lcase(DirtyString)))
End Function
字符串真的完全相同吗?有时,你会和其他人一起得到“看不见的”角色。例如,
\r\n
不会显示,但它是字符串的一部分,因为@EngJon说字符串不相等。您可以停止代码并将两个字符串转换为ascii码或任何其他格式,然后再次检查。您可能需要从两个单元格中修剪字符串,然后进行比较。值为日期。因此,工作表中有一个日期是“07/29/91”,当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”。我在“Locals”工具栏中查看它,它在视觉上显示它们是相同的,但我不确定它是否带有额外的字符。字符串真的完全相同吗?有时,你会和其他人一起得到“看不见的”角色。例如,\r\n
不会显示,但它是字符串的一部分,因为@EngJon说字符串不相等。您可以停止代码并将两个字符串转换为ascii码或任何其他格式,然后再次检查。您可能需要从两个单元格中修剪字符串,然后进行比较。值为日期。因此,工作表中有一个日期是“07/29/91”,当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”。我在“Locals”工具栏中查看它,它在视觉上显示它们是相同的,但我不确定它是否带有额外的字符。字符串真的完全相同吗?有时,你会和其他人一起得到“看不见的”角色。例如,\r\n
不会显示,但它是字符串的一部分,因为@EngJon说字符串不相等。您可以停止代码并将两个字符串转换为ascii码或任何其他格式,然后再次检查。您可能需要从两个单元格中修剪字符串,然后进行比较。值为日期。因此,工作表中有一个日期是“07/29/91”,当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”。我在“Locals”工具栏中查看它,它在视觉上显示它们是相同的,但我不确定它是否带有额外的字符。字符串真的完全相同吗?有时,你会和其他人一起得到“看不见的”角色。例如,\r\n
不会显示,但它是字符串的一部分,因为@EngJon说字符串不相等。您可以停止代码并将两个字符串转换为ascii码或任何其他格式,然后再次检查。您可能需要从两个单元格中修剪字符串,然后进行比较。值为日期。因此,工作表中有一个日期是“07/29/91”,当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”。我在“Locals”工具栏中查看时看到了它,它在视觉上显示它们是相同的,但我不确定它是否带有额外的字符。字符串应该是相同的,因为它们只是使用了一个日期。因此,工作表中有一个日期是“07/29/91”,然后当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”,我最后只使用If Trim(check)=Trim(Val),然后工作。字符串应该是相同的,因为它们只使用了一个日期。因此,工作表中有一个日期是“07/29/91”,然后当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”,我最后只使用If Trim(check)=Trim(Val),然后工作。字符串应该是相同的,因为它们只使用了一个日期。因此,工作表中有一个日期是“07/29/91”,然后当用户表单出现时,它会要求搜索日期,因此我会输入相同的日期“07/29/91”,我最后只使用If Trim(check)=Trim(Val),然后工作。字符串应该是相同的,因为它们只使用了一个日期。因此,工作表中有一个日期是“07/29/91”,当用户表单出现时,它会要求搜索日期,所以我会在同一个日期中输入“07/29/91”,我只使用If Trim(check)=Trim(Val),然后就可以了