Anzeige
Archiv - Navigation
1564to1568
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

Sortierung per VBA mit Tabelle per PowerQuery

Sortierung per VBA mit Tabelle per PowerQuery
27.06.2017 16:12:06
Matze
Hallo liebes Herber-Forum.
Ich habe einen wunderschönen Code geschrieben, der einwandfrei funktioniert bis zum letzten Schritt.
Folgendes passiert: Aus unserem System ziehen wir per Power-Query Daten ins Excel.
Diese werden per Makro bearbeitet, ein bisschen umstrukturiert usw., klappt alles wunderbar.
Als letzter Schritt müssen noch Duplikate entfernt werden. Den Code dafür habe ich mir per VBA-Rekorder aufgezeichnet, dieser lautet wie folgt:

ActiveSheet.Range("Tabelle1[#Alle]"). _
RemoveDuplicates Columns:=Array(4, 6), Header:=xlYes
Tabelle1 ist dabei der Name der intelligenten Tabelle.
Nachdem ich den aufgezeichneten Code in meinen übernommen habe kommt beim Ausführen die Fehlermeldung "400".
Im Debug-Fenster kommt der Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler.
Ich habe dann probiert, den aufgezeichneten Code noch einmal direkt aus dem aufgezeichneten Makro auszuführen. Das hat aber ebenfalls nicht funktioniert. Hier hat also die Aufzeichnung offenbar bereits versagt.
Ich denke, dass es an dem Tabellen-Namen liegt.
Eine weitere Aufzeichnung eines Codes zur Entfernung von Duplikaten auf einem leeren Arbeitsblatt mit ein paar Testdaten und einem einfach definierten Zellbereichen hat wunderbar geklappt und war auch reproduzierbar.
Ich bin ratlos... :(

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung per VBA mit Tabelle per PowerQuery
28.06.2017 13:11:00
Michael
Hallo!
Eine formatierte Tabelle ist etwas anderes als ein regulärer Tabellenbereich, daher:
Sub a()
Dim Ws As Worksheet: Set Ws = ActiveSheet
Dim t As ListObject: Set t = Ws.ListObjects("Tabelle1")
t.Range.RemoveDuplicates Columns:=Array(4, 6), Header:=xlYes
End Sub
LG
Michael
AW: Sortierung per VBA mit Tabelle per PowerQuery
28.06.2017 15:24:57
Matze
Hallo Michael.
Vielen Dank für deine Antwort. Ich habe diese nicht getestet, da ich zwischenzeitlich selbst schon eine Lösung gefunden hatte.
Inspiriert durch diesen Beitrag http://www.office-kompetenz.de/duplikate-in-excel-automatisch-per-vba-entfernen/
habe ich den Code wie folgt angepasst:

Worksheets("Tabelle1").ListObjects(1).Range. _
RemoveDuplicates Columns:=VBA.Array(4, 6), Header:=xlYes
Also einfach statt der Adressierung über den Namen den Ausdruck "ListObjects(1)" verwendet.
Das klappt wunderbar :)
Mfg Matze
Anzeige
Ok, das ist das Selbe wie mein Vorschlag ;-), owT
28.06.2017 15:33:04
Michael

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige