Clever-Excel-Forum

Normale Version: VBA-Xverweis
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Mitglieder, 

ich habe folgende Anliegen. Ich habe zwei Tabellen mit Datenbank und Ziel. Mit dem XVERWEIS konnte ich aus der Datenbank in die Tabelle Ziel kopieren/verknüpfen. 

1. Nun fehlen mir aber die entsprechenden Überschriften als Spaltennamen zu den entsprecheden Daten, die ich mit XVERWEIS verknüpft habe. Wie kann ich es am besten lösen? Mit VBA habe ich es versucht, aber es wäre nicht dynamisch. Denn ich möchte gleichzeitig die dann entstehen zwei Zeilen und n-Spalten transponieren, damit die untereinander gelistet werden.

2. Wie kann ich mit VBA dafür sorgen dass genau diese Verweise gelöscht werden? Delete-Funktion habe ich nach VBA nie durchgeführt. Daher die Nachfrage. 

Mit freundlichen Grüßen
Häh??

Wenn du mit dem XVerweis Daten holst, dann müsstest du doch wissen aus welcher Spalte die Daten kommen und müsstest somit auch die Überschrift haben???
Und was hat "dynamsich" mit "transponieren" zu tun?

Was verstehst du unter "Löschen der Verweise"? Falls du nur die Formeln löschen willst, aber die Werte behalten, dann reicht in VBA ein einfachen Range("A1:C10") = Range("A1:C10") und in Excel selbst ein "kopieren" und "Werte einfügen" an der selben Stelle.
(01.02.2023, 14:34)HKindler schrieb: [ -> ]Häh??

Wenn du mit dem XVerweis Daten holst, dann müsstest du doch wissen aus welcher Spalte die Daten kommen und müsstest somit auch die Überschrift haben???
Und was hat "dynamsich" mit "transponieren" zu tun?

Was verstehst du unter "Löschen der Verweise"? Falls du nur die Formeln löschen willst, aber die Werte behalten, dann reicht in VBA ein einfachen Range("A1:C10") = Range("A1:C10") und in Excel selbst ein "kopieren" und "Werte einfügen" an der selben Stelle.

Also ich habe ich die Daten mit dem XVERWEIS in eine andere Tabelle übergeführt. Leider ist mir aufgefallen, dass die Zeile, die ich mit dem XVERWEIS verknüpft habe, die Überschriften (Spaltennamen) nicht mit übernimmt. Ich habe es versucht, indem ich in der Rückgabematrix die Spaltennamen mit integriere, aber dann zeigt er mir einen Fehler an. 
Daher mein Versuch: XVERWEIS auf eine Zeile mit Rückgabewert der Zeile + der Spaltenname wie "Klasse/Alter/Geschlecht". Ich hoffe, es war präziser, ob es eine Möglichkeit gibt, immer die passenden Überschriften den Zellen zuzuordnen, die man im Vorhinein mit dem XVERWEIS in eine andere Tabelle überführt hat.

Wenn nun dies geglückt ist, würde ich gerne die Formatierungen der Spaltennamen auf den Inhalt begrenzen, ohne das dort Füllfarben oder Ähnliches sind. 

Ist dies alles mit einer simplen Formel möglich oder muss man da mit VBA ran? Und Wie?

Gruß
Hi,

Also irgendwie verstehe ich nicht, was du willst.

Formeln holen immer nur Inhalte und niemals Formatierungen.

Wenn du mit XVERWEIS etwas holst, dann weißt du doch, aus welcher Spalte du den Wert holst und hast doch somit auch die Überschrift.
=XVERWEIS(A2;TABELLE2!B2:B99;FW:F99;0;0) SUCHT DOCH IN Spalte B einen Wert und gibt den entsprechenden Wert in Spalte F zurück. Somit gibt dir =Tabelle2!F1 die zugehörige Spaltenüberschrift.
Sorry, aber ich weiß nicht, was man da nicht verstehen soll. Du hast ganz normal drei Zeilen (1 Zeile Überschrift, 2 Zeilen mit individuellen Datensätzen) und mit 10 Spalten in deiner Ausgangs-Datenbank. Wenn du XVERWEIS verwendest, übernimmt der nur den Inhalt, den du geordert hast. Die erste Zeile (Überschrift) übernimmt der nicht. Ich will es vermeiden, dass ich jedes Mal Copy and Paste mache oder jedesmal jede Zeile einzeln anklicken muss, um es auf eine andere Zelle zu beziehen. Ich möchte wie beim Xverweis eine einmalige Formel oder ein VBA anwenden, es ausführen und dann schreibt er mir die Überschriften schön in einer Zeile aus, die passend zu meinen Zellinhalten sind.

Wenn ich:

Geschlecht | Alter
Männlich | 15
Weiblich | 16 

habe, dann soll er mir beispielsweise mit dem XVERWEIS die Spaltennamen und den Zellbezug als Inhalt hinschreiben:

Geschlecht | Alter
Männlich | 15

Mir fehlt aber die Überschrift, die ich schön in einem Rutsch auch haben möchte und ich will mich da nicht jedes Mal dumm und dämlich klicken. Ich hatte eine Ausführung mit VBA, wo er die erste Spalte nimmt und bis zur letzten Spalte hochzählt, kopiert und einfügt. Da aber meine Zieltabelle mal Änderungen unterworfen sein kann und dadurch der XVERWEIS sich auch verschiebt, verschiebt sich aber nicht automatisch mein VBA mit den Überschriften. Daher suche ich nach einer verknüpften Lösung, wo MÄNNLICH UND GESCHLECHT IMMER RELATIV zueinander sind. 

Nicht dass mir irgendwann der Xverweis 3 Zellen woanders hinrutscht, weil ein Anwender es so will und die Überschriften statisch bleiben. 


Ich hoffe, es ging nun genauer.
Moin

Die meisten würden Datenbank!C4:H4 nach Ziel!B4:I4 kopieren. Und fertig ist die Laube.
Bei >200 Spalten sieht es ja dann wieder anders aus. Wenn ich dann die ganze Zeile markiere, gibt es den Überlauf. Ist doof, wenn man immer nach rechts scrollen muss, um zu lesen, welche Spalte es nun ist.
Dann zeige mal die Datei mit 200 Spalten und was da anders aussieht.
So ganz verstehe ich deinen Ansatz nicht. Wieso soll ich die Hauptdatei, an der ich persönlich arbeite, hergeben, nur um zu zeigen, dass es mehr als 200 Spalten hat? Ändert nichts daran, dass ich bis rechts scrollen muss, um den Spaltenindex herauszufinden. Ich will etwas vereinfach. Das ist mein Ziel. Anwenderfreundlich.

Ich möchte doch nur wissen, was geht und was nicht geht. Es geht mir hier um konstruktive Antworten und nicht um jegliche Copy-Paste Sachen. Ich möchte schon den fortgeschrittenen Umgang mit Excel lernen und dachte, dass in diesem Forum es gewisse Leute gibt, die mit VBA Schleifen und Bedingungen abfragen können. 

Aber alles gut. Danke für die Mühe.
Seiten: 1 2