Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Sortieren nach Ordernummer
25.08.2005 03:05:09
gnilk
Hallo Leute,
wenn ich meinen Command Button ausloese, soll das eine Tabelle nach der Ordernummer sortieren. Irgenwie kommt dann aber eine Fehlermeldung, sobald der Befehl zum sortieren kommt. Das Feld G11 findet er noch ohne Probleme, doch ab dem sortieren geht es dann nicht mehr. Kann da jemand helfen? Der Makrorecorder will mir da leider auch nichtweiterhelfen. Habe es schon damit aufgezeichnet, geht aber nicht.
Der Command Button ist auch schon auf TakeFocusOnCick = FALSE eingestellt.
Es leigt auch nicht daran, dass ich ein

Sub oder ein End 

Sub vergessen habe. Der ganze Code ist an sich scheinbar ganz o.k.
Hier der Code:
'       sortieren nach Ordernummer
Sheets("Daten").Select
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("G11").Select
End With
Selection.Sort Key1:=Range("G11"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

		

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ShowAllData oder Hajo, bitte melde Dich
25.08.2005 07:00:32
gnilk
Hallo Leute,
ich muss unbedingt das Kaestchen G11 auswaehlen koennen, ohne dass mir die komplette Tabelle angezeigt wird. Sei es wegen des Filters oder Aehnlichem.
Daher brauche ich so etwas Aehnliches wie:
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("G11").Select
End With
Jedoch anstelle des ShowAllData brauche ich irgendwie einen Befehl wie ShowHalt_eben_nur_das_was_gerade_auf_dem_Bildschirm_zu_sehen_ist.
AW: Sortieren nach Ordernummer
25.08.2005 11:03:56
marcl
hi gnilk,
es liegt wohl dran, das kein Bereich zum sortieren festgelegt wurde. Du kannst nicht g11 sortieren, weil g11 nur eine Zelle ist!
Sheets("Daten").Select
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("G11").Select ' hier ist der Fehler
Cells.Select ' markiert alles Zellen
End With
Selection.Sort Key1:=Range("G11"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Gruß
marcl
Anzeige
AW: Sortieren nach Ordernummer
26.08.2005 01:52:05
gnilk
Halo Leute,
das mit dem Feld G11 auswaehlen geht schon. Das Makro funktioniert ja wunderbar ohne den Commandbutton. Wenn man ganz normal mit dem Makrorecorder dieses Sort bei Data auswaehlt, dann wir automatisch alles markiert.
Ich habe trotzdem mal alles markiert, so wie Du es wolltest. Doch wie erwartet kommt der Fehler wieder ab Selection.Sort
In diesem Selection.Sort Abschnitt ist der Wurm drin! Hier noch einmal der Code:

Private Sub CommandButton1_Click()
'       sollte jetzt die Box zum Eintragen zeigen
Dim filStr As Variant
filStr = InputBox("order number of this month", "Order Number")
'       abrechen, falls keine Werte in der Box sind
If StrPtr(filStr) = 0 Then
MsgBox "You want to cancel it?"
GoTo GiveUp
ElseIf filStr = "" Then
MsgBox "This was OK, but a order number is needed!"
GoTo GiveUp
Else
MsgBox "Beautiful!" & filStr
End If
'       maximiert das Fenster von der Tabelle und kopiert es in die Go! Mappe
Windows("blabla.XLS").Activate
Sheets("Daten").Select
Sheets("Daten").Copy After:=Workbooks("GO.xls").Sheets(1)
'       Soll jetzt das Fenster von den Daten der Go Seite oeffnen
Windows("GO.XLS").Activate
ActiveWindow.WindowState = xlMaximized
'       waehlt das richtige Blatt aus der Excel Tabelle aus
'       fuer den 2. Command Button
Sheets("Start").Select
'   kopiert alles und fuegt nur noch die Werte ein
Sheets("Daten").Select
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("C:BB").Select
End With
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'       Filter entfernen, loeschen der unnoetigen Spalten
Sheets("Daten").Select
Selection.AutoFilter
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("C:D").Delete Shift:=xlToLeft
.Range("C:D,AX:AZ").Delete Shift:=xlToLeft
End With
'       Die letzte Zeile loeschen, so dass die Summe verschwindet
Sheets("Daten").Select
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("G11").Select
End With
Selection.End(xlToRight).Select
Selection.End(xlDown).Select
Selection.EntireRow.Delete
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Range("G11").Select
End With
'       Filter wieder setzen
Selection.AutoFilter
'       Sortieren der Werte nach Ordernummer
Sheets("Daten").Select
With Sheets("Daten")
If .FilterMode Then .ShowAllData
.Cells.Select
End With
'  ab hier kommt dann die Fehlermeldung!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'  Habe auch mal den Auszug des Fehler mit anghaengt:
'  Macro Error
'  There is an error in the macro you were running. The specified method can't be used
'  on the specified object for one of the following reasons.
'  · An argument contains a value that is not valid. A common cause of this problem
'    is trying to gain access to an object that does not exist; for example, Workbooks
'    (5) when only three workbooks are open.
'  · The method can't be used in the applied context. For example, some Range object
'    methods require that the range contain data. If the range does not contain data,
'    the method fails.
'  · An external error occurred, such as a failure to read or write from a file.
'    For more information about how to use the method, search for the method name in
'    Visual Basic Help.
Selection.Sort Key1:=Range("G11"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
GiveUp:
End Sub

Das nennt man wohl Hosen runter lassen. Wer jetzt noch eine Glaskugel braucht, kann nicht lesen. :o)
Ich habe glaube ich schon alles versucht, aber der Fehler ist immer noch da. Verrueckt ist eben, dass das Makro normalerweise ohne den CommandButton funktioniert.
Da ich in Australien sitze kann ich meistens erst das feedback von Euch am naechsten Tag lesen. In diesem Fall sogar erst nach dem Wochenende. Bitte lasst die Frage daher immer als "Frage noch offen", damit ich so viele Anregungen wie moeglich bekomme!
Danke Leute
Ciao Gnilk
Anzeige
habs geloest
26.08.2005 05:48:30
gnilk
habs geloest!!!
Fehler war zu dumm!
Ciao
Gnilk

287 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige