嘗試匯入 Excel 工作表時出現奇怪的字元導致錯誤

嘗試匯入 Excel 工作表時出現奇怪的字元導致錯誤

這個字元“”(保存此評論後不可見)。它看起來就像兩個括號推在一起,接觸形成一個高長方形。 []

從 Filemaker(舊版)匯出的 Excel 工作表會導致錯誤,並在具有重複字元的特定行處停止匯入。

當我將單元格內容複製/貼上到寫字板時,我只能看到奇怪的字元。該行包含 2 個看不見的換行標記,它們之間是 .每當發生這種情況時,我都必須在寫字板中編輯內容,貼上,然後它就可以工作了。每隔幾行就不斷出現。

第二個問題。有沒有辦法在Excel中搜尋並全部刪除?

答案1

我們需要先識別出惡意字符,然後將其刪除。

首先將以下使用者定義函數放入標準模組中:

Public Function WhatsIn(s As String) As String
    Dim msg As String, i As Long, L As Long

    L = Len(s)
    msg = L & vbCrLf
    For i = 1 To L
        msg = msg & i & "    " & AscW(Mid(s, i, 1)) & vbCrLf
    Next i
    WhatsIn = msg
End Function

該函數準確地告訴我們細胞包含什麼。它給:

  1. 字元數
  2. 對於每個字符,unicode 值

    下面是一個範例:

在此輸入影像描述

我們知道單元格有多少個字符C2包含並且我們知道每個字元的 ASCII 代碼。

使用者定義函數 (UDF) 非常易於安裝和使用:

  1. ALT-F11 調出 VBE 窗口
  2. ALT-I ALT-M 開啟新模組
  3. 將內容貼進去並關閉 VBE 窗口

如果儲存工作簿,UDF 將隨之儲存。如果您使用的是 2003 年以後的 Excel 版本,則必須將檔案另存為 .xlsm 而不是 .xlsx

若要刪除 UDF:

  1. 如上所示調出 VBE 窗口
  2. 清除程式碼
  3. 關閉VBE視窗

若要使用 Excel 中的 UDF:

=內容(A1)

要了解有關巨集的更多信息,請參閱:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有關 UDF 的詳細信息,請參閱:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

必須啟用巨集才能使其工作!

一旦我們知道了 ASCII 數字,就運行如下宏:

Sub KleanUp()
    Cells.Replace ChrW(166), ""
End Sub

我們將在其中替換166與實際數量。

相關內容