Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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
Inhaltsverzeichnis

Makro verkürzen

Makro verkürzen
06.07.2015 22:18:39
Burghard
Hallo,
ich möchte mein Makro gerne verkürzen. Geht das mit Case? Ich würde auch gerne, dass die Neuberechnung nur im Bereich A2 bis L5 und nicht über das ganze Tabellenblatt stattfindet. Da müsste wohl der Range-Bereich angegeben werden. Hilfe wäre nett.
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
If WorksheetFunction.Sum(Range("A2:A5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("B2:B5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("C2:C5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("D2:D5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("E2:E5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("F2:F5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("G2:G5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("H2:H5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("I2:I5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("J2:J5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("K2:K5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
If WorksheetFunction.Sum(Range("L2:L5")) > 1000 Then
MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
End If
Application.ScreenUpdating = True
End Sub
Grüße Burghard

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

Betreff
Datum
Anwender
Anzeige
AW: Makro verkürzen
06.07.2015 22:28:48
Sepp
Hallo Burhard,
und wo liegt der tiefere Sinn des ganzen?
Private Sub Worksheet_Calculate()
  Dim lngCol As Long
  
  For lngCol = 1 To 12
    If WorksheetFunction.Sum(Range(Cells(2, lngCol), Cells(5, lngCol))) > 1000 Then
      MsgBox "Höchstbetrag von 1.000 € wird überschritten!"
      Exit For
    End If
  Next
  
End Sub


Gruß Sepp

Anzeige
AW: Makro verkürzen
07.07.2015 11:04:45
Burghard
Hallo Sepp,
danke für Deine Lösung. Es gibt aber noch ein Problem. Ich bin am Lernen und wollte sehen, wie man den Code kürzen kann.
Das Problem bei Deiner Lösung ist, dass die MessageBox aufgeht, wenn ich unterhalb des Bereichs "A2:L5" etwas in eine Zelle eintrage.
Mein Vorgehen:
Ich trage zum Beispiel in Zelle A30 und A31 einen Betrag ein, diese werden monatlich in Zelle A2 summiert.
Ich trage zum Beispiel in Zelle F30 und F31 einen Betrag ein, diese werden monatlich in Zelle A3 summiert.
Ich trage zum Beispiel in Zelle H30 und H31 einen Betrag ein, diese werden monatlich in Zelle A4 summiert.
Ich trage zum Beispiel in Zelle J30 und J31 einen Betrag ein, diese werden monatlich in Zelle A5 summiert.
Das Makro soll jetzt die Beträge in den Zellen A2:A5 summieren und eine Meldung ausgeben, wenn die Summe größer als 1000 ist.
Gibt es eine Lösung das Calculate Ereignis einzugrenzen?
Grüße Burghard

Anzeige
AW: Makro verkürzen
07.07.2015 11:11:02
Sepp
Hallo Burghard,
dann nimm doch das Change-Ereignis, da kannst du den Bereich eingrenzen.
Gruß Sepp

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige