Hey,
ich bin ein leihe was VBA angeht, aber habe das ambitionierte Ziel eine ordentliche Suchfunktion aufbauen zu wollen.
Gibt es hier einen Spezi dafür?
Du bist in Begriff, OCTAVIA-RS.COM zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
Du besitzt noch keinen Account? Dann registriere dich einmalig und völlig kostenlos und nutze unser breites Spektrum an Themengebieten, Features und tollen Möglichkeiten. Als registriertes Mitglied auf unserer Seite kannst du alle Funktionen nutzen um aktiv am Community-Leben teilnehmen. Schreibe Beiträge, eröffne Themen, lade deine Bilder hoch, stelle deine Videos online, unterhalte dich mit anderen Mitgliedern und helfe uns unser Projekt stetig zu verbessern und gemeinsam zu wachsen!
Willst du mehr sehen? Wir bieten dir eine Community mit Forum, Galerie, Kalender und der Möglichkeit einen eigenen Blog zu führen.
Hey,
ich bin ein leihe was VBA angeht, aber habe das ambitionierte Ziel eine ordentliche Suchfunktion aufbauen zu wollen.
Gibt es hier einen Spezi dafür?
Moin HP, was heißt Experte, ich habe während meiner Ausbildung damit ein wenig mein Unwesen getrieben. Aber wer weiß, vllt reicht das Basiswissen ja aus
Ansonsten kann ich immer nur empfehlen Makros aufnehmen und dann anschauen was der Code tut
Von unterwegs Tapatalkted..
also ich habe eine Excel Mappe mit ca. 10-12 Blättern die jeweils gleich aufgebaut sind und ca. 6-7 Spalten haben und etliche Zeilen.
Hätte gerne auf einem eigenen Blatt im Prinzip ne Maske der Tabelle und wenn ich dort iwo einen Wert eingebe, er mir alle restlichen Daten ergänzt.
Oder ähnlich der implementierten SuFu alle auflisten lassen in einem Userform. Aber dann ne Auflistung mit allen Spalten nicht wie bei der Serien Sufu.
Verstehst du was ich meine?
Wenn ich das richtig verstehe, hast du in Excel eine Datei mit mehreren Tabellenblättern. Und in diesen hast du Tabellen, in dem in einer Zeile immer bezogen auf z.B. den Wert in der ersten Spalte verschiedene Daten in den anderen Spalten eingegeben werden. Und in einem separaten Tabellenblatt möchtest du dann, wenn du zum Beispiel den Wert der ersten Spalte eingibst, die Werte aus anderen Spalten entsprechend dem eingegebenen Wert aus den anderen Tabellenblättern ergänzt haben?
Ich hatte mal eine Datei für die Arbeit erstellt, in der ich die Arbeitszeiten pro Tag in jeweils einem Tabellenblatt errechnet habe und dann ein Tabellenblatt für die Wochenarbeitszeit der einzelnen Mitarbeiter erstellt habe. Habe also 6 Tabellenblätter mit jeweils in der ersten Spalte den Namen, dann Spalten mit Arbeitsbeginn, Arbeitsende, errechnete Arbeitszeit, Pausendauer 1, Pause 2, Arbeitszeit ohne Pausen. Und im letzten Tabellenblatt kann ich dann in der ersten Spalte einen Namen eingeben (könnte man auch per Dropdownmenü machen) und er sucht mir aus den einzelnen Tagen die reinen Arbeitszeiten ohne Pausen der entsprechenden Person. Dabei ist es egal, in welcher Zeile an den Tagen der Name steht, sucht er immer die Zeiten zu der entsprechenden Person.
Meinst du sowas in der Art?
ich glaube ja.
Habe halt über Tausend Datenreihen und so könnte ich schnell alle Daten finden, wenn ich nur eine der Variablen suche. es wäre evtl noch toll, wenn ich dann was in diesem Blatt ändere, dass es direkt in den originalzellen entsprechend umgeschrieben wird.
alles bisserl kompliziert.
Ohh. Mit dem Ändern dann in der Originalzelle klappt bei meiner Datei nicht. Bei mir dient das letzte Tabellenblatt einfach nur zur Suche der entsprechenden Daten aus den anderen Tabellenblättern. Da bei uns der Personaleinsatz immer nur die Tageweisen Tabellen erstellt hat. Muss dazu sagen, dass in unserem Unternehmen noch andere Daten wichtig sind, um die tatsächliche, zu vergütende Arbeitszeit zu errechnen. Deshalb hatte ich nach langem Suchen im Netz das letzte Tabellenblatt hinzugefügt. Für mich als Betriebsrat war es zu der Zeit nur wichtig, auf Anfrage von Mitarbeitern, die tatsächliche Arbeitszeit schnell auf einen Blick einzuholen, ohne mich durch jedes einzelne Blatt zu suchen und mir die Arbeitszeiten an den einzelnen Zeiten zu suchen und dann nochmal zusammenzurechnen.
Die Funktion, die ich dafür genutzt habe, war SUMMEWENNS
ja allein das Suchen wäre schon super besser als nichts. evtl könnte man eine Verlinkung zur originalzelle mit einfügen.
Man kann einen Hyperlink in einem zusätzlichen Feld hinzufügen, der sich dann auf den Suchbegriff bezieht und diesen in einem Tabellenblatt sucht. Aber ob man diesen Suchbegriff für den hyperlink auch auf mehreren Blättern suchen lasse kann, ist mir allerdings nicht bekannt.
Wenn du also auf mehreren Tabellenblättern gleichzeitig suchen möchtest, wirst du eventuell für jedes Tabellenblatt einen Hyperlink erstellen
Könnte man sowas nicht auch über eine Pivot abbilden?
Über Formeln stelle ich mir schwierig vor, da der Suchwert ja in einer beliebigen Zelle sein kann, also die hinterlegte Formel immer wieder überschrieben wird. Wenn man es wie im Beispiel von djduese machen will und nur einen Suchwert (den Namen) hat, kann man die restlichen Werte einfach über ein Summenprodukt, einen SVerweis oder eine Indexformel ziehen.
Auch muss mann mit Zirkelbezügen dann aufpassen.
@H_P_BaxXter kannst Du eventuell mal ne Beispieldatei erstellen? Muss ja nicht den vollen Umfang haben. Nur damit der Grundaufbau Deiner Datei klar ist.
Kann ich bei gelegenheit machen
Tatsächlich bau ich mir gerade etwas ähnliches. Habe eine Liste mit Teilennummern von verschiedenen Kundennummern und meine Teilennummer dazu.
Also: Kundennummer, ext.Zeilennummer, meine Teilenummer
Funktioniert in Excel dann so: =extTeilenummer(Teilenummer, Kundennummer)
Sind auch ein paar tausend Einträge. Hatte das jetzt Jahre lang über eine komplizierte Formel.
Grundsätzlich funktioniert es schon. Wenn ich alles durch getestet habe, kann ich die Funktion ja mal hier Posten. Habe die Tage zu zwei Fragen sehr gute Hilfe im tutorials.de > VB Forum bekommen.
Das hört sich gut an. Habe selbst schon google verwendet aber noch nichts gefunden was mich zufrieden stellt
Hört sich ja fast schon so an, als wenn ihr mal mit MS Access arbeiten solltet, grade bei solch Listen sehe ich eine Datenbank im Vorteil, oder nicht?
Von unterwegs Tapatalkted..
Im Prinzip musste du nur die Datei öffnen und zeilenweise in ein Array schreiben. Dann jede Zeile in einer Schleife nach dem Feldtrenner splitten und in die entsprechende Spalte mit dem Suchbegriff vergleichen.
Eigentlich sollte man dafür schon irgend eine Art Datenbank für verwenden, ja:-) .
Bevor ich heute Mittag weiter mit Refactoring mache (nicht das es diese Woche noch Spaghetticode zum Abendessen gibt) im Anhang mal was ich bisher habe. Funktioniert, ist nicht großartig getestet, aber noch ist der Code überschaubar und somit verständlicher.
Angepasst werden muss im Modul "ExtTeilenummer" die Einträge nach "configuration BEGINN" bis "configuration END" und im Klassenmodul kann in der Klasse "clsListener" ganz unten wie die Zelle formatiert werden soll nach dem die Funktion ihren Funktionswert zurück gibt.
Ah, und es ist ein Excel AddIn. Nicht wunder :-).
Dazu noch als Beispiel wie bei mir die "Datenbank" aussieht/vor liegt.
Also ich nutze aktuell eine Datei, die auch in mehreren Tabellenblättern (die identisch aufgebaut sind) Inhalte entnimmt und diese in einer Übersichttabelle integriert. Das ganze wird nur geschrieben, wenn die Zellen voll sind, sonst wird nichts angezeigt. Beim beenden des Tasks warden die Zeilen automatisch grau hinterlegt als "closed".
Die Rückkopplung zurück in die Zelle würde zumindest meiner Datei die entsprechende Formel löschen, was dann nicht dem eigentlichen Sinn entsprechen würde.
Die Übersichtsdatei ist bei mir schreibgeschützt und dient in dem Fall einer kurzen, prägnanten Übersicht. Man kann diese Übersicht aber dann z.B. über Spalten filter, was deiner Su-Fu recht nahe kommen würde. Da aber angezeigt wird, in welchem TAbellenblatt die Daten sind, könntest Du dort direct hinspringen und eintippen
Ist ohne VBA programmiert, denke für deine Funktion brauchst Du keine VBA / Makros.
Helfen kann Dir unter anderem z.B. die Funktion "INDIREKT" und dann entsprechend Verweise auf die Blätter mit der Variablen von INDIREKT.
Bei FRagen, kannst Dich gerne melden
Gibt's hier eigentlich schon was neues? Ist die Demo Datei schon erstellt? Kenne mich bisschen aus mit Excel und hab auch schon eine Idee, wenn ich dein Problem richtig verstanden habe...
Gesendet von meinem XT890 mit Tapatalk
Ne kam noch nicht dazu. Vllt schaff ich es heute mal dann habt ihr was zum spielen
sooo hier die Demo.
Habe sie auch die schnelle sehr schlicht gehalten.
Ich habe ca. 10 Blätter mit identischem Aufbau auf allen Blättern wiederholen sich die Hersteller.
Jede Artikelnummer kommt nur einmal vor und jede Bezeichnung theoretisch auch.
Suchen will ich ja nach Artikelnummer, Bezeichnung sowie Hersteller.
Schön wäre es, wenn die Datei auf einem extra Suchblatt angezeigt werden, evtl. so dass man sie dort direkt ändern könnte oder sonst mit einem Link zur originalzelle.
Ich hoffe ihr habt gute ideen. :habenwollen: