Ich brauche mal wieder etwas Hilfe von den Profis:
Ich möchte den Rechnungsdruck vereinfachen. Die Beispieldatei ist zu groß, daher versuche ich das Problem zu beschreiben...
Im Sheet wähle ich per Makro über eine in Spalte A improtierte Kundenliste Kunden aus. Dazu habe ich B11 über Gültigkeit - Liste einen Bezug auf Spalte A verpasst. Das Makro durchläuft die Liste von max. 91 Kunden automatisch und druckt das aktuelle Sheet sobald der Wert in G47 größer 0 ist. Das klappt irgendwie, ist aber höchst umständlich...
Bisher sieht der Code so aus:
Sub Seriendruck()
Application.ScreenUpdating = False
Application.Run "Blattschutz_aus"
'1
Range("B11").Select
ActiveCell.FormulaR1C1 = "=R[-8]C[-1]"
Range("G47").Select
If ActiveCell > 0 Then
Application.Run "Quickprint"
Application.Run "Druckverweigerung"
Application.Run "Rech_speich"
End If
'2
Range("B11").Select
ActiveCell.FormulaR1C1 = "=R[-7]C[-1]"
Range("G47").Select
If ActiveCell > 0 Then
Application.Run "Quickprint"
Application.Run "Druckverweigerung"
Application.Run "Rech_speich"
End If
'91
Range("B11").Select
ActiveCell.FormulaR1C1 = "=R[+83]C[-1]"
Range("G47").Select
If ActiveCell > 0 Then
Application.Run "Quickprint"
Application.Run "Druckverweigerung"
Application.Run "Rech_speich"
End If
'statistische Daten übernehmen
Application.Run "Statistikdaten"
'zurücksetzen auf ersten Kunden
Range("B11").Select
ActiveCell.FormulaR1C1 = "=R[-7]C[-1]"
Application.Run "Blattschutz_an"
Application.ScreenUpdating = True
End Sub
Ich möchte die Prozedur nun vereinfachen. 1. Die Gültigkeitsliste soll weg. Dazu habe ich eine Combobox eingebaut, die einen direkten Bezug zur Kundendatenbank hat. Kunden auswählen kann ich bereits, das Sheet aktualisiert sich auch danach, aber den Code so verändern, das die ersten 91 Werte der Liste in der Box durchlaufen werden, dazu reichen meine Kenntnisse nicht.
2. Der Code sollte vereinfacht werden, so dass ich nicht 91mal denselben hintereinander schreiben muss.
Über etwas Hilfe oder Lösungsansätze wäre ich sehr dankbar.
Gruß tursiops