das neue Forum sieht gut aus :-)
Ich mache jetzt mal einen neuen Beitrag auf, weil es zwar eine gewisse Verbindung zu meinem Problem des Löschens leerer Spalten hat, aber zwei mögliche Lösungspunkte hat ( https://www.herber.de/forum_mobile/cgi-bin/call_thread.pl?index=1712051).
Folgendes Problem:
Ich habe eine Tabelle, in die abhängig vom Wert in der Kopfzeile Daten kopiert werden.
Zur Veranschaulichung: steht in Spalte x in der Kopfzeile die "Kunde", dann kopiert er den Kundennamen. In der Spalte mit Kopfzeile = "Anschrift" kopiert er die Anschrift usw.
Die Werte der Kopfzeile werden über einen SQL Server Import eingelesen und die zuzuweisenden Daten stammen aus einer zweiten Exceldatei.
Nachdem die Werte in die Tabelle eingetragen wurden, sollen alle Spalten, die keine Werte enthalten, gelöscht werden. Hierzu wird folgende Lösung verwendet:
Dim CleanColumn As Long
For CleanColumn = .Cells(9, Columns.Count).End(xlToLeft).Column To 4 Step -1
If .Cells(Rows.Count, CleanColumn).End(xlUp).Row = 9 Then _
Call .Range(.Cells(8, CleanColumn), .Cells(Rows.Count, CleanColumn)).Delete(Shift:=xlShiftToLeft)
Next
Das Problem ist, dass ich die Daten aus dem SQL Import als Array eingefügt habe. Das Löschen einzelner Spalten eines Arrays ist aber verboten. Es gibt also eine Fehlermeldung.
Wieso habe ich ein Array benutzt? Weil ich beim Import drei Spalten bekomme.
1. Datenwert
2. Datentyp (Kundenname, Anschrift etc.)
3. Status (bspw. "Fertiggestellt").
Problem 1: "Status" ist lediglich eine Kontrollspalte und soll nur als Filter dienen. Diese soll aber nicht in der Kopfzeile angezeigt werden. Angezeigt werden sollen nur "Datenwert" und "Datentyp".
Problem 2: Der Import erzeugt immer Zeilenweise die Einträge. Für eine Kopfzeile brauche ich diese Werte transponiert. Deshalb habe ich die Kopfzeile via MTRANS gefüllt.
Ich vermute also, dass man entweder eine Alternative zu MTRANS nutzen könnte, die dann das Problem der Arrays löst, oder man irgendwie Zellen/Spalten aus einem Array löschen kann, was im obigen Codeschnipsel nicht funktioniert.
Wichtig, falls man die SQL Infos irgendwie transponiert importieren kann: in der Kopfzeile dürfen weder die Titel der SQL Tabellen angezeigt werden noch die dritte Spalte (=das Filterkriterium).
Weiss von euch jemand, wie man das bewerkstelligen könnte?
Vielen Dank und viele Grüße