Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Abkürzung ausschreiben

Abkürzung ausschreiben
24.08.2017 10:39:08
Moritz
Hallo liebe VBA Community,
ich hätte ein Problem und hoffe ihr könnt mir helfen.
Ich hab ein csv-datei mit über 1000 Abkürzungen in der ersten Zeile und darunter liegenden Werten.
Da ich zur Weiterverarbeitung der Daten gerne die Abkürzungen darunter ausgeschrieben haben möchte benötige ich eure Hilfe.
Also in der ersten Zeile befinden sich namen wie zum Beispiel RAW:AD13YD:0:0 und ich würde dafür gerne die entsprechende Abkürzung in der Zeile darunter haben. Und das würde ich gerne für alle Werte haben.
Ich habe zwar eine andere csv-Datei in der die Daten ausgeschrieben sind, aber leider steht dort nur AD13YD = Umgebungstemperatur. Das RAW und 0:0 fehlt dort.
Somit würde ich jetzt gerne einen relativ einfachen Code benötigen der prüft ob die Abkürzung in der Spalte vorhanden ist und wenn ja in der spalte darunter, den ausgeschriebenen Wert einfügt. Somit muss ich diesen Code zwar über 1000 wiederholen aber so kann ich sicher sein, dass ich alle Abkürzungen habe .
Meine Idee wäre:
Sub Kopieren()
If Cells(1) = "RAW:AD13YD:0:0" Then
insert("Exhaust O2 [%]) in cells(2)
Else
End 

Sub
Ich sags gleich in bin leider nicht so bewandert in VBA.
Gruß Moritz


		
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
keine Vorstellungsgraft ...
24.08.2017 11:26:11
Tino
Hallo,
mir fehlt einfach die Vorstellungsgraft.
Kannst Du ein/zwei Beispiele hochladen wie es aussieht und wie du es haben möchtest?!
Gruß Tino
OT: Nur gräftig nachkraben! ;-] Gruß owT
24.08.2017 12:29:36
Luc:-?
:-?
na dann oT.
24.08.2017 13:20:23
Tino
Anzeige
AW: na dann oT.
25.08.2017 10:12:45
Moritz
Hallo Tino,
es tut mir leid habe gestern nicht mehr die Zeit gehabt zu antworten. Und in der vorherigend Nachricht hab ich mich wohl zu undeutig ausgedrückt :D
also ich habe eine csv-datei(nennen wir sie csv1) mit den Abkürzungen und den ausgeschriebenen Namen. In der in der ersten Spalte sind die Abkürzungen und in der zweiten die augeschriebenen Namen.
Beispiel in der excel-datei, tabelle1
So dann bekomme ich aus einem Programm eine andere CSV-datei(csv2) in der in der ersten Reihe die Abkürzungen stehen und darunter die Werte, ungefähr wie in Tabelle 2 der Beispiel excel datei.
Da ich noch öfter solche Listen aus dem Programm extrahieren werde, würde ich gerne ein Makro schreiben, welches die csv-datei (csv2) bearbeitet.
Ich brächte einen Code, welcher prüft ob RAW:O2:0:0 in der ersten spalte enthalten ist. Wenn ja dann kopiere den Begriff "Oxygen" in the zweite Zeile. Falls der Wert nicht vorhanden ist, soll das Programm gar nix machen. Und das würde ich dann für alle Begriffe machen.
Ich weiß man könnte auch die Abkürzungen aus der csv-Datei(csv1) auslesen und benutzen um csv2 zu überprüfen, aber ich denke da wird der code deutlich schwieriger.
Danke für eure Hilfe schon mal
https://www.herber.de/bbs/user/115740.xlsx
Anzeige
AW: na dann oT.
25.08.2017 11:13:21
mmat
Das müsste so gehen. Die erste Spalte deiner Übersetzungsliste hat bei mir einen Namen bekommen ("SVZ", das steht für "Schlüsselverzeichnis") und ist bei mir in der gleichen Mappe. Weiterhin gehe ich davon aus, dass die Überschrifen in Zeile 1 des aktuellen Blattes stehen.
Sub ersetze_überschriften()
Dim sr As Range, rr As Range, c As Long, r As Long, lc As Long, s As String
Set sr = Range("svz")
lc = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
For c = 1 To lc
s = Cells(1, c)
Set rr = sr.Find(s)
If Not (rr Is Nothing) Then Cells(1, c) = rr.Offset(0, 1)
Next
End Sub
vg, MM
Anzeige
AW: na dann oT.
25.08.2017 14:35:15
Moritz
Also erstmal vielen dank für eure antworten. Leider haben beide Lösungen gerade noch nicht funktioniert. Aber ich versuche jetzt selbst mal noch ein bisschen es auf meine Datei anzupassen. Falls ich dann noch fragen hätte weil es immernoch nicht funktioniert melde ich mich nochmal.
Aber hut ab meine Herren :)
dieses Forum mit seinen Mitgliedern ist echt klasse und die Hilfe die einem gegeben wird absolut super !!!
Anzeige
liegt wohl an deinem Bsp. oder Beschreibung oT.
26.08.2017 07:05:45
Tino
hier wie ich es verstanden habe
25.08.2017 13:02:02
Tino
Hallo,
hier die Version wie ich es verstanden habe.
Zip-File entpacken
Im Ordner CSV-Test-Ordner die Datei MakroMappe.xlsm öffnen
Button drücken
1. CSV1 auswählen
2. CSV2 auswählen
3. Speichern unter neue CSV
Im Code evtl. das Trennzeichen für die Spalten anpassen
die bei dir verwendet werden! (aktuell = ";")
https://www.herber.de/bbs/user/115756.zip
Gruß Tino
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Abkürzungen in Excel automatisch ausschreiben


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass du zwei CSV-Dateien hast:

    • CSV1: Diese Datei enthält die Abkürzungen in der ersten Spalte und die ausgeschriebenen Werte in der zweiten Spalte.
    • CSV2: Diese Datei enthält die Abkürzungen in der ersten Zeile und die zugehörigen Werte darunter.
  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  3. Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.

  4. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub AbkuerzungenAusschreiben()
       Dim ws1 As Worksheet, ws2 As Worksheet
       Dim abk As Range, zelle As Range
       Dim auschrift As String
    
       Set ws1 = ThisWorkbook.Sheets("CSV1") ' Tabelle mit Abkürzungen
       Set ws2 = ThisWorkbook.Sheets("CSV2") ' Tabelle mit Werten
    
       For Each zelle In ws2.Rows(1).Cells
           Set abk = ws1.Columns(1).Find(zelle.Value)
           If Not abk Is Nothing Then
               auschrift = abk.Offset(0, 1).Value
               zelle.Offset(1, 0).Value = auschrift
           End If
       Next zelle
    End Sub
  5. Makro ausführen: Speichere das Modul und schließe den VBA-Editor. Führe das Makro über ALT + F8 aus und wähle AbkuerzungenAusschreiben.


Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“: Stelle sicher, dass die Abkürzungen in der ersten Spalte von CSV1 korrekt sind.

  • Lösung: Überprüfe die Formatierung: Achte darauf, dass die Abkürzungen genau übereinstimmen, einschließlich Leerzeichen und Groß-/Kleinschreibung.

  • Fehler: Keine Werte in CSV2 eingefügt: Überprüfe, ob das Makro das richtige Arbeitsblatt ansteuert. Möglicherweise musst du die Blattnamen anpassen.


Alternative Methoden

  • SVERWEIS-Funktion: Du kannst auch die Excel-Funktion SVERWEIS verwenden, um die Abkürzungen auszuschreiben. Beispiel:

    =SVERWEIS(A1;CSV1!A:B;2;FALSCH)
  • Power Query: Nutze Power Query, um Daten zu transformieren und Abkürzungen in eine lesbare Form zu bringen.


Praktische Beispiele

Angenommen, du hast in CSV1 folgende Daten:

Abkürzung Ausgeschrieben
RAW:AD13YD:0:0 Exhaust O2 [%]
RAW:O2:0:0 Oxygen

In CSV2 hast du:

RAW:AD13YD:0:0 RAW:O2:0:0
10 20

Nach Ausführung des Makros wird CSV2 so aussehen:

RAW:AD13YD:0:0 RAW:O2:0:0
Exhaust O2 [%] Oxygen
10 20

Tipps für Profis

  • Makro optimieren: Du kannst das Makro erweitern, um mehrere Spalten gleichzeitig zu verarbeiten.

  • Fehlerprotokoll: Füge ein Fehlerprotokoll hinzu, um zu sehen, welche Abkürzungen nicht gefunden wurden.

  • CSV-Dateien automatisiert verarbeiten: Du kannst den Code so anpassen, dass er mehrere CSV-Dateien in einem Durchgang bearbeitet.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, wenn ich mehr als zwei Spalten habe? Du musst die Schleife erweitern, um auch die weiteren Spalten zu berücksichtigen. Stelle sicher, dass die Indizes entsprechend angepasst werden.

2. Funktioniert das Makro auch mit Excel-Online? Leider nicht, da VBA-Makros nur in der Desktop-Version von Excel unterstützt werden.

3. Was kann ich tun, wenn die Abkürzungen nicht übereinstimmen? Überprüfe die Abkürzungen in beiden CSV-Dateien auf Tippfehler und unterschiedliche Schreibweisen. Achte auch auf Leerzeichen und Trennzeichen.

Das Tutorial hilft dir, Abkürzungen in Excel einfach und effizient auszuschreiben. Nutze die verschiedenen Methoden und passe sie an deine Bedürfnisse an!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige