Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
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

Inhalt aus Spalte zusammenschieben

Inhalt aus Spalte zusammenschieben
12.11.2007 21:28:00
Larissa
Hallo,
ich suche ein kleines Makro, welchens den Inhalt aus einer Spalte nach oben zusammenschiebt, ohne zu sortieren oder zu filtern. Also wenn z.B. A1=3, A5=1, A8=5, dann soll es so sein:
A1=3
A2=1
A3=5
Ich bedanke mich für Eure Hilfe,
Gruß, Larissa

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt aus Spalte zusammenschieben
12.11.2007 21:37:00
Daniel
Hi
als Makro
range("A:A").SpecialCells(xlCellTypeBlanks).Delete shift:=xlup
von Hand
- Bearbeiten - Gehe zu - Inhalte - Leerzellen
- Bearbeiten - Zellen löschen - nach oben verschieben
Gruß, Daniel

AW: Inhalt aus Spalte zusammenschieben
12.11.2007 21:45:04
Larissa
Hallo Daniel,
das ist leider nicht das, was ich suche. Die Formatierung der Spalte darf nicht verändert werden. D.h. es dürfen keine Zellen gelöscht werden, sondern der Inhalt soll nur nach oben verschoben werden. So, wie es beim Sortieren auch passiert, nur halt ohne Sortierfunktion. Gibt es das?
Gruß, Larissa

AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:12:56
Daniel
Hi
das wird dann komplizierter.
sind die Daten Fix-Werte oder sind auch Formeln enthalten?
Gruß, Daniel

Anzeige
AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:16:33
Larissa
Hallo Daniel,
keine Formeln, nur Werte.
Gruß, Larissa

AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:33:06
Daniel
Hi
ja, ich hab jetzt auch ne Lösung gefunden, vom Prinzip her so wie Sepps, aber vielleicht ein bisschen anschaulicher. Formeln sollten auch kein Problem sein:

Sub Zusammenschieben()
Dim rng As Range
Dim arr1, arr2
Dim i1 As Long, i2 As Long
Set rng = ActiveSheet.UsedRange.Columns(1)
arr1 = rng.FormulaLocal
If WorksheetFunction.CountIf(rng, "") > 0 Then
ReDim arr2(1 To UBound(arr1, 1), 1 To UBound(arr1, 2))
For i1 = 1 To UBound(arr1, 1)
If arr1(i1, 1)  "" Then
i2 = i2 + 1
arr2(i2, 1) = arr1(i1, 1)
End If
Next
rng.Value = arr2
End If
End Sub


Gruß, Daniel

Anzeige
AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:16:31
Josef
Hallo Larissa,
auch wenn sich mir der Sinn nicht erschliesst.
Sub Larissa()
Dim a As Variant
Dim l As Long, m As Long

a = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)

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("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) = a

End Sub

Gruß Sepp

Anzeige
AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:20:08
Larissa
OHA! So kompliziert habe ich mir das gar nicht vorgestellt.
Vielen Dank, Sepp, werde ich sofort ausprobieren :-)
Lieben Gruß,
Larissa

AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:33:12
Larissa
Hi Sepp,
Oh sorry, es funktioniert leider nicht. Ich gleubte, es sei nicht relevant zu erwähnen, dass es eigentlich nur für einen bestimmten Bereich in Spalte A laufen soll und zwar von Range("A133:A164"). Dann klappt es mit dem End(xlUp) nicht, stimmts? Hast Du vielleicht auch eine Idee, wie es in diesem Zellbereich funktionieren könnte?
Das wäre echt supiklasse.
Lieben Gruß, Larissa

AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:35:00
Josef
Hallo Larissa,
immer gleich die ganzen Infos geben ;-))
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


Gruß Sepp

Anzeige
AW: Inhalt aus Spalte zusammenschieben
12.11.2007 22:42:00
Larissa
Ischonkla, sorry, soll nicht wieder passieren.
ES FUNZT JETZT!! - KNORKE !!! ;-)))
Also naja, auf die kleine Änderung hätte ich aber auch mal selber kommen können ;-((
Lieben Gruß und nochmal dickes Dankeschön,
Larissa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige