VBA Fehler in Spaltennummer
#11
Hi,

nein, der Autofilter ist nicht das gleiche wie die Filter-Formel. Wenn du den Inhalt verteilter Spalten brauchst, musst du entweder Spaltenweise kopieren, die Spalten zu einem zusammengehörigen Block verschieben, oder die nicht benötigten Spalten aus dem Ergebnis löschen. 

Viele Grüße
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • Candalfo
Antworten Top
#12
Die Filterfunktion kopiert mir zu viele Spalten, nämlich die gesamte Zeile. Ich benötige aber nur bestimmte Spalten und da auch nicht alle, sondern nur bestimmte Zeilen.
Ein Beispiel:

Spalte A = Raumbezeichnung
Spalte B = Index "ELT"
Spalte C = Leistung in kW
Spalte D = Spannung in Volt.

Ich habe 10 Zeilen, wo alle diese Werte ausgefüllt sind. Allein in der Zeile 3 und 7 steht ELT in der Zelle. Bei den anderen Zeilen ist die Zelle leer. "ELT" ist mein Marker, damit das Script weiß, diese Daten benötige ich in meiner anderen Tabelle.
Dann braucht es einen Kopiervorgang, der die Spalte A Zeile 3 von der Quelltabelle des einen Tabellenblattes auf eine Zieltabelle auf einem anderen Tabellenblatt kopiert. Hier dann in die erste freie Zeile in die Spalte B. Die Tabellenaufbauten sind leider nicht identisch, das lässt sich nicht machen. Ich sortiere sozusagen von einer Mastertabelle alle Daten in kleinere Tabellen, die entweder als Print in einem speziellen Layout fungieren oder wie gerade in meinem Problem in einer anderen Tabelle weiterberechnet werden.
Leider kann ich diese Tabelle nicht hier einstellen, da sie Kundendaten enthält.

Viele Grüße
Candalfo
Antworten Top
#13
Hi,

Da braucht man kein VBA.

=Spaltenwahl(Filter(A2:D11;B2:B11="ELT");1;4;3)
Schreibt dir die Zellen der Spalten A, D und C, bei denen in B ELT steht, in dieser Reihenfolge in die Zielzelle und deren Nachbarzellen.

Und wenn man unbedingt will, kann man das auch in VBA mit Hilfe von WorksheetFunction machen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Candalfo
Antworten Top
#14
Moin Helmut,

vielen Dank für Deine Lösung. Sie hat mir bei einer anderen Tabelle ein Problem gelöst, die Funktion Spaltenwahl habe ich noch nicht auf dem Schirm gehabt. 

Ich habe versucht, Deine Lösung auf mein aktuelles Projekt zu transferieren. Dazu habe ich der Einfachheit halber die Tabelle in einem Auszug nachgebaut und hier angehängt. Die Formel scheint zu funktionieren, jedoch bekomme ich einen Überlauf zurück. Weißt Du, was ich da noch falsch mache?


.xlsx   Forum_01.xlsx (Größe: 24,52 KB / Downloads: 2)

Viele Grüße
Candalfo
Antworten Top
#15
Hi,

dein Fehler ist, dass du die Formel innerhalb einer intelligenten Tabelle verwendest. Spill-Formeln funktionieren darin nicht.

Übrigens kann man statt Spaltenwahl() meist auch Filter() verwenden. Denn Filter kann durchaus auch Spalten weg filtern, allerdings kann man damit nicht die Reihenfolge der Spalten verändern.

=FILTER(Filter(A2:D11;B2:B11="ELT");A1:D1<>"INDEX")
zeigt alle Zeilen mit ELT in Spalte B an, lässt dabei aber die Spalte mit der Überschrift INDEX weg.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Candalfo
Antworten Top
#16
Moin Helmut,

ich danke Dir, wieder etwas gelernt Smile . Leider muss ich diese intelligenten Tabellen verwenden, da die Ausdehnung sich nachher über mehrere hundert Zeilen erstrecken wird. Um das noch zu bewältigen, muss ich zum einen Filter setzen und zum anderen sind die Tabellen bei jedem Projekt unterschiedlich lang. Der Anwender muss sie nach Bedarf einfach vergrößern können und alle Formatierungen und Formeln müssen sich mit erweitern. Der Anwender soll sich aber nicht mit Excel direkt auseinandersetzen sondern mit dem Gebäude-Projekt.
Ich bevorzuge natürlich eine Lösung mit Formeln, aber bei dieser Aufgabe habe ich mit Formeln noch keine umfängliche Lösung gefunden.
Für Prints ist Deine Lösung jedoch perfekt  Thumps_up

Viele Grüße
Candalfo
Antworten Top
#17
Hi,

nun ja, Spill-Formeln brauchen auch keine Zeilen auf Vorrat - und man verfasst diese so, dass man idealerweise nur eine einzige Formel für die komplette Tabelle hat. OK, für weitere Dinge kann man auch noch in weiteren Spalten weitere Spillformeln verwenden, die die Ergebnisse der Vorherigen Formeln weiter bearbeiten. Und den Filter kann man auch außerhalb der intelligenten Tabellen verwenden - auch bei Spill-Formeln. Dazu einfach die Überschriften markieren und Start-->Bearbeiten-->"Sortieren und Filter"-->Filtern auswählen. Schon kannst du die Ausgabe der Spillformel weiter filtern.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Candalfo
Antworten Top
#18
Hi Helmut,

super, vielen Dank. Das werde ich gleich mal austesten. Mein altes Projekt summt jetzt jedenfalls, da war noch der Wurm drin.

Viele Grüße
Candalfo
Antworten Top


Gehe zu:


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