1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Problem mit Umlauten in Excel aus DBF Datei

Discussion in 'Office-Programme' started by Marlu, Feb 28, 2007.

Thread Status:
Not open for further replies.
  1. Marlu

    Marlu Byte

    Hallo,
    ich habe eine DBF Datei, die ich regelmäßig aktuell bekomme. Diese enthält anstelle der Umlaute (ö,ä,..) und dem ß Zeichen Sonderzeichen, die ich gerne auf Knopfdruck in die entsprechenden richtigen Zeichen getauscht hätte. Hierfür wollte ich mir ein Makro schreiben, um dies zu tun. Das Makro funktioniert aber nur bei den Sonderzeichen, die der VB Editor kennt (z.B. ÷ für ö). Es gibt aber auch noch Balken (z.B. ▄ ), die der Visual Basic Editor nicht kennt und ich daher nicht schreiben kann. Gehe ich in Excel über Ersetzen und kopiere den Balken da rein, macht er das, aber das ist mir zu umständlich und ich hätte gerne was schnelleres. Weiß jemand Rat?????
    DANKE!!!
     
  2. brum

    brum Kbyte

    Versuchs mal mit StrConv(string, conversion)...

    Also zu deinem Beispiel: StrConv("„%", vbFromUnicode) ergebe dann dann das Zeichen ▄.

    Wie Du zu diesem "„%" kommst? Wenn Du das Zeichen in einer Zelle hast, kannst Du das im Direktbereich des Makro-Editors (Visual-Basic-Editor) folgendes eingeben: ? StrConv(Range("A1"), vbUnicode)
    Schon hast Du diese Zeichenfolge.

    Viel Glück ;-)

    Gruss
    Bruno
     
  3. Marlu

    Marlu Byte

    Hallo Bruno,
    danke für Deine Antwort, ich bastel immer noch daran rum, leider klappt es nicht, kenne mich auch nicht besonders mit dem VBEditor aus.
    Der Balken steht in Zelle A1 und ich habe folgendes im Makro eingegeben:

    Selection.Copy
    Cells.Replace What:=StrConv(Range("A1"), vbUnicode), Replacement:="ß", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False

    Was mache ich hier falsch? Leider klappt es nicht.

    1.0000 Dank für eine Antwort und Hilfe.
    Gruß
    Marlu
     
  4. brum

    brum Kbyte

    Hallo Marlu

    Jetzt hast Du die beiden Teile durcheinander gebracht...

    In dein Makro musst Du StrConv("„%", vbFromUnicode) eingeben.

    Der Teil mit ? StrConv(Range("A1"), vbUnicode) ist zum Ermitteln des Codes. (? ist übrigens in Basic immer Print)
    Ich habe also angenommen, das Zeichen, das Du ersetzen willst, kopierst Du zuerst in die Zelle "A1"... Das Resultat musst Du dann anstelle von "„%" einfügen.

    Gruss
    Bruno
     
  5. Marlu

    Marlu Byte

    Hallo Bruno,

    Den Direktbereich habe ich gefunden, das Zeichen kann ich schonmal ermitteln :-).

    Gruß
    Marlu
     
  6. Marlu

    Marlu Byte

    Hallo Bruno,

    ES KLAPPT größtenteile, total super!!!! Schonmal 1.000 Dank.

    Nur größtenteils, weil: das Zeichen ─ soll durch ein großes Ä ersetzt werden und hat den Code " %". Das macht er mir nicht :-(. Hat er da Probleme mit dem Leerzeichen????

    Hoffe, auch darauf findest Du eine Lösung?

    Gruß
    Marlu
     
  7. Hascheff

    Hascheff Moderator

    Hallo,
    mal ein ganz anderer Ansatz:

    DBF ist ursprünglich ein dBase-Format. Dieses Datenbankprogramm hatte seine beste Zeit vor Windows, also kann es sich um ASCII-Code handeln.
    Wahrscheinlicher ist aber, da die Dateien nicht von dBase erstellt wurden, sondern aus einem anderen Programm exportiert wurden, dass die Datei ANSI-Code enthält, Excel das aber nicht erkennt und als ASCII-Code behandelt.
    Mein Excel (2000, welches hast du eigentlich?) hat nämlich nur einen DBF-Importfilter "dBase-Dateien (*.dbf)", andere Programme (OpenOffice.org, Access) haben drei: dBase III, dBase IV, dBase 5.
    Versuch mal, die Datei mit einem dieser Programme mit einem dieser Filter zu öffnen, dBase 5 halte ich für am erfolgversprechendsten. Dann kannst du die Datei im Excel-Format speichern.

    Am einfachsten wäre es natürlich, ein anderes Unterformat beim Absender zu bestellen, aber das wird sicher nicht in deiner Macht liegen, sonst hättest du es bestimmt schon versucht.
     
  8. Marlu

    Marlu Byte

    Hallo Hascheff,
    das klappt leider nicht, habe auf dem Rechner kein Access :-)
    Danke für den Versuch.

    Gruß
    Marlu
     
Thread Status:
Not open for further replies.

Share This Page