Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Ersetzen durch ....
01.10.2004 10:12:28
Steve
Hallo !
Ich habe eine Liste mit ca. 15000 Positionen, in Spalte E ist eine 3 stellige Zahl (zum Beispiel 020 oder 530) die ich durch eine 2 stellige Alpha/Nummerischezahl ersetzen möchten. Gibt es die Möglichkeit, wenn der Eintrag in Spalte E in Datei Nummer_1 mit der Eintrag in Spalte C in Datei Nummer_2 übereinstimmt soll der 2 stellige Eintrag in Spalte D Datei Nummer_2 in Spalte E Datei Nummer_1 übernommen werden! (Hier ein paar weitere Infos, Datei Nummer_1 besteht aus ca. 15000 Positionen und in Spalte E ist eine 3 stellige Zahl. Datei Nummer_2 ist eine Liste mit ca. 400 Eintragungen in Spalte C ist die 3 stellige Zahl und in Spalte D die 2 stellige Alpha/Nummerischezahl). Das heißt im Klartext die Eintragungen in Datei Nummer_2 kommen in Datei Nummer_1 mehrmals vor!
Wäre sehr Dankbar wenn jemand eine Idee hätte ….
Gruss
Steve

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ersetzen durch ....
ransi
hallo steve
Die zahlen in datei2 spalte "C" kommen aber je nur 1X vor?
wenn ja wäre das doch mit sverweis () und einer hilfspalte zu machen.
ransi
AW: Ersetzen durch ....
01.10.2004 13:49:18
Steve
Hallo Ransi,
ja, genau die 3 stelligen Zahlen in Datei_2 Spalte C kommen nur einmal vor, und unterschiedlich OFT in der Datei_1 Spalte E vor. Wie geht das mit sverweis?
=sverweis(Datei_1 Spalte E gleich Datei_2 Spalte C dann Datei_1 Spalte E durch Datei_2 Splate D ersetzen)
?
Diese Sverweis verstehe ich leider nicht so!
Hast du ein Vorschlag?
Gruss
Steve
AW: Ersetzen durch ....
ransi
hallo steve
mit sverweis() kannst du natürlich nicht die werte in spalte "E" ändern.
mit einer hilfspalte, in der du die sverweis() formel einträgst, kannst du dir aber die passenden entsprechungen aus spalte "D" holen.
dann die hilsspalte kopieren, und mit "inhalte einfügen-werte" die spalte "E" überschreiben.
Dieser code würde Die spalte "E" direkt mit den passenden werten überschreiben, aber du musst ihn dir noch anpassen.
Public

Sub sv()
Dim E As Long
Dim c As Long
For E = 1 To 15000
For c = 1 To 400
If Workbooks("datei2").Sheets("tabelle1").Cells(c, 3).Value = _
Workbooks("datei1").Sheets("tabelle1").Cells(E, 5).Value Then
Workbooks("datei1").Sheets("tabelle1").Cells(E, 5).ValueCells(E, 5).Value = _
Workbooks("datei2").Sheets("tabelle1").Cells(c, 4).Value
Exit For
End If
Next c
Next E
End Sub

ist zwar holprig mit den 2 schleifen, aber er tuts.
ransi
Anzeige
Fehlerteufel
ransi
sorry
Workbooks("datei1").Sheets("tabelle1").Cells(E, 5).ValueCells(E, 5).Value = _
muss natürlich:
Workbooks("datei1").Sheets("tabelle1").Cells(E, 5).Value= _
heissen
ransi
AW: Fehlerteufel
01.10.2004 15:56:41
Steve
Hallo Ransi
ich komme erst Morgen dazu das zu testen, wollt mich aber schon heute vorab bedanken.
Ich gebe dir selbstverständlich bescheid ....
DANKE
Steve
wäre nett.. o.T.
ransi
AW: wäre nett.. o.T.
02.10.2004 11:54:45
Steve
Hallo Ransi,
ich habe das Makro getestet, ich stelle fest das wenn Werte in Datei2, Spalte C nicht in Datei1, Spalte E vorhanden sind, dann passiert nix mehr, das heißt er sucht und sucht .... und bleibt eben stehen, ich muss dann „warmstarten“! Werte in Datei2 Spalte C müssen nicht unbedingt in Datei1 Spalte E vorhanden sein! Sind aber genau die gleichen Werte in Datei1 und 2 vorhanden, dann macht es alles richtig!
Was denkst du woran das liegen könnte?
Mit freundlichen Grüßen
Steve
Anzeige
liegt am code ;-)
ransi
Hallo steve
"Was denkst du woran das liegen könnte?"
Liegt ganz eindeutig am code ! ;-)
Bin (warum auch immer...)davon ausgegangen das jeder wert in spalte "e" auch in spalte "c" vorhanden ist.
habe jetzt mal mit countif vorher geprüft ob das so ist.
wenn ja wird gesucht und ersetzt.
wenn nicht gehts weiter.
ich habe das mal bei mir getestet mit 2 dateien mit 15000 bzw.400 werten.
es geht. Dauert aber ne weile bis er damit durch ist bei meinem erbsenzähler.

Sub svmitcount()
Dim E As Long
Dim c As Long
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = Workbooks("datei1.xls").Sheets("tabelle1")
Set wks2 = Workbooks("datei2.xls").Sheets("tabelle1")
For E = 1 To 15000
For c = 1 To 400
If WorksheetFunction.CountIf(wks2.Range("c1:c400"), wks1.Cells(E, 5).Value) > 0 Then
If wks2.Cells(c, 3).Value = wks1.Cells(E, 5).Value Then
wks1.Cells(E, 5).Value = wks2.Cells(c, 4).Value
Exit For
End If
End If
Next c
Next E
End Sub

ransi
Anzeige
AW: liegt am code ;-)
03.10.2004 11:32:23
Steve
Hallo Ransi,
leider klappt es noch nicht! Vielleicht liegt es daran dass WERTE sich in Spalte D Datei2 oft wiederholen? zum Beispiel:
Spalte E Datei1 = 082, Spalte C Datei2 = 082, Spalte D Datei2 = 0V
UND
Spalte E Datei1 = 120, Spalte C Datei2 = 120, Spalte D Datei2 = 0V
jedenfalls bei die 12000 Positionen die ich gestestet habe, sind nur ca. 2600 richtig umgesetzt! Ich wollt dich nicht nochmals unnötig stören, daher habe ich die Sache wirklich Stundenlang geprüft, und kann leider nicht 100% sagen warum es nicht klappt!?
Bin Dankbar um Rat!
Gruß
Steve
AW: liegt am code ;-)
ransi
hallo steve
ich weiss nicht was da bei dir klemmt. doppelte werte in spalte können normal nicht stören.
ich hab die werte die der code liefert, mit dieser formel kontrolliert.
=SVERWEIS(E1;[datei2.xls]Tabelle1!$C:$D;2;FALSCH)
musst du evtl. noch anpassen.
trag die formel mal in F1 von datei 1 ein und kopier runter soweit deine werte reichen.
bis 12000 oder so.
dann startest du den code.
bei mir sind die werte gleich.
wenns nicht so ist, lade die tabelle doch mal hoch wenn keine vertraulichen daten drin sind.
oder mail sie mir.
adresse kriegst du dann.
ransi
Anzeige
AW: liegt am code ;-)
04.10.2004 09:14:14
Steve
Hallo Ransi
wollt dir bescheid geben, ich habe diese SVERWEIS benutzt und der funktioniert so gut und schnell dass ich diese Lösung ausreichend finde!
Möchte mich bei dir ganz herzlich bedanken, hab jetzt endlich ein SVERWEIS Befehl gesehen und eingesetzt!
Viele Grüße
Steve
freut mich wenns klappt..
ransi
hallo steve
..nur interessehalber.
Bringt sverweis() andere werte als der code ?
ransi
AW: freut mich wenns klappt..
04.10.2004 19:21:53
Steve
Hallo Ransi,
ja, in einige zellen ist "#NV" = also nicht vorhanden, da die Wert in Spalte E Datei1, nicht in Datei2 Spalte C vorhanden ist! Sonst war alles richtig übernommen.
Gruß
Steve
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige