- 帖子
- 396
- 主題
- 12
- 精華
- 0
- 積分
- 425
- 點名
- 1
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-7-2
- 最後登錄
- 2026-8-12
  
|
2#
發表於 2014-3-12 09:04
| 只看該作者
回復 1# dechiuan999
因為VBA裡面的TRIM,似乎只會去消除頭尾的空白格,文字中間的空白格不理會。
而EXCEL函數裡的TRIM則可以處理這個問題。
所以你只要在二個TRIM的前面加個『APPLICATION.』,問題就解決了。- Sub aa()
- Dim mSht1 As Worksheet
- Dim mRng As Range, mRng1 As Range
- Dim mStr1$, mStr2$
-
- Set mSht1 = Worksheets(1)
- With mSht1
- Set mRng1 = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
- For Each mRng In mRng1
- mStr1 = Application.Trim(mRng.Value)
- mStr2 = Application.Trim(mRng.Offset(, 1))
- mRng.Offset(, 2) = IIf(StrComp(mStr1, mStr2, vbTextCompare) = 0, "TRUE", "FALSE")
- Next
- End With
- End Sub
複製代碼 |
|