Mehrstufiger Loop
10.09.2014 11:40:02
Steiger
ich arbeite zur Zeit an einem Bewertunggsystem das bestimmte Vorgänge bewerten soll.
Auf der einen Seite gibt es dazu die Datenbank.xls und das Bewertungssystem.xls.
Innerhalb des Bewertunggsystemes werden die einzelnen Vorgänge aufgerufen, bewertet und weiter kopiert.
folgende Schritte sind für das Grundmakro nötig:
1. Vorgangs-ID kopieren, beginnen bei Zeile A2, über A3,A4...usw bis
2. Die kopierte ID in das Bewertungssystem einfügen, also Sheetwechsel
3. in einen feste Positionkopieren "A3". Aus dieser Positionheraus greift das Bewertunggssystem
4. Das Bewertunggsystem gibt einen prozentualen Wert als Ergebniss aus, in "D55", kopieren
5. Ergebniss in L3 einfügen, bzw. in L4 für A4 usw.
Die Schritte eins 1. bis 5. habe ich soweit geschrieben, das klappt auch einigermaßen.
Was ich nicht hinkriege, ist der Loop. Bei meinem Makro passiert dieser ganze Prozess nur einmal mit der ID aus A3. Ich schaffe es nicht den Prozess für alle weiteren ID's aufzubauen.
Besonders da 1. fortlaufend ist, 3. absolut, 4. absolut, und 5. fortlaufend.
im folgenden habe ich meinen bisherigen Fortschritt beigefügt:
Sub Vorgangsbewertung()
x = Range("A2").Row
y = Range("A2").Column
Z = 0
Do While Cells(x, y).Value ""
x = x + 1
Z = Z + 1
Windows("Daten.xlsx").Activate ' Wechsel zur Datenbank
Range("A2").Select ' Auswahl der Vorgangs-ID
Selection.Copy ' Kopie der Vorgangs-ID
Windows("Bewertunggsystem.xlsm").Activate ' Wechsel zum Bewertungssystem
Sheets("Bewertung").Select
Range("A3").Select ' Auswahl des Pfeldes, welches die Bearbeitung des Vorganges einleitet
ActiveSheet.Paste ' Einfügen der Vorgangs-ID
' Bewertung erfolgt durch Bewertungssystem
Range("D56").Select ' Auswahl der ausgegebenen Bewertung
Selection.Copy ' Kopie der Bewertung
Sheets("Auswertung").Select ' Wechsel zum Glossar der Auswertung
Range("L3").Select ' Auswahl des Feldes für die Auswertung
Selection.PasteSpecial Paste:=xlPasteValues ' Einfügen der Auswertung, nur der Wert
Loop
MsgBox "Es wurden " & Z & " Vorgänge aktualisiert"
End Sub