Anzeige
Archiv - Navigation
1840to1844
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

Summen bilden in leeren Zellen

Summen bilden in leeren Zellen
23.07.2021 10:25:03
Blaupolanski
Hallo zusammen,
ich verzweifel ein wenig bei einem kleinem Makro, welches Summen für mich in leeren Zeilen bildet.
Ich habe hier eine Beispieldatei:
https://www.herber.de/bbs/user/147270.xlsm
Ich habe folgendes Makro geschrieben:

Sub summen()
Columns("I:I").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Font.Bold = True
'Summenbildung
Application.SendKeys ("+") & ("%") & ("0")
End Sub
Mir wird der Fehler "Mit dieser Formel gibt es ein Problem. Sie möchten keine Formel eingeben?..." angezeigt. Wenn ich den wegklicke mit "ok" dann bildet das Makro mir die trotzdem die Summen, außer in der ersten freien Zelle (im Beispiel I14). Komischerweise taucht dieser Fehler nicht immer auf, manchmal bildet das Makro mir auch alle Summen normal (wie gewollt) ab.
(Sollte der Fehler beim ersten Durchlauf nicht auftauchen, dann fügt eine Zeile hinzu und schreibt eine beliebige Zahl rein und lasst das Makro nochmal laufen, dann taucht der Fehler auf jeden Fall auf.)
Hat jemand eine Idee woran das liegt, oder wie man das Makro abändern könnte, damit dieser Fehler nicht auftaucht?
Bin euch sehr dankbar für jede Hilfe
Grüße

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summen bilden in leeren Zellen
23.07.2021 10:45:18
Daniel
Hi
SendKeys ist immer kritisch, kann funktionieren, muss aber nicht.
mich stört am meisten, dass ich das nicht im Einzelstep testen kann.
ich würde hier die Summenbildung selber programmieren:

Sub Makro3()
Dim Bereich As Range
For Each Bereich In Columns(9).SpecialCells(xlCellTypeConstants, 1).Areas
If Bereich.Count > 1 Then
Bereich(1).Offset(Bereich.Count).Formula = "=Sum(" & Bereich.Address & ")"
End If
Next
End Sub
Gruß Daniel
AW: Summen bilden in leeren Zellen
23.07.2021 10:56:16
Blaupolanski
Hallo Daniel,
vielen Dank für deinen Beitra. Habe schon mal gehört dass Sendkeys gerne mal zickt, jetzt habe ich es auch mal am tatsächlichen Beispiel erlebt. Wieder etwas gelernt. Dein Makro funktioniert, hätte da noch die Frage, wie man die Aussgabe in fetter Schrift hinterlegen könnte.
Habe da eben versucht mit Selection.Font.Bold = True vor dem Summenbefehl, hat leider aber nicht geklappt.
Wenn du mir das noch beantworten kannst, kann ich ruhigen Gewissens ins Wochenende starten.
Beste Grüße
Anzeige
AW: Summen bilden in leeren Zellen
23.07.2021 11:15:55
Blaupolanski
Ok, habs mir selber beantwortet
habe das noch hinter deinen Code gepackt und mein Ergebnis ist wie gewünscht:
Columns("I:I").Select
Range("I2").Activate
Selection.SpecialCells(xlCellTypeFormulas, 1).Select
Selection.Font.Bold = True
Schönes We!
AW: Summen bilden in leeren Zellen
23.07.2021 11:29:26
Daniel
lass das mit dem Select mal weg.
du kannst die Befehle auch direkt an die Zellbeschreibung dranhängen, ohne sie vorher zu selektieren:

Columns("I:I").SpecialCells(xlCellTypeFormulas, 1).Font.Bold = True
statt hinterher die Formeln fett zu machen, kannst du das auch das Format beim Einfügen der Formeln direkt machen.
Da ich nicht selektiere, musst du dann die Zelle in gleicher Weise ansprechen:

If Bereich.Count > 1 Then
Bereich(1).Offset(Bereich.Count).Formula = "=Sum(" & Bereich.Address & ")"
Bereich(1).Offset(Bereich.Count).Font.Bold = True
End If
um Schreibarbeit zu sparen, wenn das öfters vorkommt, kann man, wenn man die selbe Zelle öfters benötigt, die WITH-Klammer verwenden. Dabei wird das das bei WITH beschriebene Objekt immer dann eingefügt, wenn der Ausdruck mit einem Punkt beginnt.

If Bereich.Count > 1 Then
With Bereich(1).Offset(Bereich.Count)
.Formula = "=Sum(" & Bereich.Address & ")"
.Font.Bold = True
end with
End If
Gruß Daniel
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige