Bitte nicht lachen- meine eigenen VBA Versuche.
Die Makro_Blatt1 ; _Blatt2; _Blatt3 und _Blatt4 funktionieren, J E D O C H nur wenn ich sie einzeln auffrufe.
Allerdings läuft das Gesamte Makro immer von vorn bis zum Schluß ab, es soll aber immer nur das eine Makro abgearbeitet werden, wenn die Bedingungen erfüllt sind.
Habe die einzelnen Makros bereite in
Sub Makro_Blattwahl eingearbeitet.
Nun sollen aber immer nur eines ausgeführt werden, und zwar wenn:
für Makro_Blatt1 wenn in C5 und D5 leer. dann Ausführung
für Makro_Blatt2 wenn in D5 und C25 ( da steht eine Zahl "2") befüllt dann Ausfü _
hrung
für Makro_Blatt3 wenn in D5 und C43 ( da steht eine Zahl "3") befüllt dann Ausführung
für Makro_Blatt4 wenn in D5 und 62 ( da steht eine Zahl "4") befüllt dann Ausführung
Vieleicht kann man auch die Blatt Nr., mit einbeziehen.
Sub Makro_Blattwahl()
'für 1Blatt
If Range("C5") = "" And Range("D5") = "" Then Call Worksheets("Bearbeiten").Range("B4:D250"). _
ClearContents
Sheets("Bestand").Select
Range("B45:D55").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurde 1 Blatt übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents 'dies nur als Test
End If
'für 4Blatt
If Range("D5") "" And Range("C62") "" Then Call Worksheets("Bearbeiten").Range("B4:D250"). _
ClearContents
Sheets("Bestand").Select
Range("B7:D20,B26:D39,B45:D58,B64:D74").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 4 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents 'dies nur als Test
End If
'für 3Blatt
If Range("D5") "" And Range("D43") "" Then Call Worksheets("Bearbeiten").Range("B4:D250") _
.ClearContents
Sheets("Bestand").Select
Range("B7:D20,B26:D39,B45:D55").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 3 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents 'dies nur als Test
End If
'für 2Blatt
If Range("D5") "" And Range("D24") "" Then Call Worksheets("Bearbeiten").Range("B4:D250"). _
ClearContents
Sheets("Bestand").Select
Range("B45:D55,B26:D36").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 2 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents 'dies nur als Test
End If
End Sub
'folgende Makros funktionieren und dienen als Funktionsablauf
'diese sind oben in Makro_Blattwahl()einghearbeitet.
Sub Makro_Blatt1()
Worksheets("Bearbeiten").Range("B4:D250").ClearContents
Sheets("Bestand").Select
Range("B45:D55").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurde 1 Blatt übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents 'dies nur als Test
End If
End Sub
Sub Makro_Blatt2()
Worksheets("Bearbeiten").Range("B4:D250").ClearContents
Sheets("Bestand").Select
Range("B45:D55,B26:D36").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 2 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents
End If
End Sub
Sub Makro_Blatt3()
Worksheets("Bearbeiten").Range("B4:D250").ClearContents
Sheets("Bestand").Select
Range("B7:D20,B26:D39,B45:D55").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 3 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents
End If
End Sub
Sub Makro_Blatt4()
Worksheets("Bearbeiten").Range("B4:D250").ClearContents
Sheets("Bestand").Select
Range("B7:D20,B26:D39,B45:D58,B64:D74").Select
Selection.Copy
Sheets("Bearbeiten").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If MsgBox("Soll Bestand nun gelöscht werden?", _
vbOKCancel, " Es wurden 4 Blätter übertragen") = vbOK Then
Worksheets("Bearbeiten").Range("B:C").ClearContents
End If
End Sub
kann jemand jelfen?
Grüße Andreas