Sonderzeichen, das beim Importieren einer Excel-Tabelle zu Fehlern führt

746
Adam White

Dieses Zeichen "" (das nach dem Speichern dieses Kommentars nicht sichtbar ist). Es sieht aus wie zwei zusammengeschobene Klammern, die sich berühren, um ein hohes Rechteck zu bilden. []

Ein exportiertes Excel-Arbeitsblatt von Filemaker (alte Version) verursacht einen Fehler und stoppt den Import in einer bestimmten Zeile, die wiederkehrende Zeichen enthält.

Ich kann das seltsame Zeichen nur sehen, wenn ich den Zellinhalt in Wordpad kopiere. Die Zeile enthält 2 unsichtbare Zeilenumbruchs-Markup-Tags. Wenn dies passiert, muss ich den Inhalt in Wordpad bearbeiten, einfügen und dann funktioniert es. Zeigt sich alle paar Reihen.

Zweite Frage. Gibt es eine Möglichkeit, dies in Excel zu suchen und alle zu löschen?

0
Können Sie das Zeichen "* Junk" in einer Zelle isolieren, indem Sie alle guten entfernen? Gary's Student vor 6 Jahren 0
Ich habe dieses Zeichen isoliert und die Excel-Datei danach durchsucht, aber es wurden 75.000 leere Zellen angezeigt, und nicht die betreffende Problemzelle. Adam White vor 6 Jahren 0
Mit den beiden Klammern (wie '[]') kann ein Zeichen angezeigt werden, das in der aktuellen Schriftart nicht angezeigt werden kann. Es gibt also nicht viel Informationen über "einen merkwürdigen Charakter" hinaus. Aganju vor 6 Jahren 0

1 Antwort auf die Frage

1
Gary's Student

Wir müssen zuerst den falschen Charakter identifizieren und ihn dann entfernen.

Fügen Sie zunächst die folgende benutzerdefinierte Funktion in ein Standardmodul ein:

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 

Die Funktion sagt uns genau, was eine Zelle enthält. Es gibt:

  1. die Anzahl der Zeichen
  2. für jedes Zeichen den Unicode-Wert

    Hier ist ein Beispiel:

Wir wissen, wie viele Zeichen die Zelle C2 enthält, und wir kennen den ASCII-Code für jedes Zeichen.

Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:

  1. ALT-F11 öffnet das VBE-Fenster
  2. ALT-I ALT-M öffnet ein neues Modul
  3. Fügen Sie das Zeug ein und schließen Sie das VBE-Fenster

Wenn Sie die Arbeitsmappe speichern, wird die UDF damit gespeichert. Wenn Sie später als 2003 eine Version von Excel verwenden, müssen Sie die Datei als .xlsm statt als .xlsx speichern

So entfernen Sie die UDF:

  1. Öffnen Sie das VBE-Fenster wie oben
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

So verwenden Sie die UDF aus Excel:

= WhatsIn (A1)

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

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

und

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

und Einzelheiten zu UDFs finden Sie unter:

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

Makros müssen aktiviert sein, damit dies funktioniert!

Sobald wir die ASCII-Nummer kennen, führen Sie ein Makro wie folgt aus:

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

wo würden wir die 166 durch die tatsächliche Zahl ersetzen .

Danke für diese Details! Ich habe etwas Erfahrung mit Formeln und Codierungen, also kann ich hoffentlich diese Arbeit machen. Dich wissen lassen! Danke noch einmal. Adam White vor 6 Jahren 0
@AdamWhite ............... Viel Glück! ....................... Gary's Student vor 6 Jahren 0
Das ist fantastisch. Sie scheinen immer auf den Punkt des Problems zu gehen. Und ich möchte unbedingt wissen, was der böse, geheimnisvolle Charakter ist. :-) Bandersnatch vor 6 Jahren 0
@Bandersnatch .................. ich auch .................. die Wahrheit ist irgendwo da draußen .... .... Gary's Student vor 6 Jahren 0