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

Liste per Makro vervollständigen - HELP!

Liste per Makro vervollständigen - HELP!
13.08.2008 09:50:13
stephan
Hallo Zusammen,
Ich habe eine riesige Excelliste, die leider noch angepasst werden muss um sie Pivot-Table tauglich zu machen. Hier nun mein Problem:
Liste:
Name Ergebnis
A 1
leer 2
leer 5
leer 6
B 5
leer 4
leer 3
leer 8
Mit dieser Auflistung bekäme ich in der Pivot-Tabelle nicht alle Ergebnisse von A. Daher sollte die Tabelle so aussehen:
Liste:
Name Ergebnis
A 1
A 2
A 5
A 6
B 5
B 4
B 3
Ich möchte dies nun mit einem Makro automatisieren, so dass der Name runterkopiert wird, bis der nächste Name erscheint. Dazu habe ich folgenden Code:
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
Range("D130:D135").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.End(xlDown).Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
Range("D136:D145").Select
ActiveSheet.Paste
Mein Problem ist nun, dass das Makro den Bereich ("D130:D135") festlegt und ihn nicht variabel lässt. So kann ich das nicht für die ganze Liste verwenden.
Hat mir jemand einen Tipp wie ich das machen muss, damit sich die Liste per Makro vervollständigt?
Vielen Dank!
Stephan

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste per Makro vervollständigen - HELP!
13.08.2008 10:21:00
Rudi
Hallo,
das kannst du doch auch mit einer Formel erledigen.
In C2: =wenn(A2)="";C1;A2) und runterkopieren. Dauert 5 Sek.
Gruß
Rudi

Liste vervollständigen
13.08.2008 10:22:00
backowe
Hallo Stephan,
ich gehe mal davon aus, daß die Namen in "D" und die Werte in "E" stehen.
VBA-Code:
Sub Vervollständigung()
Dim Zelle As Range
Dim Merker As String
For Each Zelle In Range("D130:D" & Cells(Rows.Count, "E").End(xlUp).Row)
  If Zelle <> "" Then Merker = Zelle
  If Zelle = "" Then Zelle = Merker
Next
End Sub
Gruß Jürgen

Anzeige
Kleine Änderung
13.08.2008 10:39:00
backowe
Hi Stephan,
VBA-Code:
Sub Vervollständigung()
Dim Zelle As Range
Dim Merker As String
For Each Zelle In Range("D130:D" & Cells(Rows.Count, "E").End(xlUp).Row)
  If Zelle <> "" Then
    Merker = Zelle
  Else
    Zelle = Merker
  End If
Next
End Sub
Gruß Jürgen

Anzeige
AW: Liste vervollständigen
13.08.2008 10:43:00
stephan
Hallo Jürgen
Besten Dank für deine Variante.
Du hast recht, die Namen stehen in "D" und die Werte in "E". Was mir momentan nicht klar ist, wie anschliessend der Name in deinem Code runterkopiert wird? Falls ich mich nicht klar ausgedrückt haben sollte, versuche ich es nochmals. Momentane Liste:
Name "D" Werte "E"
Hanspeter 5500
..................5568
..................4545
..................4556
Lukas.........4123
..................4563
..................8979
Marc...........7987
..................5467
..................4876
Mittels Makro möchte ich, dass die Namen runterkopiert werden (immer bis der nächste erscheint). Die Liste beinhaltet über 20'000 Zeilen und fast jede 6 o. 7 Zeile erscheint ein neuer Name, aber in unterschiedlichen Abständen. Mittels Copy / Paste ginge das eine Ewigkeit....
Vollständige Liste:
Name "D" Werte "E"
Hanspeter 5500
Hanspeter 5568
Hanspeter 4545
Hanspeter 4556
Lukas........4123
Lukas........4563
Lukas........8979
Marc...........7987
Marc..........5467
Marc..........4876
BESTEN DANK für die Untestützung.

Anzeige
AW: Liste vervollständigen
13.08.2008 10:54:00
Rudi
Hallo,
kurz und knackig:

Sub tt()
With Range(Cells(1, 5), Cells(Rows.Count, 5).End(xlUp)).Offset(0, -1)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
End Sub


Gruß
Rudi

Erklärung
13.08.2008 11:36:07
Backowe
Hallo Stephan,
der Code läuft von D130 nach unten bis zur letzten belegten Celle in Spalte E, steht in der Zelle etwas drin, schreibe ich den Wert in eine Variable, wenn die Zelle leer ist, wird der Variablenwert in die Zelle geschrieben.
Gruß Jürgen

AW: Liste per Makro vervollständigen - HELP!
13.08.2008 10:28:00
Reinhard
Hi Stephan,

Sub Makro()
Dim Zei As Long, arr, A As Long
Zei = Range("E" & Rows.Count).End(xlUp).Row
If Zei 


Gruß
Reinhard

Anzeige
AW: Liste per Makro vervollständigen - HELP!
13.08.2008 10:50:25
stephan
SUPER!!!!!
Hat einwandfrei geklappt.
BESTEN DANK UND EINEN ERFOLGREICHEN TAG.
Gruss,
Stephan

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige