ich bin's schon wieder
Diesmal moechte ich einen bestimmten Bereich sortieren, welcher nicht in der ersten Zeile beginnt sondern in der 4. Zeile.
Dafuer habe ich ein Modul geschrieben, welches die gewuenschte Spalte als Integer uebergeben bekommt (Variablenname "Spalte").
Wenn ich die erste Variante benutze, dann sortiert er mir die komplette Spalte mitsamt der Ueberschrift, was so natuerlich nicht gewollt ist
Sub testen(Spalte As Integer, Suchbegriff As Variant)
Dim C As Range
With Worksheets("Data")
Set C = .Columns(Spalte).Find(Suchbegriff, lookat:=xlWhole)
If C Is Nothing Then
If MsgBox("You want to add this Data?" _
, vbYesNo, "New Data: " & UCase(Suchbegriff)) = vbYes Then
.Cells(.Cells(Rows.Count, Spalte).End(xlUp).Row + 1, Spalte) = Suchbegriff
.Columns(Spalte).Sort Key1:=.Cells(1, Spalte), Order1:=xlAscending
End If
End If
End With
Set C = Nothing
End Sub
Dann kam ich auf die Idee es mit Range zu probieren, aber da kam dann gleich das Problem auf, das er die Variable "Spalte" als Zahl verarbeitet und mir somit ab Zeile 12, bei uebergebener Variable Spalte=1 (=A), alles markiert.
Wie kann ich aus dem Zahlenwert wieder den Buchstaben gewinnen, oder gibt es da eine einfachere Loesung und ich denke zu kompliziert?
Worksheets("Data").Activate
Range(Spalte & "4" & ":" & Spalte & 100).Select
In dem 2. Beispiel habe ich einfach mal 100 als letzte Zeile angenommen, wenn ads auch variabel geht waer es natuerlich besser.
Vielen Dank
Euer Thorsten, der noch viel zu lernen hat.