Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1456to1460
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
Inhaltsverzeichnis

Sortierbezug ist ungültig

Sortierbezug ist ungültig
09.11.2015 21:10:37
Manuel
So zum letzten mal hoffentlich heute abend,
bei meinem Makro funktioniert eigentlich alles, jedenfalls wenn ich es alleine starte und nicht mit "Call ..." aufrufe.
Wenn ich den Ursprungsmakro ausführe und darunter dann mit Call einen weiteren aufrufe bekomme ich leider immer die Fehlermeldung das der Sortierbezug ungültig ist.
Hier ist der Code:
Sub Sortieren()
Dim lnglast1 As Long
Application.ScreenUpdating = False
lnglast1 = Sheets("Upload_Inventory").Range("A65536").End(xlUp).Row
With Sheets("Upload_Inventory")
.Unprotect
Sheets("Upload_Inventory").Range("A2:J" & lnglast1).Sort Range("B1"), xlAscending, , , , , ,  _
xlNo
.Protect
End With
Application.ScreenUpdating = True
End Sub
Habt ihr eine Ahnung warum ständig diese Fehlermeldung kommt?
Grüße und einen schönen Abend,
Manuel

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

Betreff
Datum
Anwender
Anzeige
AW: Sortierbezug ist ungültig
09.11.2015 21:13:08
Rudi
Hallo,
Sub Sortieren()
Dim lnglast1 As Long
Application.ScreenUpdating = False
lnglast1 = Sheets("Upload_Inventory").Range("A65536").End(xlUp).Row
With Sheets("Upload_Inventory")
.Unprotect
.Range("A1:J" & lnglast1).Sort .Range("B2"), xlAscending, , , , , ,  _
xlNo
.Protect
End With
Application.ScreenUpdating = True
End Sub
Gruß
Rudi

AW: Sortierbezug ist ungültig
09.11.2015 21:34:02
Daniel
Hi
der Fehler kommt auf folgendem Grund:
der Bereich, den du sortieren willst, liegt auf dem Blatt "Upload_Inventory"
(das ist der Bereich vor dem .Sort)
bei der Zelle, die die Sortierspalte vorgibt (Key1:=Range("B1"))
, hast du jedoch kein Tabellenblatt angegeben, daher liegt dieser Bereich auf dem aktiven Tabllenblatt Jetzt sollte natürlich die Sortierspalte Bestandteil des sortierten Bereichs sein und dazu müssen beide Bereiche auf dem selben Tabellenblatt liegen, ansonsten kommt der Fehler.
Dh. dein Code funktioniert nur dann, wenn das Blatt "Upload_Inventory" das aktive ist.
Damit der Code immer funktioniert, solltest du auch vor dem Key-Parameter das Tabellenblatt angeben.
Gruß Daniel

Anzeige
AW: Sortierbezug ist ungültig
09.11.2015 21:40:21
Manuel
Danke ihr zwei, jetzt klappt es perfekt!
Eine kleine weitere Frage, da ich bei folgenden Code gleiches Problem habe:
Sub Rahmen_Diagram1()
With Sheets("Diagram")
Dim lnglast1 As Long
lnglast1 = Sheets("Diagram").Range("A65536").End(xlUp).Row
Sheets("Diagram").Activate
'MsgBox lnglast1
'Überschrift
Sheets("Diagram").Unprotect
Sheets("Diagram").Range("A4:F4").Select
Selection.Font.Bold = True
'Rahmen ziehen
Sheets("Diagram").Range("B4:F" & lnglast1).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
'Zelle formatieren
Sheets("Diagram").Range(("D5:F" & lnglast1)).Select
Selection.NumberFormat = _
"_-[$$-409]* #,##0.00_ ;_-[$$-409]* -#,##0.00 ;_-[$$-409]* ""-""?_ ;_-@_ "
End With
End Sub
In Der Zeile Sheets("Diagram").Range("A4:F4").Select bekomme ich immer einen Debug angezeigt das die Select Methode des Range Objekts nicht ausgeführt wurden konnte.
Wisst ihr rat?
Grüße,
Manuel

Anzeige
AW: Sortierbezug ist ungültig
09.11.2015 21:50:15
Daniel
das ist der Grundfehler, der hier schon ungezählte male besprochen wurde.
DU SOLLST NICHT SELEKTIEREN !!!!!!
das Problem ist, das die Funktion .SELECT immer nur ein Objekt im aktiven Ober-Objekt selektieren kann und es dabei nicht gleichzeitig möglich ist, das Ober-Objekt zu wechseln.
Aus diesem Grund ist ein "Sheets(...).Range(...).Select Unsinn, wenn man selektieren will, muss man erst das Blatt und dann den Zellbereich selektieren:
Sheets(...).Select
ActiveSheet.Range(...).Select
aber auch das ist nicht notwendig, weil du in Makros nicht selektieren musst.
statt
 Sheets("Diagram").Range("B4:F" & lnglast1).Select
With Selection

kannnst du auch gleich direkt schreiben:
 With Sheets("Diagram").Range("B4:F" & lnglast1)
genauso hier:
Sheets("Diagram").Range(("D5:F" & lnglast1)).Select
Selection.NumberFormat = ...

das reicht, denn den die Maus musst nur du benutzten, aber nicht das Makro:
Sheets("Diagram").Range(("D5:F" & lnglast1)).SelectNumberFormat = ...
Gruß Daniel

Anzeige
AW: Sortierbezug ist ungültig
09.11.2015 21:57:52
Manuel
Danke, wird nicht mehr vorkommen ;-)

181 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige