Hi, google weiss zwar viele Antworten auf meine Frage, aber irgendwie komm ich damit nicht recht klar..
Ich exportiere meine dict.cc Vokabelliste in eine txt-Datei, die oeffne ich dann in Excel - soweit so gut. Die Datei enthaelt in Spalte A das Deutsche Wort, in Spalte B das Englische.
Nun kann es sein, dass ein Englisches Wort mit mehreren Deutschen Bedeutungen enthalten ist. Das saehe in der Liste so aus:
A B
Hund dog
strafend punitive
Straf- punitive
ich will die liste nun so bereinigen, dass es dann so aussieht:
A B
Hund dog
strafend, Straf- punitive
also dass mehrfache Bedeutungen in nur einer Zeile mit Komma gereiht werden.
Hat da irgendjemand ne Idee???
ich füchte, Excel ist da nicht ideal.
Zum einen weil Excel eine Tabellenkalkulation ist (für Zahlen, Werte), du möchtest aber Texte verarbeiten.
Zum anderen weil du durch das Zusammenführen die Anzahl der Zeilen reduzierst.
Ich würde mit den Funktionen Wenn und Verketten arbeiten. Z.B. so: =WENN(B2=B3;VERKETTEN(A2;A3);„b“)
Wobei in meinem Beispiel in Spalte B die Englischen und in Spalte A die deutschen Begriffe stehen. Das Zeilnthema ist dadurch nicht gelöst.
ich denke dein Problem kann man mit Visual Basic lösen, doch da kann ich dir leider nicht weiterhelfen. Musst einen Vb Profi fragen. Ich hoffe du hast Erfolg.
Gruss Katerpetro
Hallo Suchender !
Du darfst nicht vergessen, Excle ist ein Tabellenkalkulationsprogramm und kein Vokabeltrainer ! Ich will ja nicht sagen, dass es gar nicht geht, aber mir fällt dazu absolut nichts passendes ein !
Ich drücke Die die Daumen - wer suchet - soll auch schon Mal gefunden haben !! )
Sub Doppelte\_Zusammenen()
Dim lRow 'As Double
Dim I As Double
Dim J As Double
Dim New\_Ger As String
Dim Old\_Ger As String
Dim New\_Eng As String
Dim Old\_Eng As String
' Doppel in Spalte A entfernen
lRow = ActiveSheet.Cells(65536, 1).End(xlUp).Row ' 65.536 bis 2003 danach 11.048.576
Old\_Ger = Cells(lRow, 1)
For I = lRow - 1 To 1 Step -1
New\_Ger = Cells(I, 1)
If New\_Ger = Old\_Ger Then
Cells(I, 2) = Cells(I, 2) & "," & Cells(I + 1, 2)
Rows(I + 1).Delete Shift:=xlUp
End If
Old\_Ger = New\_Ger
Next I
'Doppel in Spalte B entfernen
lRow = ActiveSheet.Cells(65536, 1).End(xlUp).Row ' 65.536 bis 2003 danach 11.048.576
Old\_Eng = Cells(lRow, 2)
For I = lRow - 1 To 1 Step -1
New\_Eng = Cells(I, 2)
If New\_Eng = Old\_Eng Then
Cells(I, 1) = Cells(I, 1) & "," & Cells(I + 1, 1)
Rows(I + 1).Delete Shift:=xlUp
End If
Old\_Eng = New\_Eng
Next I
End Sub
Ausser den Google-Ergebnissen habe ich auch keine Lösung für Dich. Aber eine solche Bereinigung ist in Excel mit seinen vielen Such-Optionen doch eigentlich nicht notwendig?
Hi,
warum stellst Du eigentlich Deine Frage doppelt?
Ein Mal reicht doch hier im Board auch.
Und so habe ich die Antwort von Reinhard nicht gesehen.
Ich kann nur dringend abraten, irgendetwas auf irgendwelchen Servern als Upload zu speichern.
Aber im Ernst: von mir hattest Du ja eine lauffähige Variante bekommen, die läuft zumindest von Excel 97 bis 2003, verursacht keinen Fehler, erstellt kein neues Blatt (man sollte daher eine Kopie der Mappe behalten!), bedient beide Spalten, ist kommentiert, so dass man nur eine Spalte bedienen könnte, also was willst Du mehr.
Hi, da wirst du wohl ganz tief in VBA einsteigen müssen.
Alleine schon das finden doppelte Begriffe könnte aufwendig werden - ich habe sowas noch nicht gemacht.
Wenn die Begriffe dann man da sind und untereinander stehen könnet man mit String befehlen den doppelten Begriff löschen und den Rest des Strings in die Zeile darüber kopieren oder einfügen.
Dann noch die Zeile löschen und auf zum nächsten Doppelbegriff. Aber ich glaube ganz ohen manuelles zutun wird es wohl nicht gehen.
Hi,
warum stellst Du eigentlich Deine Frage doppelt?
Ein Mal reicht doch hier im Board auch.
Und so habe ich die Antwort von Reinhard nicht gesehen.
Ich kann nur dringend abraten, irgendetwas auf irgendwelchen Servern als Upload zu speichern.
Aber im Ernst: von mir hattest Du ja eine lauffähige Variante bekommen, die läuft zumindest von Excel 97 bis 2003, verursacht keinen Fehler, erstellt kein neues Blatt (man sollte daher eine Kopie der Mappe behalten!), bedient beide Spalten, ist kommentiert, so dass man nur eine Spalte bedinen könnte, also was willst Du mehr.
Die meisten dieser Server stehen im Ausland. Viele in den USA. Da bist Du nicht sicher, das Deine Daten nicht zweckentfremdet werden. Wenn man dann noch jemandem die Daten (per Angabe des Links) über ein öffentliches Board (wer_weiss-Was.de) zugänglich macht, kann jeder in die Daten sehen.
In den USA reicht es der Heimatschutzbehörde schon, wenn Du bestimmte Worte im Text hast und Du giltst als terrorverdächtig. Einreise in die USA damit ausgeschlossen, Kanada, Mittelamerika,… wenn amerikanischer Luftraum auch nur tangiert wird ebenfalls. Und in Vokabellisten sind ja oft Worte wie B O M B E oder -nstimmung und M O R D oder -sgaudi…
selbst harmlose Worte wie P R O GRAMM I R U N G führen in Zusammenhang mit andern harmlosen Worten zur Überwachung Deines Mailverkehrs.
Uploads (cloud) also nur, wenn man das bei Telekom oder 1+1=gmx (also mit deutschen Servern) macht und den Link nur die wirklich notwendigen Nutzer bekommen.
Ich weiß das klingt nach Verfolgungswahn, aber bei mir gilt: sicher ist sicher. Und wehret den Anfängen.