Unzulässiger Prozeduraufruf oder ungültiges Argument.
#1
Hallo,

beim Ausführen eines Makros im Excel 2016 und iMac kommt immer die Meldung "Unzulässiger Prozeduraufruf oder ungültiges Argument."

Der Code:


Code:
Range("A2:" & letzteSpalte & letzteZeile).Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _
    xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom,  key2:=Range("A2"), Order1:=xlAscending, Header:= _
    xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


Hier hält das Makro an. 
Kann mir jemand sagen was falsch daran ist.

Im Windows hatte dieser Code immer funktioniert. Auf Mac plötzlich nicht mehr.

Vielen Dank im Voraus

Mit freundlichen Grüßen

Tom
Top
#2
Hi Tom,

hast Du nicht noch eine kleinere Schriftgröße?
Ist ja fast wie die Zutatenliste aus dem Supermarkt.

Das nenne ich glatt eine Zumutung
Top
#3
Hi Peter,

jetzt ist es lesbar.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
Hallo Tom!
1. Wie werden die Variablen gefüllt und welchen Wert haben sie zur Laufzeit?
2. Dein Sortiercode ist eigentlich bis Excel(Win)2003 Standard, danach wird das Sort-Objekt anders behandelt, kann sein, dass Deine Mac-Version hier rumzickt.
3. Eigentlich brauchst Du keine letzte Zeile/Spalte, nimm
Cells(1).CurrentRegion.Sort mit dem Parameter Header:= xlYes

Also:
- Stelle mal den gesamten Code vor oder lade gleich die (anonymisierte?) Mappe hoch.
- Zeichne einen Sortiervorgang mal mit dem Makrorekorder auf.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
Hallo Tom,

du sollts es so versuchen:

PHP-Code:
Range("A2:" letzteSpalte letzteZeile).Sort _
      Key1
:=Range("B2"), Order1:=xlAscending_
      Key2
:=Range("A2"), Order2:=xlAscending_
      Header
:=xlNoOrderCustom:=1_
      MatchCase
:=FalseOrientation:=xlTopToBottom 
ohne Wiederholungen von Header, MatchCase usw. und vor allen Dingen mit Order2:= ...

Gruß Peter
Top
#6
Diese Code reicht:

Code:
with sheet1
    .Range("A2:B100").Sort .Range("B2"), ,.Range("A2")
End With
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste