Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro Abfrage einbauen ?

Makro Abfrage einbauen ?
20.06.2008 12:24:46
Kurt
Guten Tag,
ich habe dieses Makro, funktioniert.
Nun möchte ich dies gern so anwenden, das ich bei Aufruf die
zu sortierende Spalte auswählen kan und zwar von
Spalte A bis Spalte M bzw.1 bis 13 .

Sub Sortieren()
Dim z As Long
Range("A5").Select
z = Range("A5").End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 13)).Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


herzl. kurt p

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Abfrage einbauen ?
20.06.2008 12:50:00
Yusuf

Function Sortieren(spalte as integer)
Dim z As Long
cells(5, Spalte).Select
z = Range(cells(5, Spalte), cells(5, Spalte)).End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 13)).Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Function


dein beispiel was oben sortiert wird wuerdest du mit:


Sub test
sortieren 1 (die 1 steht fuer die erste spalte A)
End Sub


aufrufen.
ich hab an dem Sortierbereich und den Bedingungen nichts geaendert.
mfg
Yusuf

Anzeige
AW: Makro Abfrage einbauen ?
20.06.2008 12:58:00
Kurt
Hallo Yusuf,
wo muß ich den die Zahl der Spalte eingeben ?
herz. kurt p

AW: Makro Abfrage einbauen ?
20.06.2008 13:46:00
Reinhard
Hi Kurt,
in der Sub test
Gruß
Reinhard

Habe getestet aber
20.06.2008 14:08:00
Kurt
Hallo Reinhard,
habe dies probiert, leider ohne Erfolg.
Dim sortieren As String
sortieren = InputBox("test", "test", 1, 0, 0)
herzl. kurt p

AW: Habe getestet aber
20.06.2008 14:30:00
Reinhard
Hi Kurt,
ist doch mühsam bei "breiten" tabellen zu wissen welche Nummer Spalte Q hat, probiers mal so:

Option Explicit
Sub hh()
Dim sortieren As String, dummy
sortieren = InputBox("Geben Sie für die gewünschte Spalte A,B,C,... ein", "Spaltensortierung", " _
A", 0, 0)
If sortieren = "" Then Exit Sub
On Error GoTo Fehler
Set dummy = Range(sortieren & "1")
Call test(dummy.Column)
Exit Sub
Fehler:
MsgBox "falsche Eingabe"
End Sub
Sub test(spalte As Integer)
'Code
End Sub


Gruß
Reinhard

Anzeige
Warum so ? Fehler
20.06.2008 15:01:15
Kurt
Hey Reinhard, habe eingesetzt:

Sub A_Sortieren()
Dim sortieren As String, dummy
sortieren = InputBox("Geben Sie für die gewünschte Spalte A,B,C,... ein", _
"Spaltensortierung", " A ", 0, 0)
If sortieren = "" Then Exit Sub
On Error GoTo Fehler
Set dummy = Range(sortieren & "1")
Call test(dummy.Column)
Exit Sub
Fehler:
MsgBox "falsche Eingabe"
End Sub


'


Sub test(spalte As Integer)
Dim z As Long
Cells(5, spalte).Select
z = Range(Cells(5, spalte), Cells(5, spalte)).End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 13)).Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


irgendetwas stimmt doch nicht, warum setze ich nochdies ein?
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
gr kurt p

Anzeige
arum nicht so?
20.06.2008 15:26:00
Reinhard
Hi Kurt,
verstehe ich nicht, du willst doch einen Bereich nach diese Spalte sortieren? Und der Sort-Befehl ist der Sortierbefehl!?
Stell mal den Curser auf Sort und drücke F1, dort werden die Parameter von Sort erläutert.

Sub test(spalte As Integer)
Dim z As Long
z = Range(Cells(5, spalte), Cells(5, spalte)).End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 13)).Sort Key1:=Range("A6"), Order1:=xlAscending,  _
Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


Oder willst du aus den beiden Subs eine


Sub machen?
Gruß
Reinhard

Anzeige
Ich wollte das mit einer Inputbox
20.06.2008 16:16:00
Kurt
Hey Reinhard,
ich wollte dies mit einer Inputbox durchführen,
also entweder den Buchstaben oder die SpaltenNr. in die Inputbox eintragen
dann sollt die entsprechende Spalte sortiert werden.
gr kurt p

AW: Ich wollte das mit einer Inputbox
20.06.2008 18:18:32
Reinhard
Hi Kurt,
ich habe es jetzt umgebastelt, sodaß man jetzt Spaltenname oder Spaltennummer eingeben darf:

Option Explicit
Sub A_Sortieren()
Dim sortieren As String, dummy, z As Long, Mldg As String
Mldg = "Geben Sie für die gewünschte Spalte A,B,C,... oder die Spaltennummer ein"
sortieren = InputBox(Mldg, "Spaltensortierung", "A", 0, 0)
If sortieren = "" Then Exit Sub
On Error GoTo Fehler
If IsNumeric(sortieren) Then
Set dummy = Cells(1, sortieren)
Else
Set dummy = Range(sortieren & "1")
End If
z = Cells(5, dummy.Column).End(xlDown).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, 13)).Sort Key1:=Cells(6, dummy.Column), Order1:= _
xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Exit Sub
Fehler:
MsgBox "falsche Eingabe"
End Sub


Gruß
Reinhard

Anzeige
Klappt aber ...
20.06.2008 20:18:00
Kurt
Hallo Reinhard,
klappt soweit, habe aber dies ändern müssen:
z = Cells(5, 1).End(xlDown).Row
vorher wurde nicht sortiert.
Wenn ich eine Spalten Nummer eingebe z.b. 3 kommt Fehlermeldung"false Eingabe,
ansonsten kann ich auch mit den Buchstaben leben!
gr kurt p

AW: Klappt aber ...
21.06.2008 17:43:32
Reinhard
Hi Kurt,
neuer Versuch :-):

Option Explicit
Sub A_Sortieren()
Dim sortieren As String, dummy, z As Long, Mldg As String, spa
Mldg = "Geben Sie für die gewünschte Spalte A,B,C,... oder die Spaltennummer ein"
sortieren = InputBox(Mldg, "Spaltensortierung", "A", 0, 0)
If sortieren = "" Then Exit Sub
spa = Korrekt(sortieren)
If spa = 0 Then GoTo Fehler
z = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Range(Cells(6, 1), Cells(z, Columns.Count)).Sort Key1:=Cells(6, spa), Order1:= _
xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Exit Sub
Fehler:
MsgBox "falsche Eingabe"
End Sub
Function Korrekt(Eingabe As String) As Integer
On Error Resume Next
Select Case Asc(Left(Eingabe, 1))
Case 48 To 57
Korrekt = Cells(1, CInt(Eingabe)).Column
Case 65 To 90, 97 To 122
Korrekt = Cells(1, Eingabe).Column
End Select
End Function


Gruß
Reinhard

Anzeige
AW: Klappt aber ...
21.06.2008 21:20:00
Gerd
Hallo Kurt!

Sub A_Sortieren()
Dim sortieren As String, lngSpalte As Long, z As Long, Mldg As Variant
Mldg = "Geben Sie für die gewünschte Spalte A,B,C,... oder die Spaltennummer ein"
sortieren = InputBox(Mldg, "Spaltensortierung", "A", 0, 0)
On Error GoTo Fehler
If Not IsNumeric(sortieren) Then
lngSpalte = CLng(Columns(sortieren).Column)
Else
lngSpalte = CLng(sortieren)
End If
If 0  0 Then Err.Clear
MsgBox "falsche Eingabe"
End If
End Sub


Gruß Gerd

Danke, Gerd u. Reinhard -)
22.06.2008 10:17:06
Kurt
Guten Morgen ihr Zwei,
herzlichen Dank, funktioniert beides !
Besonders Reinhard, der sehr viel Geduld mit mir hatte !!!
Schönen Sonntag noch,
gr kurt p

Anzeige
AW: Makro Abfrage einbauen ?
23.06.2008 08:09:37
Yusuf
hi,
bitte um Entschuldigung. konnte nicht antworten.
kann nur von der arbeit aus schreiben, da mein pc zuhause zur zeit defekt ist.
gruß
Yusuf

AW: Makro Abfrage einbauen ? -)
23.06.2008 20:40:00
Walter
Hallo Yusuf,
auch Dir herzlichen für deine Untestützung,
mfg Walter mb

Danke wb f.Unterstützung! -)
23.06.2008 20:42:00
Kurt

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige