Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro ändern bzw. erweitern

Forumthread: Makro ändern bzw. erweitern

Makro ändern bzw. erweitern
12.07.2005 17:54:14
mike49
Hallo zusammen,
ich habe ein "Löschen-Makro", das ich ändern bzw. erweitern möchte.
Der Wert in Zelle F42 wird über "=M49" gebildet.
Wenn ich nun das Makro starte, soll der Wert in F42 nach F40 nur dann übertragen werden, wenn er positiv ist. Ansonsten soll diese Bedingung übersprungen werden und das Makro so laufen wie bisher:

Sub Löschen()
With Application
.ScreenUpdating = False 'Bildschirmaktualisierung abschalten.
.EnableEvents = False 'Ereignissprozeduren deaktivieren.
End With
Range("E8:G38").Select
Selection.ClearContents
Range("F40:G40").Formula = "0"
Range("H2") = (Range("H2") + 1) Mod 12
If Range("H2") = 1 Then Range("J1") = (Range("J1") + 1)
Range("E8").Select
With Application
.ScreenUpdating = True 'Bildschirmaktualisierung einschalten.
.EnableEvents = True 'Ereignissprozeduren aktivieren.
End With
End Sub

Vielleicht geht's auch eleganter?
Gruß
Mike49
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ändern bzw. erweitern
12.07.2005 20:22:04
PeterW
Hallo Mike,
wenn ich dirch richtig verstanden haben dann probier das:

Sub Löschen()
With Application
.EnableEvents = False 'Ereignissprozeduren deaktivieren.
Range("E8:G38").ClearContents
Range("F40:G40") = 0
Range("H2") = (Range("H2") + 1) Mod 12
If Range("H2") = 1 Then Range("J1") = (Range("J1") + 1)
If Range("M49") > 0 Then Range("F40") = Range("M49")
.EnableEvents = True 'Ereignissprozeduren aktivieren.
End With
End Sub

Wertest du Tabellenereignisse aus? Falls nicht kannst du dir Enable.Events sparen. ScreenUpdating bringt bei deinem Code kaum etwas, wenn du dafür auf Select verzichtest (wie von mir geändert).
Gruß
Peter
Anzeige
AW: Makro ändern bzw. erweitern
12.07.2005 20:50:16
mike49
Hallo Peter,
klappt so nicht. Habe mich vielleicht umständlich ausgedrückt.
Das Makro so wie ich es habe läuft und setzt den Wert in F40 auf 0.
Ich möcht aber erreichen, dass nur wenn der Wert in F42 größer 0 ist, dieser Wert in F40 übernommen wird und F40 soll dann nicht auf 0 gesetzt werden.
Gruß
Mike49
Anzeige
AW: Makro ändern bzw. erweitern
12.07.2005 20:57:19
PeterW
Hallo Mike,
du hast ursprünglich geschrieben: Der Wert in Zelle F42 wird über "=M49" gebildet.
Im Makro wird direkt abgefragt, ob M49 &gt 0 ist und dann der Wert in F40 geschrieben.
If Range("M49") &gt 0 Then Range("F40") = Range("M49")
Das sollte also klappen.
Oder hast du vielleicht noch wichtige Details verschwiegen? ;-)
Gruß
Peter
Anzeige
AW: Makro ändern bzw. erweitern
12.07.2005 21:50:19
mike49
Hallo Peter,
habe mal die Datei hochgeladen:
https://www.herber.de/bbs/user/24672.xls
Probier's du mal. Bei mir klappt es nicht.
Gib zunächst mal Stunden ein, bis der Wert in F42 größer 0 ist und lass dann das Makro laufen. Jetzt sollte der positive Wert aus F42 nach F40 übernommen werden und nicht auf 0 gesetzt werden. Ist der Wert in F42 hingegen kleiner gleich 0, soll wie bisher F40 auf 0 gesetzt werden.
Ich hoffe, du kommst jetzt klar damit.
Gruß
Mike49
Anzeige
AW: Makro ändern bzw. erweitern
12.07.2005 22:09:56
PeterW
Hallo Mike,
wer kann denn ahnen, dass es sich bei F40:G40 um verbundene Zellen handelt und dass das Blatt mit Formeln gespickt ist. :-)
So sollte es laufen:

Sub Löschen()
Application.EnableEvents = False
If Range("M49") > 0 Then
Range("F40") = Range("M49")
Else
Range("F40") = 0
End If
Range("E8:G38").ClearContents
Range("H2") = (Range("H2") + 1) Mod 12
If Range("H2") = 1 Then Range("J1") = (Range("J1") + 1)
Application.EnableEvents = True
End Sub

Gruß
Peter
Anzeige
Danke Peter. Jetzt klappt's.
12.07.2005 23:13:28
mike49
Gruß
Mike49
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige