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

Makro Zellen ausfüllen automatisch für 4 Spalten?

Makro Zellen ausfüllen automatisch für 4 Spalten?
27.09.2007 11:06:00
Andreas
Einen wunderschönen Donnerstag, liebe Herber Fans,
ich habe mir vor einiger Zeit ein Makro aus vielen Komponenten und zugegebenermaßen mit fremder Hilfe zusammengebaut, welches innerhalb einer Markierung leere Zellen mit dem Wert der vorhergehenden Zelle auffüllt, bis ein neuer Wert auf den Plan tritt.

Sub Ausfüllen()
Dim w As Variant
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
If c.Value  "" Then
w = c.Value
Else
c.Value = w
c.Font.ColorIndex = 37
c.Font.Bold = False
End If
Next c
Application.ScreenUpdating = True
End Sub


Das funktioniert wunderbar und ist nützlich. In letzter muß ich aber mit sehr umfangreichen Tabellen arbeiten, die keine leeren Zellen haben dürfen (dann greifen nachfolgende Formeln nicht). Es ist jedoch etwas mühsam, in bspw. 4 Spalten immer von Zeile 1 bis 2.000 die Markierung zu setzen. Deswegen habe ich gerade versucht, dort eine Schleife einzubauen.


Sub Ausfüllen2()
Dim w As Variant
Dim c As Range
Application.ScreenUpdating = False
c = ActiveCell
Do Until IsEmpty(c)
If c.Value  "" Then
w = c.Value
Else
c.Value = w
c.Font.ColorIndex = 37
c.Font.Bold = False
End If
Application.ScreenUpdating = True
Loop
End Sub


Aber ich bekomme eine Fehlermeldung: "Laufzeitfehler 91; Objektvariable oder With Blockvariable nicht festgelegt".
Auch wenn ich dieses lösen kann, weiß ich nicht, wie ich realisieren kann, daß die Aktion für die 2, 3 und 4 Spalte durchgeführt wird, wenn die erste durchlaufen ist. Mir fällt auch gerade auf, daß die Anweisung "until is empty" den Sinn dieses Makros konterkariert... Mir ist aber kein Schleifentyp bekannt, der das leisten könnte. Entweder gebe ich den Range in Form von Zeilen an 1:2.000 oder aber ich nutze die letzte Zeile, die bei meinen Tabellen von Hause aus fett geschrieben ist. Also Until font.color.bold = true.
Und danach zur nächste Spalte. Via Offset?!
Die Konstruktion eines derartigen Makros übersteigt meine Fähigkeit in VBA bei weitem. Jede einzelne Komponente ist für mich noch nachvollziehbar. Aber ich bekomme sie nicht kombiniert.
Könnte ihr mir sagen, mit welchen Methoden und Anweisungen das Ziel erreiche? (start in zeile 1/ spalte 1, ausfüllen until font = bold, next spalte, wiederholen, until spalte = 4)
Vielen Dank für eure Ideen und Mühen.
Grüße aus Berlin, Andreas Hanisch

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zellen ausfüllen automatisch für 4 Spalten?
27.09.2007 13:08:55
Beate
Hallo Andreas,
probiere mal dies, es umfasst Spalten A:D und arbeitet mit Ersetzen (erst durch Formel, die dann in Wert gewandelt wird). Dadurch ist Schleife überflüssig:
Sub ausfuellen() 'für Spalten A:D
    With Application.ReplaceFormat.Font
        .ColorIndex = 37
    End With
    Columns("B:D").Replace What:="", Replacement:= _
        "=INDIRECT(ADDRESS(ROW(),COLUMN()-1))", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
    Columns("A:A").Replace What:="", Replacement:= _
        "=INDIRECT(ADDRESS(ROW()-1,COLUMN()+3))", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=True
    Columns("A:D").Copy
    Columns("A:D").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

Gruß,
Beate

Anzeige
AW: Makro Zellen ausfüllen automatisch für 4 Spalten?
28.09.2007 18:46:00
Andreas
Hallo Beate,
vielen Dank! Habe es gerade getestet und es funktioniert!
Dir ein schönes Wochenende.
Grüße, Andreas

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige