Makro funktioniert nicht...
tome
Wenn ich auf CommandButton3 (befindet sich auf dem Erfolgssens-Blatt) clicke (wodurch das Makro ausgeführt werden sollte), sprigt die aktive Zelle lediglich zuB105 auf dem Grafdata-Blatt. Wenn ich aber im Makrocode bin und mit F8 das Makro durchgehe funktioniert alles tiptopp. Was könnte das Problem sein? Warum gibts beim Einzelschritt ausführen (F8) keinen Fehler?
Dieses Makro habe ich auf die Tabelle geschrieben:
Private Sub CommandButton3_Click()
' Szenariensortieren Makro auf CommandButton3; Makro BEGrenze ist in Modul 2.
Call BEGrenze
End Sub
Dieses Makro steht in Modul2
Sub BEGrenze()
Application.ScreenUpdating = False
'Löschen der alten Datensätze
Sheets("Grafdata").Select
Sheets("Grafdata").Range("A85:E91").Select
Selection.ClearContents
Sheets("Grafdata").Range("A93:E99").Select
Selection.ClearContents
Sheets("Grafdata").Range("B106:B127").Select
Selection.ClearContents
Sheets("Erfolgssens.-Analyse BM").Select
Sheets("Erfolgssens.-Analyse BM").Range("B142:E148").Select
Selection.ClearContents
'Szenarien nach unten kopieren:
Sheets("Grafdata").Select
Sheets("Grafdata").Range("A76:E82").Copy
Sheets("Grafdata").Range("A85").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'sortieren damit kleinster Preis in oberster Linie:
Sheets("Grafdata").Select
Range("A84:E91").Select
Selection.Sort Key1:=Range("B85"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Szenarien nochmal nach unten kopieren:
Sheets("Grafdata").Select
Sheets("Grafdata").Range("A76:E82").Copy
Sheets("Grafdata").Range("A93").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'sortieren damit grösster Preis in oberster Linie:
Sheets("Grafdata").Select
Range("A92:E99").Select
Selection.Sort Key1:=Range("B85"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Sheets("Grafdata").Select
'kopieren des kleinsten Preises nach unten, um Tabelle für Graf zu erstellen
Sheets("Grafdata").Range("B100").Copy
Sheets("Grafdata").Range("B105").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'generiert Tabelle für Graf
Dim iZeile As Long
Dim Startwert As Long
'On Error GoTo errorhandler
Startwert = WorksheetFunction.RoundUp(Range("B105"), 0)
iZeile = 106
Do Until Startwert > Range("B101")
Cells(iZeile, 2) = Startwert
iZeile = iZeile + 1
Startwert = Startwert + 3
Loop
End Sub
Wie gesagt, wenn ich das Makro mit F8 durchgehe, dann funktioniert alles tiptopp. Nicht aber, wenn ich den CommandButton3 auf dem Erfolgssens-Blatt drücke, wodurch eigentlich das Makro ausgelöst werden sollte.
Besten Dank für Hilfe
thomas