Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
636to640
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
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige