Clever-Excel-Forum

Normale Version: RemoveDuplicates 53/BA +
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen, 

warum komme ich mit der RemoveDuplicates-Methode nicht über die Spalte 52 hinaus? Bis dahin läuft sie durch. 
Versuche ich aber mehr Spalten mit aufzunehmen, geht es nicht. Ab Spalte 53, beginnt die Bezeichnung mit B, als BA. Scheint kein Zufall zu sein, macht für mich aber kein Sinn. 
Bekomme den Laufzeitfehler 5 "Ungültiger Prozeduraufruf oder ungültiges Argument"

Gibt es zudem eine elegantere Lösung die einzelnen Spalten aufzuführen? Muss nämlich bis 171 prüfen... 
Hatte mal Dim arraytest(1 To 147, 150 To 171) As Variant probiert... aber wäre mittlerweile froh wenns überhaupt funktioniert.

ActiveSheet.Range("$A$3:$AZ$10000").RemoveDuplicates _
Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52), _
Header:=xlYes

Vielen Dank im Voraus.
Hallo,

wenn man explizite die Spalten 1 bis 52 aufzählt, darf man sich nicht wundern, wenn in Spalte 53 nicht mehr passiert.

mfg
Hallo, 

nein, ich habe die Zahlen bis  53 von hinten nach und nach entfernt, da mir nicht klar war, warum es bei der Tabelle nicht funktioniert.
Hallo,

setze mal das Array in Klammern:
ActiveSheet.Range("$A$3:$AZ$10000").RemoveDuplicates _
Columns:=(Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)), _
Header:=xlYes

Zumindest war das, wenn ich mich recht erinnere, bei Array-Variablen so nötig ... vielleicht hilft es hier auch.
Hi,

wie willst du denn in einem Bereich mit 52 Spalten (=Spalten A:AZ) insgesamt 53 Spalten (=A:BA) vergleichen? Das kann doch nicht gehen. Wenn du bis BA vergleiche willst, musst du auch BA mit in den Bereich aufnehmen:

ActiveSheet.Range("$A$3:$BA$10000").RemoveDuplicates _
Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53), _
Header:=xlYes
Hallo, 

hier noch mal zum Verständnis. 
Das war mein Ursprung....

ActiveSheet.Range("$A$3:$AZ$10000").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171), Header:=xlYes


einen ähnlichen Code hatte ich schon mal eingesetzt, weshalb ich wusste, dass er funktioniert. Da jetzt eine Fehlermeldung kam habe ich nach und nach die Zahlen von hinten geprüft und gelöscht.... 

Dann habe ich festgestellt, dass bei Zahlen über 52 hinaus, das Problem auftaucht. 
Bis 52 funktioniert der Code, danach die Fehlermeldung.
Erst dachte ich, es gibt eine begrenzte Anzahl an prüfbaren Spalten, aber die Tatsache, dass ausgerechnet beim Wechsel von der Spaltenbezeichnung AZ zu BA der Fehler Auftritt ist zu auffällig. 

Also, jemand eine ernsthafte Idee?

Okay, 

Dank an Michael, es war nicht die Klammer, aber der Inhalt der vorherigen Klammer.  19
Die Parameter des Bezugsquelle waren mit Range ("$A$3:$AZ$10000") angegeben und hatte damit das Ganze beschränkt.
Code:
ActiveSheet.cells(3,1).Resize(1000;171).RemoveDuplicates [transpose(row(1:171))],1