Liebe VBAler,
folgendes Problem:
Ich habe eine Datei mit 600.000 Zeilen.
In einer Spalte stehen sogenannte Listennummern, diese können auch häufiger vorkommen, in einer anderen Spalte stehen sogenannte IPOS-Nummern und daneben in der Spalte Buchstaben, jeder Buchstabe steht für einen Arbeitsvorgang.
Nun soll mein Programm folgendes tun:
In der Spalte mit den Listennummern sollen alle gleichen Nummern gefunden werden, dann soll in die Spalte mit den IPOS Nummern gegangen werden und geprüft werden, ob die höchste IPOS Nummer dort steht wo der Buchstabe "fb" daneben steht oder ob es noch eine größere Zahl bei einem anderen Buchstaben (A; M; C;...) der gleichen Ressourcenlistennummer gibt.
Wenn das nicht der Fall ist und "fb" die Größte Nummer hat, dann soll ein x in die Spalte9 (beliebige Spalte) gesetzt werden, sonst in die Spalte10 (beliebige Spalte daneben)
Hier mein angefangenes Makro:
Sub Zuordnung()
'
' Zuordnung Makro
'
' Tastenkombination: Strg+Umschalt+Z
'
Dim wks As Worksheet 'Definitionen von Variablen
Dim Zeile1 As Long
Dim ZeileL As Long
Dim Zeile As Long
Set wks = ActiveSheet 'Aktives Arbeitsblatt wird eingebunden
Const Spalte = 8 ' Spalte in der nach gleichen Listennummern gesucht werden soll
With wks
ZeileL = .Cells(.Rows.Count, Spalte).End(xlUp).Row
Zeile = 2 'Zelle ab der Werte verglichen werden sollen
Zeile1 = Zeile 'Startzeile des 1.Werts merken
Do Until Zeile > ZeileL
Zeile = Zeile + 1 'Wert mit vorheriger Zeile vergleichen
If .Cells(Zeile, Spalte).Value = .Cells(Zeile - 1, Spalte).Value Then Lookup
'ob eine höhere IPOS existiert als die wo in der Spalte daneben fb steht
Else
End Sub
Ich komme nicht weiter, mich überfordert nun, dass das Programm in mehreren Zeilen gleichzeitig suchen muss. Würde zu noch einer If-Bedingung in der If-Bedingung tendieren?
Ich hoffe ihr könnt mir helfen, lieben Gruß!!
Sarah
|