0
我想兩個單元格的值在兩個不同的工作簿(的.csv文件),持有特殊字符(■,□)比較特殊字符比較使用IF函數(VBA)
的代碼是比較使用參考單元的單元格內容,並讓用戶知道它們是否相同。
例如
CASE 1.□□□□□(FOUND)到■■■■■(REFERENCE) - >不同的值
CASE 2.■■■■■(FOUND)到■■ ■■■(REFERENCE) - >相同的值
我有一個FOR循環來運行條目和一個IF語句來執行比較。 IF函數假設檢查單元格是否相等
不幸的是,我的代碼一直在確定單元格不相等。
即CASE 2保持生產信息反饋「不同價」
我無法找到因此任何幫助,將不勝感激的問題。
謝謝!
[以下代碼]
Sub Value_Checker()
Old_Data = Application.GetOpenFilename _
(Title:="Please choose old data to import", _
FileFilter:="CSV Files *.csv (*.csv), ")
If Old_Data = False Then
MsgBox "No file specified.", vbExclamation, "Please pick old data"
Exit Sub
Else
Set OldFile = Workbooks.Open(Old_Data)
End If
Rowlim = 100
ThisWorkbook.Activate
CHECK = Cells(4, 3).Value
OldFile.Activate 'Activates old workbook
For i = 1 To Rowlim
ActiveSheet.Cells(i, 4).Select
If Cells(i, 4) <> CHECK Then
MsgBox "Different Value"
Else
MsgBox "Same Value"
End If
Next i
End Sub
你是否100%確定這些單元格具有相同的文本?在您的示例中使用的「方形」字符通常用於不能用當前字體表示的字符,因此可能會出現多個(不同)字符*以在屏幕上顯示相同的表示形式。檢查每個字符的ASCII碼?因爲「a」不等於「a」,所以還要檢查前導/尾隨空格。 –
通過將CHECK設置爲單元格(x,x)。值而不是單元格(x,x),您可能已經創建了一個難解的問題。 Cell對象沒有記錄Value屬性,因此它可能會引用Range對象中的屬性,而無法正確解析比較結果。我會嘗試先刪除Value屬性。 – BobRodes
確保您的CHECK和測試單元格指向正確工作表上的正確單元格。另外,你爲什麼要激活和選擇任何東西? –