Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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

Automatisches Auffüllen Zellen

Automatisches Auffüllen Zellen
Robert
Liebe Forumsleser,
Ich kämpfe gerade mit einem Excel File und würde gerne das Problem mit einem Makro Lösung:
Ich habe folgenden File:
A B
Firma MS 1 1:03:31
Firma MS 2
Firma MS 3
Firma MS 4
Firma MS 5
Allgemein 1
Firma SS 1 0:02:01
Allgemein 2
Firma SS 2 1:45:57
Allgemein 3
Firma SS 4 0:01:31
Algemein 1
usw.
Jetzt hätte ich gerne, dass in der Reihe B, die jeweilige Zeitdauer auf die unteren leeren Zellen übernommen wird, bis eine neue Zeitdauer bereits angegeben ist. Weiss hier einer Rat wie man das schnell hinkriegen kann, das File ist über 1000 Zeilen lang.
Vielen Vielen Dank im Voraus für die Unterstützung!!
Robert

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Automatisches Auffüllen Zellen
13.11.2009 12:34:39
Petra
Hi Robert
Sub Leerzell_auffüllen()
Range("B1:B20").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
End Sub
Range mußt Du anpassen.
Hilfts?
Grüße Petra
AW: Automatisches Auffüllen Zellen
14.11.2009 00:09:17
Robert
VIelen Dank Petra! Das hat super geklappt!
AW: Automatisches Auffüllen Zellen
13.11.2009 13:02:31
David
Hallo Robert,
hier eine Variante, die ich selbst verwendet, mit variabler Eingabe des betreffendes Bereichs:
Sub fill_lines()
Dim first_line As Integer
Dim last_line As Integer
Dim spalte_AN As String
Dim spalte_BN As String
Dim spalte_N As Byte
Dim spalte_O As Byte
first_line = CInt(0 & InputBox("erste Zeile?", , 2))
last_line = CInt(0 & InputBox("letzte Zeile?", , ActiveSheet.UsedRange.Rows.Count))
spalte_AN = InputBox("Spalte von?", , "a")
spalte_BN = InputBox("Spalte bis?", , "a")
If first_line  64 Then
spalte_N = spalte_N - 64
ElseIf spalte_N  96 Then
spalte_N = spalte_N - 96
Else:
MsgBox ("falsche Eingabe, nur Buchstaben von A-Z (a-z) erlaubt")
Exit Sub
End If
spalte_O = Asc(spalte_BN)
If spalte_O  64 Then
spalte_O = spalte_O - 64
ElseIf spalte_O  96 Then
spalte_O = spalte_O - 96
Else:
MsgBox ("falsche Eingabe, nur Buchstaben von A-Z (a-z) erlaubt")
Exit Sub
End If
For Zeile = first_line To last_line
For Spalte = spalte_N To spalte_O
'Cells(Zeile, spalte_N).Select
If Cells(Zeile, Spalte).Value = "" Then
Cells(Zeile, Spalte).Value = Cells(Zeile - 1, Spalte).Value
End If
Next
Next
End Sub
Im Unterschied zur Variante von Petra werden hier die Leerzellen mit dem tatsächlichen Wert gefüllt und nicht mit dem Verweis auf die vorherige Zelle (also einer Formel).
Gruß
David
Anzeige
AW: Automatisches Auffüllen Zellen
13.11.2009 13:22:10
Petra
Hi David
hier kürzer:
Sub leervoll()
Dim z
For Each z In Range("b1:b20")
If z = "" Then
z.Value = z.Offset(-1, 0)
End If
Next
End Sub
da sind dann auch Werte drin
und den Rangebereich kannst Du auch noch automatisieren,wenn Du willst
Grüße Petra
AW: Automatisches Auffüllen Zellen
13.11.2009 13:35:43
David
Hallo Petra,
nun soviel kürzer als der Kern meines Codes ist das auch nicht:
For Zeile = first_line To last_line
For Spalte = spalte_N To spalte_O
If Cells(Zeile, Spalte).Value = "" Then Cells(Zeile, Spalte).Value = Cells(Zeile - 1,  _
Spalte).Value
Next
Next
Sind auch nur 5 Zeilen, wenn auch mit ein paar mehr Zeichen. ;-)
Der Rest ist ja nur die variable Eingabe des Ranges und das Abfangen von Fehlern.
Gruß
David
Anzeige
AW: Automatisches Auffüllen Zellen
13.11.2009 13:38:56
Petra
Hi David
dann lassen wir halt den Excel-Profi entscheiden, wenn er sich denn zurückmeldet!
Schönes Wochenende
Petra
dito...
13.11.2009 13:50:50
David

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige