Fehlende Klammer bei SVERWEIS
#1
Hallo und einen schönen Abend.

Und wieder einmal bin ich am Ende meiner Weißheit.

Ich habe mir eine Suche eingebaut, damit ich Daten eines Mitglieds  aus den Mitgliederdaten 
auf der Seite Mitglied anzeigen lassen kann. Ich gebe einfach auf C:12 den Namen ein und mit Suche wird dann ausgefüllt.

Da klappt auch soweit. Allerdings, wenn ich mehr gleiche Namen, aber verschieden Vornamen habe bekomme ich nur eine Person angezeigt.

Meier     Roman
Meier    Roman der zweite

Das ganze läuft über Makro auf dem Blatt Mitglied.

Jetzt habe ich etwas gefunden, und zwar den SVERWEIS.
Leider habe ich da einen Fehler drin. Sad
Spalte A:B 2:5. Da will das Programm eine Klammer oder so etwas Undecided

Wäre das, wenn der Fehler gelöst würde, eine Möglichkeit das Problem gleiche Namen andere Vornamen zu lösen?
Und würden die zu dem Namen gehörenden Vornamen angezeigt, damit ich einen auswählen könnte?
Oder ist das der komplett falsche Weg?
Könnte man den SVERWEIS in das Makro einpacken?

Danke Roman aus Bayern

.xlsm   Mitgliederliste_ins_forum_.xlsm (Größe: 67,42 KB / Downloads: 19)
Antworten Top
#2
guten morgen.
Htte ich vergessen.
In die Felder für die Eigabe des Namens und Vornamen kommt noch eine Datenüberprüfung mit Liste


Roman
Antworten Top
#3
(30.01.2026, 21:53)Roman-1 schrieb: Oder ist das der komplett falsche Weg?

Roman,

Ja, Du bist auf dem Holzweg und zwar komplett. Ich hatte das schon mal beschrieben wie man das macht und Du hast es komplett ignoriert... was auch so von der Entwicklung her okay ist.

Du hast eine Idee wie man etwas machen könnte und ein Ziel vor Augen was Du willst, das ist gut. Dann stellst Du Fragen in diese Richtung und verfolgst natürlich nur die Antworten die Deinem Weg folgen.

Nun gut, einmal versuche ich es noch und zeigt Dir mal wie man beliebige Suchparameter in einer Datenbank universell finden kann. 
Und zwar egal wie die Suchparameter angeordnet sind und egal welche Spalte in der Datenbank wo steht.

Da es in Deiner Datei keine Definition gibt in welchem Bereich die Suchparameter stehen, steht im Code C2:C3 und weil Du keine Tabellen verwendest setze ich voraus das die Überschriften in der Datenbank in Zeile 1 stehen.

.xlsm   Mitgliederliste_ins_forum_.xlsm (Größe: 60,65 KB / Downloads: 8)

BTW, die Suche ist so das er immer die ganze Zelle durchsucht, man kann das programmieren das er nur Teile durchsucht und mit mehr anderem Code gehen auch Wildcards.

Wie und wohin Du die Ausgabe haben willst... keine Ahnung, ist zeige die Daten nach der Suche einfach an.

BTW2, nochmals: Auch das Laden der Daten in die Zeilen 10:24 geht identisch... ist sehr einfach wenn die Namen wie die Überschriften in der Datenbank lauten, so jedoch braucht es eine Konversationstabelle damit man weiß was wo steht und hin soll.

Andreas.
Antworten Top
#4
Zitat:wie man das macht und Du hast es komplett ignoriert.
Hallo Andreas.

Sorry, aber ich hab dich da wirklich nicht ignoriert. 
Ich habe Deinen Beitrag genau gelesen. Bin aber irgendwie nicht klar damit gekommen.
Ich habs einfach nicht richtig oder sogar falsch verstanden. Sorry.
Heute Abend schau ich mir das Macro ganz genau an. 
Soweit ich sehe, ist das schon mal ganz anderst als mein Versuch.

Danke
Roman
Antworten Top
#5
Hallo Roman,

nur mal so aus Interesse: was hat dich veranlasst so viele einzelne Zellen als benannter Bereich zu definieren?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
Hallo Roman,

bevor es überhaupt Sinn macht da brauchbar weiterzuhelfen, habe ich eine Frage:
Im Tabellenblatt "Mitgliederdaten" hast du in Zeile1 bi Zeile 2 ein Listobjekt "Daten" angelegt. Die nachfolgenden Datensätze sind alle außerhalb des Listobjekt.

Warum?

Es macht so eigentlich keinen Sinn. Gibt es einen Grund, warum du unbedingt den neuen Datensatz in die erste Zeile haben willst?

Was die gefilterte Ausgabe eines Datensatzes anlangt, nimmt man zur Filterausgabe eine Listbox oder manchmal reicht da auch eine Combobox und lässt sich via Change Event den Datensatz in die Zellen ausgeben.

Gruß Uwe
Antworten Top
#7
Hi,

hab mir Deine Datei nicht angesehen, aber... Du hast Version 2019. Da geht das komplett ohne SVerweis, VBA und Formulare.
Mach aus den Quelldaten eine formatierte Tabelle (Strg + t im Datenbereich), füge aus der Datentabelle eine Pivottabelle mit den gewünschten Feldern hinzu und einen (oder auch mehrere) Slicer für die Pivot. Über den/die Slicer kannst Du jetzt die Pivot ganz nach Herzenswunsch/wünschen filtern und/oder die Ansichten anpassen.

OK... hab sie ir doch mal angesehen und folgende Änderungen vorgenommen:
* nur xlsx
* Aus Tabelle Mitgliederdaten eine formatierte Tabelle gemacht.
* Darauf im Blatt Beispielpivot eine Pivottabelle erstellt. Wenn Du mehr/andere Felder willst, kannst Du das anpassen. (Und... klick mal in die Pivot und ändere im Menü Entwurf mal die Einstellungen für Berechtslayout und Ergebnisse. Beobachte was passiert)
* 3 Slicer (Datenschnitte) für die Pivot gesetzt und im Namensslicer nach Meier gefiltert.

Die restlichen Anpassungen darfst Du gern selbst vornehmen..


.xlsx   Kopie von Mitgliederliste_ins_forum_.xlsx (Größe: 60,34 KB / Downloads: 2)
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Roman-1
Antworten Top
#8
Hallo.
@Klaus-Dieter:
Zitat:veranlasst so viele einzelne Zellen als benannter Bereich zu definiere

Das ist eine gute Frage. Da ich so viele Ausgabefelder hatte wuste ich mir da nicht anderst zu Helfen. 
Auf der Seite Eingabemaske hatten wir ja den Bereich zusammen gefasst. Das ist mir aber nicht so richtig in den Sinn gekommen.

@Uwe:

Zitat:Mitgliederdaten" hast du in Zeile1 bi Zeile 2 ein Listobjekt "Daten"
Warum die Zelle 2 da ist, kann ich Dir nicht mal sagen. Ich hatte da mal eine Zeile zu fixieren versucht..... und da ist das anscheined übrig geblieben.
Gehört überhaupt nicht da hin.  Oder diese Zeile wird durch 
Zitat:Dim arr(): arr = Tabelle3.Range("eingabe_Maske").Value
    Tabelle2.ListObjects(1).ListRows.Add(1).Range.Resize(1, UBound(arr)) = Application.Transpose(arr)
erstellt.

Die Zeile 1 hatte ich als Intelligente Tabelle um zu sortieren, ... das ist der einzige Grund.
Zitat:Grund, warum du unbedingt den neuen Datensatz in die erste Zeile haben willst?
Nein, gibt keinen Grund. Mir war nur wichtig, das eine Zeile eingefügt wird.
Antworten Top
#9
Hallo Roman,
 
Sortieren und die restliche Funktionalität eines Listobjektes wird nur innerhalb dieses Listobjekts ausgeführt.
Im Übrigen erzeugst du beim Eintragen eines neuen Mitgliedes eine neue Zeile im Listobjekt.
 
Diese kleine Prozedur hatte ich dir mal gezeigt.
 
Gut gemeinter Rat und bitte nicht sauer sein. Überdenke die ganze Sache in Ruhe (Listobjekt ist schon mal ein guter Gedanke für sowas). 
Baue eine neue Datei. 
 
Wenn es mit Formularen für Neueintrag +Bearbeiten via Filtern/Suchen sein soll kann man das besser mit einem Userform machen.
 
Gruß Uwe
Antworten Top
#10
Hallo Ralf.

Zitat:hab mir Deine Datei nicht angesehen, aber... Du hast Version 2019. Da geht das komplett ohne SVerweis, VBA und Formulare.
Pivottabelle, ... Hört sich gut und neu an Smile
Gesehen habe ich das schon mal, aber ganz gekonnt ignoriert.

Das schaue ich mir heute Abend auch noch genau an.

Danke, auch an die anderen
Roman
Antworten Top


Gehe zu:


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