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

VBA: Spalte ausfüllen

VBA: Spalte ausfüllen
15.04.2003 10:08:11
Jürgen
Hallo,
ich möchte eine Spalte per VBA wie folgt ausfüllen:

Die Spalte B soll wenn ein Wert gefunden wird mit dem Wert nach unten bis zum nächsten Wert ausgefüllt werden und zwar so lange bis das Ende der Spalte A erreicht ist, siehe Beispiel. Wie kann ich das per VBA machen.

Gruß Jürgen

A B
1 W1
2
3
4 W2
5 W3
6
7
8 W4
9
10
11
12 W5
13


A B
1 W1
2 W1
3 W1
4 W2
5 W3
6 W3
7 W3
8 W4
9 W4
10 W4
11 W4
12 W5
13 W5



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

Betreff
Datum
Anwender
Anzeige
Re: VBA: Spalte ausfüllen
15.04.2003 10:24:41
Monika Weber

Hallo Jürgen,

hier ein möglicher Lösungsansatz:

Sub test()
Dim i As Integer
For i = 1 To ActiveSheet.UsedRange.Columns("A").Cells.Count
If Cells(i, 2) = "" Then Cells(i, 2) = Cells(i - 1, 2)
Next i
End Sub

Es liebs Grüessli
Monika






Re: VBA: Spalte ausfüllen
15.04.2003 10:31:25
Florian

Hi Jürgen

Sowas habe ich früher auch schon einmal gesucht und hier in dem Forum gefunden:

Sub Ausfuellen()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange.Columns("A:C").Cells
If rng.Row > 1 And IsEmpty(rng) Then
rng.Value = rng.Offset(-1, 0).Value
End If
Next rng
End Sub

Schöne Grüße

Florian

Anzeige
Re: VBA: Spalte ausfüllen
15.04.2003 11:59:16
Jürgen

Hallo Monika,

danke für das Beispiel es funktioniert ... bloß bei ca. 20000 Datensätzen ist es sehr langsam. Das VBA (klappt mit dem Beispiel) was ich zustande bekommen habe ist nicht elegant aber um ein vielfaches schneller insbesondere wenns große sprünge zwischen den zu füllenden zellen gibt. Gibt es da vielleicht noch eine elegantere Lösung?

Jürgen

Sub Spalte_ausfüllen()
Application.ScreenUpdating = False
Range("b1").Activate
a = WorksheetFunction.CountA(Range("a1:a65536"))
Range("b" & a + 1) = "EndeSpalte"

For x = 1 To a

Selection.Copy
Selection.End(xlDown).Select
WertSpalte = ActiveCell.Offset(rowOffset:=-1, columnOffset:=0)
If WertSpalte = "" Then
ActiveCell.Offset(rowOffset:=-1, columnOffset:=0).Activate
Else
GoTo 1
End If

Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Selection.End(xlDown).Select
b = ActiveCell
If b = "EndeSpalte" Then GoTo 2
1
Next x
2 Range("b" & a + 1).ClearContents
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige