Vielleicht kennen Sie diese Situation auch. Sie haben eine Tabelle und erweitern diese stetig. Nun möchten Sie auch die Formeln automatisch erweitern lassen. Hier ein visualisiertes Beispiel:
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Formelspalte | Wertespalten | Weitere Spalten | ||
2 | =ZS2*2 | 1 | |||
2 | =ZS2*2 | 2 | |||
2 | 3 | ||||
2 | 4 |
Und das Ergebnis nach dem Vervollständigungsmakro sollte so aussehen:
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Formelspalte | Wertespalten | Weitere Spalten | ||
2 | =ZS2*2 | 1 | |||
2 | =ZS2*2 | 2 | |||
2 | =ZS2*2 | 3 | |||
2 | =ZS2*2 | 4 |
Für diese Vervollständigungsarbeit finden Sie folgend ein Beispielmakro.
Option Explicit
' ************************************************************************************************
' Autor/en: http://www.online-vba.de - Marc Wershoven
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von www.online-vba.de!
' Original-Quelltext: www.online-vba.de/vba_formelnvervoll.php
' ************************************************************************************************
Public Sub MWFormelnInTabelleAutomatischVervollstaendigen()
Dim z As Long
Dim s As Long
Dim lPruefSpalte As Long
lPruefSpalte = 1 'Wenn in dieser Spalte etwas steht wird die Formel vervollständigt
With ActiveSheet
For z = .UsedRange.Row To .UsedRange.Row + .UsedRange.Rows.Count - 1
'Die erste Zeile wird als Vorlage verwendet,
'bei vorhandenen überschriften in der Tabelle die Zweite (+1)!
If z > .UsedRange.Row + 1 And Trim(CStr(.Cells(z, lPruefSpalte).Value)) <> "" Then
For s = .UsedRange.Column To .UsedRange.Column + .UsedRange.Columns.Count - 1
'Wenn eine Formel in der Zelle drüber steht und in der aktuellen Zelle nicht,
'wird die Formel kopiert
If .Cells(z - 1, s).HasFormula = True And .Cells(z, s).HasFormula = False Then
.Cells(z, s).FormulaR1C1 = .Cells(z - 1, s).FormulaR1C1
End If
Next s
End If
Next z
End With
MsgBox "Fertig!"
End Sub
Autor: Marc Wershoven (Mai 2014)
VBA Programmierer gesucht?
http://www.WershovenOnline.de
Sie haben beispielsweise eine Frage zu einer Ihrer eigenen Makroprogrammierungen in VBA? Oder Sie suchen Unterstützung und Informationen über eine bestimmte Microsoft® Excel® Formel? Bei nahezu allen Fragen und Problemen rund um Microsoft® Office und VBA Makros steht Ihnen unser individueller Quick E-Mail Support zur Verfügung. Einfach, schnell und unkompliziert Ihre Frage in einer E-Mail formulieren, mit oder ohne Screenshots oder einer Beispieldatei absenden und kurze Zeit später haben Sie eine vollständige Lösung inkl. ausführlicher Erklärung vom Profi in Ihrem Postfach!
Zusätzlich besteht die Option, dass wir uns mittels Fernwartung (selbstverständlich nach Ihrem Einvertändnis) direkt "live" mit Ihnen zusammen an Ihrem Bildschirm gemeinsam Fragen und Problemstellungen anschauen und lösen können!
Weitere Informationen zu diesem kostenpflichtigen Angebot finden Sie auf der Anbieterseite von WershovenOnline® auf www.wershovenonline.de.
Zum Anbieter des Quick-E-Mail-Support...