Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro funktioniert nicht...

Makro funktioniert nicht...
tome
Hallo Leute,
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro funktioniert nicht...
P@ulchen
Hi Thomas,
probier mal so:


Sub BEGrenze()
Dim iZeile As Long
Dim Startwert As Long
Application.ScreenUpdating = False
Sheets("Grafdata").Activate
'Löschen der alten Datensätze
Sheets("Grafdata").Range("A85:E91, A93:E99, B106:B127").ClearContents
Sheets("Erfolgssens.-Analyse BM").Range("B142:E148").ClearContents
'Szenarien nach unten kopieren:
Sheets("Grafdata").Range("A76:E82").Copy Sheets("Grafdata").Range("A85:E91")
'sortieren damit kleinster Preis in oberster Linie:
Sheets("Grafdata").Range("A84:E91").Sort Key1:=Range("B85"), Order1:=xlAscending, Header:=xlGuess _
    , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Szenarien nochmal nach unten kopieren:
Sheets("Grafdata").Range("A76:E82").Copy Sheets("Grafdata").Range("A93:E99")
'sortieren damit grösster Preis in oberster Linie:
Sheets("Grafdata").Range("A92:E99").Sort Key1:=Range("B85"), Order1:=xlDescending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'kopieren des kleinsten Preises nach unten, um Tabelle für Graf zu erstellen
Sheets("Grafdata").Range("B100").Copy Sheets("Grafdata").Range("B105")
'generiert Tabelle für Graf
'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
Application.ScreenUpdating = False
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Danke, danke P@ulchen, funktioniert
thomas
Hey P@ulchen,
endlich funktionierts!!!! endlich, endlich. Besten Dank für deine Hilfe!!!!!
Mit besten Grüssen
thomas
Danke für die Rückmeldung! oT
P@ulchen

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige