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

VBA alphabetisch sortieren

VBA alphabetisch sortieren
26.06.2008 11:53:03
WalterK
Hallo,
kann mir jemand bei dem nachfolgenden Code helfen:

Private Sub Worksheet_Activate()
'--- Spalte C nach K kopiern und sortieren
Range("K:K").ClearContents
Range("C5:C" & Cells(Rows.Count, 3).Row).Copy
Range("K2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("K:K").Sort key1:=Range("K2"), order1:=xlAscending, header:=xlYes
End Sub


Mein Problem:
Weil die Namen in Spalte C über Formeln eingetragen werden, werden nach dem Sortieren in K oben zuerst die Leerzellen mitberücksichtigt. Eigentlich sollten ab K2 gleich die Namen angeführt werden.
Eine Frage:
Was bedeutet die 3 in "Range("C5:C" & Cells(Rows.Count, 3).Row).Copy"
hier noch die Tabelle:
https://www.herber.de/bbs/user/53368.xls
Besten Dank und Servus, Walter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA alphabetisch sortieren
26.06.2008 16:50:00
Klaus
Hallo Walter,
die 3 steht hier für Spalte 3, also Spalte C.
Gruße,
Klaus M.vdT.

AW: VBA alphabetisch sortieren
26.06.2008 20:38:00
WalterK
Hallo Klaus,
danke für die Beantwortung meiner Frage. Hast du zum Code-Problem auch noch eine Lösung?
Besten Dank und
Servus, Walter

AW: VBA alphabetisch sortieren
27.06.2008 11:57:07
Klaus
Hallo Walter,
zum Code habe ich leider keine Idee, daher Frage noch offen.
Grüße,
Klaus M.vdT.

AW: VBA alphabetisch sortieren
27.06.2008 12:59:00
Chris
Servus Walter,
das problem ist, das die Formeln in C den wert " " wiedergeben, somit sind die Zellen nach dem kopieren nicht leer, also werden sie auch beim Sortieren und beim Zählen berücksichtigt.

Sub Anders()
Dim ArrayStamm() As Variant, ArrayZiel() As Variant
Dim x As Long, ii As Long, z As Long
Dim OG&, i&, j&, k&, h, y, r As Variant
ReDim ArrayStamm(1 To Cells(Rows.Count, 3).End(xlUp).Row - 4)
For ii = 5 To Cells(Rows.Count, 3).End(xlUp).Row
ArrayStamm(ii - 4) = Cells(ii, 3)
Next ii
x = 0
For z = LBound(ArrayStamm()) To UBound(ArrayStamm())
If ArrayStamm(z)  "" Then
ReDim Preserve ArrayZiel(x)
ArrayZiel(x) = ArrayStamm(z)
x = x + 1
End If
Next z
OG = UBound(ArrayZiel())
k = OG \ 2
While k > 0
For i = LBound(ArrayZiel()) To OG - k
j = i
While (j >= 0) And (ArrayZiel(j) > ArrayZiel(j + k))
h = ArrayZiel(j)
ArrayZiel(j) = ArrayZiel(j + k)
ArrayZiel(j + k) = h
If j > k Then
j = j - k
Else
j = LBound(ArrayZiel())
End If
Wend
Next i
k = k \ 2
Wend
For z = LBound(ArrayZiel()) To UBound(ArrayZiel())
Cells(z + 2, 11) = ArrayZiel(z)
Next z
End Sub


In diesem Code werden die leeren Zellen im Array aussortiert und der Rest auch im Array sortiert. Dieser wird dann nach K2 geschrieben.
Gruß
Chris

Anzeige
Danke Chris, passt wunderbar! Servus Walter
27.06.2008 14:50:00
WalterK

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige