Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Sortieren nach Eingabe der Spalte
27.08.2007 16:51:32
Stefan
Hallo,
kennt Ihr das? Man kommt einfach nicht weiter, weil eine winzige Kleinigkeit fehlt? So gehts mir gerade...
Also: Makro fragt den User über inputbox nach der Spaltennummer (1, 2, 3,...). Dann soll eine Tabelle nach der Spalte sortiert werden. Da die Anordnung der Spalten sich ändert, muß die Abfrage erfolgen. Aber wie bekomme ich den überlieferten Wert in den Sortierbefehl?
spalte = InputBox("Nach welcher Spalte soll sortiert werden?")
Range("A1:G531").Sort Key:=?, Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Anstelle der drei Fragezeichen muß irgendwie der Inhalt der Variablen übergeben werden. Aber ich bekomme es nicht hin... Oder geht es auch anders?
Vielen Dank für Eure wertvollen Tipps im voraus!
Gruß,
Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren nach Eingabe der Spalte
27.08.2007 17:47:00
Lars
Hi,
Key:= Spalte & 1
oder
Key:=Cells(1,Spalte)
je nachdem, ob die Spalte als Buchstabe oder Zahl abgefragt wird.
mfg Lars

AW: Sortieren nach Eingabe der Spalte
27.08.2007 17:53:00
Matthias
Hallo
Option Explicit

Sub sortieren()
Dim spl As Byte
spl = InputBox("Nach welcher Spalte soll sortiert werden ?" & vbLf & "1 = Spalte A" & vbLf & "2  _
= Spalte B" & vbLf & "3 = Spalte C  u.s.w.", " Bitte nur 1 bis 7 wählen")
Range("A1:G10").Select
Selection.Sort Key1:=Cells(1, spl), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


Userbild

Anzeige
spl = 256 oder x oder ... ;-) !! oT
27.08.2007 18:12:53
{Boris}
Grüße Boris

so, hab ich jetzt noch was vergessen ;-)
28.08.2007 12:12:12
Matthias
Hallo Boris
Userbild
aber im Grund hast Du schon Recht.
ist es so besser ;o)
Option Explicit

Sub sortieren()
On Error GoTo fEHLER
Dim spl As Byte
spl = InputBox("Nach welcher Spalte soll sortiert werden ?" & vbLf & vbLf & "1 = Spalte A" &  _
vbLf & "2 = Spalte B" & vbLf & "3 = Spalte C" & vbLf & "4 = Spalte D" & vbLf & "5 = Spalte E" & vbLf & "6 = Spalte F" & vbLf & "7 = Spalte G", " Bitte nur 1 bis 7 wählen")
If spl  7 Then GoTo fEHLER
If Not IsNumeric(spl) Then GoTo fEHLER
Range("A1:G10").Sort Key1:=Cells(1, spl), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Exit Sub
fEHLER:
MsgBox "Sie haben einen falschen Wert eingegeben!" & vbLf & vbLf & "       bitte starten Sie  _
die Sortierung neu" & vbLf & "         und korrigieren Sie Ihre Eingabe"
End Sub


Userbild
bei einem Fehler erschein jetzt:
Userbild
und noch hier die Datei:
https://www.herber.de/bbs/user/45464.xls
Userbild

Anzeige
Man muss halt immer bedenken...
28.08.2007 15:21:00
{Boris}
Hi Matthias,
...dass der eher unerfahrene Anwender mit dem Programm rumfuhrwerkt - und da muss man eben drauf achten, dass der Code nicht abfliegt.
Es gibt neben der Inputbox übrigens auch die Application.Inputbox - da kannst Du direkt festlegen, welcher Datentyp eingegeben werden darf.
Schau Dir mal die Hilfe dazu an.
Grüße Boris

Hi Boris, das schau ich mir mal an ...
28.08.2007 16:27:06
Matthias
.. und Danke für Deinen Hinweis
Userbild

AW: Sortieren nach Eingabe der Spalte
28.08.2007 14:04:30
Stefan
Geil, vielen Dank!
Das hier Key1:=Cells(1, spl) war schon alles, was ich brauchte. So was dämliches, daß ich da nicht drauf gekommen bin.
Danke nochmal und macht weiter so!
Viele Grüße,
Stefan
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige