Texte zum Übersetzen finden
#1
Moin,

Habe eine Datei erhalten, die morgen schon fertig sein muss. Sie beinhaltet die letzte Spalte einer anderen Tabelle mit 4 Spalten
In dieser Spalte hat es Bezeichnungen, wie Maße / Einheiten / Texte, viele Doppelt
Nach dem entfernen der Duplikate bleiben noch 35025 Zeilen über.
In diesen Zeilen ist nun zu schauen, ob sie Texte enthalten, die Übersetzt werden müssen. Maße und Einheiten bleiben unübersetzt, aber Wörter 
Übersetzt wird in französisch und italienisch
wie Grösse, verzinkt, Kunststoff, mit, schwarz etc.
müssen übersetzt werden.

Ich bin kein Dummy in Excel, aber mit fällt nix besseres ein, als alles von Hand durchzuschauen und die zu übersetzenden Begriffe in ein neues Tabellenblatt einzutragen.
In 1,5 Stunden habe ich schon 3000 Zeilen durchgeschaut, hochgerechnet auf 35.000 Zeilen wird mich das noch etwa weitere 15 Stunden beschäftigen, also bleibt keine Zeit mehr hier zu helfen.
:17:

Kennt jemand eine bessere Möglichkeit?
Wenn ja, bitte helfen

PS:
Das es eine Zelle gibt, 46160, die 13584 Zeichen enthält, wissen wir. das muss auch noch geklärt werden
Tabelle1 ist die Rohdatei
Tabelle1 (2) sind die Duplikate gelöscht, ich markiere in Spalte B 
mit einem X ist was zu übersetzen
mit enem n ist nix zu übersetzen
(leider hab ich wohl ab und zu die Buchstaben vertauscht.)
In Tabelle3 füge ich die Begriffe händisch ein, die ich schon gefunden habe.

Rückwärts:
Schwierig ist dann später, wenn die Datei vom üÜbersetzen kommt, das wieder dem ursprünglichen Text in Tabelle1 richtig zuzuordnen.
Texte wieder einbauen, dachte ich, nehme ich =wechseln()
in Tabelle1 dann mit Sverweis bzw. dem pendant mit index und vergleich.


Angehängte Dateien
.xlsx   Typ_Typisierung_a.xlsx (Größe: 1,66 MB / Downloads: 13)
Top
#2
@Wastl

der Code sollte alle (die meisten) Texte anzeigen:


Code:
Sub Phi()

For i = 2 To 100000
   Tx = Split(Cells(i, 1))
   For K = 0 To UBound(Tx)
       If Len(Tx(K)) > 3 Then
           If Not Tx(K) Like "*#*" Then
               If Tx(K) <> UCase(Tx(K)) Then
                   r = r + 1
                   Cells(r, 5) = Tx(K)
               End If
           End If
       End If
   Next K
Next i
Columns("E:E").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Phi.VBA für diesen Beitrag:
  • Wastl
Top
#3
Hi phil,

geil

zu überprüfen, was er nicht gefunden hat, dauert nun etwas.
Von den 90 texten, die ich bisher händisch gefunden hab, findet das makro 44 nicht. zb:

schwarz/Alu geb
Alu.geb. Glas schwarz
Durchgang Ms
mit Zubehör
mit Gewinde
mit Dichtung
komplett mit Dichtiung
mit Mutter
mit Platte
mit Absperr.
mit Mischhebel
WR mit Platte
mit Wandhalterung

Kannste nochmal dran feilen bitte?
Top
#4
Hallo Wastl

anbei eine Wörterliste von mir mit ca. 540 Einzelwörter, reduziert auf das Stammwort.  Dabei ein Makro wo du in deiner Tabelle noch mal alle Daten nach diesen Stammwörtern auflisten kannst.  Ich meine damit reduziert auf "weiss, Rohr," usw. ohne die kombination "ohne Muffe, mit Flansch," etc.

Manche Wörter sind sicher nicht sinnvoll, bei über 10000 habe ich auf die schnelle sortiert und doppelte gelöscht.  Dabei sind vielleicht einige unsinnig.
Würde mich freuen wenn dir diese Liste zum Übersetzen weiterhilft.

mfg  Gast 123


Angehängte Dateien
.xlsx   Wörterliste für Wastl.xlsx (Größe: 18,87 KB / Downloads: 3)
Top
#5
vielen Dank euch allen
Top
#6
oder:


Code:
Sub M_snb()
  sn = Split(Trim(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Join([transpose(A1:A40000)]), vbLf, " "), Chr(9), " "), ",", ""), ".", ""), "'", ""), "/", " "), "-", " ")))
    
  With CreateObject("System.Collections.ArrayList")
    For j = 0 To UBound(sn)
      If InStr("0123456789", Left(sn(j), 1)) = 0 And Len(sn(j)) > 2 Then
        If Len(sn(j)) > 3 And UCase(sn(j)) <> sn(j) Then
          For jj = 0 To 9
            If InStr(sn(j), Format(jj)) Then Exit For
          Next
          If jj = 10 And Not .contains(Format(sn(j))) Then .Add Format(sn(j))
        End If
      End If
    Next
    .Sort
    Cells(1, 4).Resize(.Count) = Application.Transpose(.toarray)
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#7
Hallo snb

Woher weiß dein Code wo die Daten sind?
Bzw. was muss ich ändern, wenn ich in einer anderen Tabelle einen Bereich von A1:A88815 durchsuchen lassen will, der auch Leerzeilen enthält?

Was macht dieses Transpose?
Dein Tool ist rattenschnell, aber ich kapiers nicht ganz

Danke für Hilfe
Top
#8
Das kannst du 'ihm' erzählen:

[Tabelle1!A1:A40000] oder [Tabelle2!A1:A40000]
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#9
Hallo SNB,
das kann ich nicht nachvollziehen
wenn ich den range ändere, ändert sn auch die Anzahl der Einträge aber nicht gleich

A1:A
bei 20000 sind es 34080
bei 40000 sind es 68641
bei 80000 sind es 25306
bei 90000 sind es 47724
bei 100000 sind es 58058

Erkläre mir das bitte
Danke
Top
#10
wenn die 'activesheet' sich ändert, ändert auch das Ergebnis


Angehängte Dateien
.xlsb   __Typ snb 001.xlsb (Größe: 1,21 MB / Downloads: 1)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste