Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hallo Sepp, ich habe noch eine Frage an Dich

Hallo Sepp, ich habe noch eine Frage an Dich
15.11.2007 00:05:00
Larissa
Hallo Sepp,
zu diesem Makro von Dir habe ich jetzt doch noch eine Frage. Kann man es vielleicht auch für einen größeren Bereich nutzen, z.B. Range("D3:K34"), wobei pro Spalte die Werte nach oben geschoben werden sollten. Naja, genau genommen brauche ich diese Funktion nur für Spalte D,E,G,H,J und K und auch nur bis Zeile 34. , Ist das zu kompliziert - Dann kann ich auch jede Spalte einzeln ansteuern.

Sub Larissa()
Dim a As Variant
Dim l As Long, m As Long
a = Range("A133:A164")
For l = 1 To UBound(a, 1) - 1
If IsEmpty(a(l, 1)) Then
For m = l + 1 To UBound(a, 1)
If Not IsEmpty(a(m, 1)) Then
a(l, 1) = a(m, 1)
a(m, 1) = Empty
Exit For
End If
Next
End If
Next
Range("A133:A164") = a
End Sub


Vielen Dank für Deine Hilfe,
Gruß,
Larissa

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

Betreff
Datum
Anwender
Anzeige
Oder kann mir vielleicht ein anderer VBA-Freak hel
15.11.2007 00:13:00
Larissa
Das wäre natürlich auch klasse ;-)

AW: Oder kann mir vielleicht ein anderer VBA-Freak hel
15.11.2007 09:07:00
Renee
Hi Larissa,
Vielleicht so ?
Setze in den "String Array" die gewünschten Addressen.

Sub Larissa()
Dim a As Variant
Dim l As Long, m As Long, rX As Long
Dim thisRanges As Variant
thisRanges = Array("D3:D34", "E3:E34", "G3:G34", "H3:H34", "J3:J34", "K3:K34")
For rX = 0 To UBound(thisRanges)
a = ActiveSheet.Range(thisRanges(rX))
For l = 1 To UBound(a, 1) - 1
If IsEmpty(a(l, 1)) Then
For m = l + 1 To UBound(a, 1)
If Not IsEmpty(a(m, 1)) Then
a(l, 1) = a(m, 1)
a(m, 1) = Empty
Exit For
End If
Next m
End If
Next l
ActiveSheet.Range(thisRanges(rX)) = a
Next rX
End Sub


GreetZ Renee

Anzeige
Danke Renee!!!!
15.11.2007 10:03:00
Larissa
Danke Renee,
das funzt super. Ihr seid einfach spitze!
Lieben Gruß,
Larissa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige