Herbers Excel-Forum - das Archiv

VBA- Einträge bis zur letzten Zeile


Betrifft: VBA- Einträge bis zur letzten Zeile
von: Fred Neumann

Geschrieben am: 18.09.2019 15:05:40
Hallo VBA-Experten,
wenn ich folgendes Makro ausführe

With Sheets("Tabelle1")
.[B7].Resize(.UsedRange.Rows.Count).Formula = "=Countif(BasisNeu!F$2:F$50000,A7)"
.[C7].Resize(.UsedRange.Rows.Count).Formula = "=sumif(BasisNeu!F$2:F$50000,A7,BasisNeu!  _
_
AD$2:AD$50000)/B7"
.[D7].Resize(.UsedRange.Rows.Count).Formula = "=sumif(BasisNeu!F$2:F$50000,A7,BasisNeu!  _
_
AE$2:AE$50000)/B7"
.[E7].Resize(.UsedRange.Rows.Count).Formula = "=Countif(BasisNeu!G$2:G$50000,A7)"
.[F7].Resize(.UsedRange.Rows.Count).Formula = "=sumif(BasisNeu!G$2:G$50000,A7,BasisNeu!  _
_
AD$2:AD$50000)/E7"
.[G7].Resize(.UsedRange.Rows.Count).Formula = "=sumif(BasisNeu!G$2:G$50000,A7,BasisNeu!  _
_
AE$2:AE$50000)/E7"
.[H7].Resize(.UsedRange.Rows.Count).Formula = "=B7+E7"
.[I7].Resize(.UsedRange.Rows.Count).Formula = "=(F7+C7)/2"
.[J7].Resize(.UsedRange.Rows.Count).Formula = "=(D7+G7)/2"
End With

werden entsprechend Formeln eingetragen.
Allerdings:
Nicht bis zur letzten Zeile mit Inhalt sondern bei jedem "Durchgang" um 4 weitere Zeilen. Woran liegt dies und wie ändere ich dieses.
Zum besseren Verständnis: https://www.herber.de/bbs/user/132096.xlsb
Würde mich über Hilfe freuen!
Gruß
Fred

Betrifft: AW: VBA- Einträge bis zur letzten Zeile
von: 1713687.html

Geschrieben am: 18.09.2019 15:33:49
Hallo Fred,
na ja, du mußt beim offset halt auch berücksichtigen, dass deine Daten erst ab Zeile 7 beginnen und die ersten 6 Leerzeilen abziehen.
Zudem würde ich nicht mit UsedRange arbeiten, ist ein unsicherer Kandidat, weil auch vorhandene Formatierungen mit zur UsedRange gehören. An deiner Stelle würde ich die letzte belegte Zeile in Spalte A ermitteln.
https://www.herber.de/bbs/user/132097.xlsb
Gruß Werner

Betrifft: AW: VBA- Einträge bis zur letzten Zeile
von: 1713692.html
Geschrieben am: 18.09.2019 15:51:54
Hallo Werner,
danke für den Korrekturvorschlag und deine verständliche Erklärung.
Das Wissen, dass auch vorhandene Formatierungen mit zur UsedRange gehören, bewahrt mich wohl vor weiteren "verzweifelten Versuchen" auf meinem nächsten Sheet.
Nochmals Danke für deine kompetente Hilfe!
Gruß
Fred

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: 1713694.html
Geschrieben am: 18.09.2019 15:57:28

Excel-Beispiele zum Thema "VBA- Einträge bis zur letzten Zeile"
Doppelte Einträge finden und löschen Submenüeinträge
Seitenanzahl eintragen Letztes Speicherdatum eintragen
Fußzeilen beim Öffnen eintragen Wert in erste leere Zelle eintragen
Häkchen eintragen KGRÖSSTE über VBA eintragen
Wochentage Mo - Fr in Tabelle eintragen ListBox-Einträge auswechseln
Bewerten Sie hier bitte das Excel-Portal