Gruess Gott miteinander,
gerne würde ich im meiner "Ausdruckroutine" ein Makro starten wenn in einer Tabellenblattzelle ein bestimmter Wert steht. Hier meine Routine:
Sub Druck_alle_Massenlisten_zu_Lieferschein()
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim a As Integer
Dim s As String
Set ws = Workbooks("Bearbeitung.xls").Worksheets("Angebot")
Set ws2 = Workbooks("Bearbeitung.xls").Worksheets("Support")
For a = 50 To 200
If ws2.Cells(a, 1).Value = "ja" Then
s = ws.Cells(a, 11).Value & ".xls"
Windows(s).Activate
Application.Run "'" & s & "'!Lieferschein"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Application.Wait Now + TimeSerial(0, 0, 0.01)
'If Target.Address = "MassenlistenSchliessenOderNicht" Then
'If Target.Value = 2 Then
Application.Run "PERSONL.XLS!AktiveDateiSchliessenOhneSpeichern"
Windows("Bearbeitung.xls").Activate
End If
Next a
End Sub
Es geht darum das Makro im Makro nur dann ablaufen zu lassen wenn ein Bestimmter Wert in einer Zelle eines Tabellenblatts der Datei Bearbeitung.xls steht.
Ich hatte bereits den Versuch unternommen einer Zelle den Namen "MassenlistenSchliessenOderNicht" zu geben und wenn eine 2 in der Zelle steht das Makro "AktiveDateiSchliessenOhneSpeichern" mit ablaufen zu lassen. Geht natürlich mangels Fachkenntnisse nicht... Hier herausgelöst die Zeilen um die es geht:
'If Target.Address = "MassenlistenSchliessenOderNicht" Then
'If Target.Value = 2 Then
Application.Run "PERSONL.XLS!AktiveDateiSchliessenOhneSpeichern"
Letztendlich möchte ich gar mehrere verschiedene Makros auswählen können:
'If Target.Address = "MassenlistenSchliessenOderNicht" Then
'If Target.Value = 2 Then
Application.Run "PERSONL.XLS!AktiveDateiSchliessenOhneSpeichern"
'If Target.Value = 1 Then
Application.Run "PERSONL.XLS!AktiveDateiSchliessenMitSpeichern"
'If Target.Value = 0 Then
'Nothing
Über jedwede Hilfe freue ich mich sehr!
Mit freundlichen Gruessen
Winfried