Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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
Inhaltsverzeichnis

Suchen/Vergleichen/Informieren

Suchen/Vergleichen/Informieren
Karsten
Ich habe hier ein Problem und suche nach einer Lösung.
Mein Problem lautet.
Ich habe in einer Tabelle Datensätze von Fahrzeugen gespeichert. z.B. in Spalte c eine Fahrgestellnummer. Es kann aber auch sein das in Spalte d, und Spalte e noch andere Fahrgestellnummern erfasst sind.
In Spalte a wurde ein Bearbeitungsvermerk eingetragen.
Nun haben wir ein neues Jahr und ich beginne mit der Tabelle von vorne.
Die Datensätze kommen online und werden eingefügt.
Ziel ist es das Excel automatisch oder per Befehl prüft, ob es den Wert (die Fahrgestellnummer) in den Spalten c, d,e bereits in der alten Tabelle gab und wenn ja, dann den Bearbeitungsvermerk aus der jeweiligen Zeile alt a, dann in die neue Tabelle in z.B Feld f der jeweiligen Zeile einträgt einträgt.
Vielleicht fällt Ihnen dazu was ein.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suchen/Vergleichen/Informieren
12.01.2012 19:37:47
fcs
Hallo Karsten,
der Abgleich funktioniert mit folgendem Makro. Die Fahrgestellnummern dürfen jedoch nicht mehrfach in der Altdatei vorkommen, damit es korrekt funktioniert.
Es werden in dieser Version immer alle Zeilen der neuen Datei mit der Alt-Datei abgeglichen.
Gruß
Franz
Sub AlteFahrGestellNr_abgleichen()
Dim wbNeu As Workbook, wksNeu As Worksheet
Dim wbAlt As Workbook, wksAlt As Worksheet, strNameAlt As String, rngAlt As Range
Dim lngZeile As Long, lngZeileStart As Long
Dim varSuchen As Variant, lngSpalte As Integer
Dim rngSuchen As Range
Set wbNeu = ActiveWorkbook
Set wksNeu = wbNeu.Worksheets(1)                     'ggf. anpassen
wksNeu.Activate
lngZeileStart = 2   'Zeile ab der die Fahrgestell-Nrn abgeglichen werden sollen
strNameAlt = "C:\Users\Public\Test\DateiAlt.xls"      'anpassen - Name der Altdatei muss _
verschieden von der neuen Datei sein !!
'Altdatei öffnen
Set wbAlt = Workbooks.Open(Filename:=strNameAlt, ReadOnly:=True)
Set wksAlt = wbAlt.Worksheets(1)                      'ggf. anpassen
With wksAlt
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
'Zellbereich in Altdatei, der durchsucht werden soll - hier Spalten C bis E
Set rngAlt = .Range(.Cells(2, 3), .Cells(lngZeile, 5))
End With
Application.ScreenUpdating = False
With wksNeu
'Zeilen in neuer Datei abarbeiten
lngZeile = .Cells.SpecialCells(xlCellTypeLastCell).Row
For lngZeile = lngZeileStart To lngZeile
For lngSpalte = 3 To 5 'Spalte C bis E - Spalten mit den Fahrgestell-Nrn.
varSuchen = .Cells(lngZeile, lngSpalte).Value
If varSuchen  "" Then
'Suchbegriff in Altdatei suchen
Set rngSuchen = rngAlt.Find(what:=varSuchen, LookIn:=xlValues, lookat:=xlWhole)
If Not rngSuchen Is Nothing Then
'Vermerk aus Spalte A der Alt-Datei in Spalte F der Neu-Datei übertragen
wksNeu.Cells(lngZeile, 6).Value = wksAlt.Cells(rngSuchen.Row, 1).Value
Exit For
End If
End If
Next
Next
End With
'Altdatei wieder schliessen
wbAlt.Close savechanges:=False
Application.ScreenUpdating = True
MsgBox "Abgleich mit Altdatei ist abgeschlossen", vbInformation + vbOKOnly, _
"Ableich Fahrgestellnummern"
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige