Wieder einmal ein sehr gelungenes Video und den XVerweis für VBA einfach super erklärt. Durch Deine Videos bin ich erst zu VBA gekommen. Also mach bitte weiter so. 👍
Wie immer tolles Video - vor allem die einfache und verständliche Erklärung macht den Unterschied aus. Mach weiter so Kai, ich bin längst ein Fan von dir geworden 😅
Wieder ein super moderiertes Video! Den kleinen Shortcut eine Shape zu verdoppeln mit Strg + Maus drücken-wegziehen hätte ich gerne mal früher gekannt 😅 vor allem da das scheinbar mit jeder Form in Excel klappt. Mir ist aufgefallen, dass ich bisher nur 1 mal in vielen vielen Makros eine Worksheetfunction genutzt habe. Du hast als Vorteil beschrieben, dass wir die Logik nicht selber coden müssen, da die Funktion ja schon da ist. Mich hätten im Video noch ein paar weitere konkrete Anwendungsvorteile interessiert, also in welchen typischen Situationen diese Funktionen hilfreich sind. Wenn ich die Aufgabe gehabt hätte, deine Userform nachzubauen, hätte ich ganz klassisch einen Loop durch jede Zeile der Tabelle gemacht oder über den Autofilter oder .find jeweils gepaart mit .offset die ID ausgelesen. Es gibt oft viele Wege die ans Ziel führen - deshalb interessieren mich dazu auch die spezifischen Vorteile ggü. den Alternativen 😊 Liebe Grüße und bis zum nächsten Video 👍 P.S.: Und das war im Video wieder eine schöne Mechanik, die man super in deutlich komplexeren Userformen/Makros nutzen kann, um z.B. Variablen/Arrays zu dimensionieren!
Super erklärt, Danke. Wie würde der VBA Code aussehen, wenn der Verweis auf eine geschlossene Datei aussehen würde und nicht auf ein Tabellenblatt der aktiven Datei?
Klasse gemacht, Kai! Danke! Habe aber eine Nachfrage: Du befüllst die Combobox mit Hilfe von ROWSOURCE im Eigenschaftenfenster. Dazu nutzt Du die ZS-Notation E8:E17. Es handelt sich aber bei Deiner Tabelle um eine intelligente Tabelle, die sich ja bei Ergänzungen automatisch erweitert. Was passiert dann mit der E8:E17 - Angabe aus dem Eigenschaftenfenster? Könntest Du dort nicht auch mit dem Namen der intelligenten Tabelle arbeiten? Also so: "tblKunden[KundenID]"?
Zum Thema ComboBoxen befüllen habe ich schon ein detailliertes Video erstellt: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zxtahVetQjQ.html Hoffe das hilft dir weiter.
Super erklärt 👌 Ich hätte da mal ne frage, würdest du ein Video darüber machen wie man sein Code verbessern kann oder anders gesagt, würde ich dir gern mein Excel Projekt schicken, darin wird zb 3x der gleiche ablauf aufgerufen nur mit unterschiedlichen Bedingungen, leider schaffe ich es nicht diese in zb eine eigenen Funktion zu packen um das ganze zu verkleinern und "verschnellern" Alternativ wäre es mal interessant wenn du zeigst wie man so eine Intelligente Tabelle zb mit Access verknüpft als eine art sicheres backup der "datenbank" 😁
Hallo Kai, ist es möglich eine Exceldatei zu öffnen - dabei soll gleich in einem bestimmten Tabellenblatt geöffnet werden? (egal wie die Datei vorher abgespeichert wurde)
Vielleicht hilft dir mein Video zum Thema Arbeitsmappen ansprechen weiter: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-lwd6bBWmiK0.html Am besten hier dann mit dem Woorkbook_Open oder Workbook_Activate Event arbeiten. Hier dann eben das gewünschte Tabellenblatt (Worksheet) mit .Select anzeigen lassen.
Eigentlich eine Top-Information, hat mich aber 3 Stunden Lebenszeit gekostet, bis ich einen Workaround für eine Limitierung der WorksheetFunction.XLookup gefunden habe (bzw. meine Tochter...): im Worksheet selbst habe ich die Funktion =XVERWEIS(DATWERT(LINKS(D16;FINDEN(" ";D16)-1));M4:BZ4;M3:BZ3;;1) benutzt, wobei DATWERT(LINKS(D16;FINDEN(" ";D16)-1)) aus einem Textfeld ("1.10.2023 - 31.1.2024") das erste Datum raussucht und in einen Datumswert umwandelt. Wenn man genau die gleiche Funktion in VBA einsetzen will: WorksheetFunction.XLookup(DateValue(Left(Range("D16"), WorksheetFunction.Find(" ", Range("D16")) - 1)), Range("M4:BZ4"), Range("M3:BZ3"),,1) kommt es IMMER zu einem Laufzeitfehler 1004 Erst, wenn man den Wert DateValue(Left(Range("D16"), WorksheetFunction.Find(" ", Range("D16")) - 1)) in eine Zelle schreibt: Range("B6") = DateValue(Left(Range("D16"), WorksheetFunction.Find(" ", Range("D16")) - 1)) kann man den Wert mit der WorksheetFunction.XLookup wieder benutzen: WorksheetFunction.XLookup(Range("B6"), Range("M4:BZ4"), Range("M3:BZ3"),,1) => Bin extrem offen für Erklärungen oder Fehlerbeseitigungen. Ich setze auf dem Rechner Office 365 ein.
Zum Thema Outlook habe ich schon ein paar Videos gemacht. Siehe z.B. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-5i__Yg1skaA.html (Makro bei Maileingang) Oder: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-X_NP2bxBKqE.html (Anhänge abspeichern)
Kool ich wusste noch nicht, dass Formeln auch im Code genutzer werden können. Bisher habe ich höchstens oer Cide Formeln in Zellen eingefügt. Aber eigentlich müsste diese Foreml doch nur beim Form Init eigefügt werden und nich bei jedem change event oder funktioniert das nicht weil die Berechnung dann nicht angestossen wird beim wechsel?
Hallo und guten Tag, ich habe mal eine Frage. Für meine kleine Hobbyzucht von Chilis habe ich mir eine Tabellen Übersicht gebaut. Dafür habe ich ein System mit fortlaufenden Nummern. Diese Nummerierung ist in der ersten Spalte. In den darauffolgenden Spalten stehen dann Detaildaten wie Sorte usw. Pro Nummer können aber mehrere Daten, also mehrere Zeilen vorhanden sein. Ich möchte nun das bei jedem Eintrag einer neuen Nummer ein neues vorformatiertes Tabellenblatt erzeugt wird das in der die Daten aus den Spalten eingefügt werden. Das aus allen folgenden Zeilen bis ich eine neue Nummer in die erste Spalte trage. Hast du eventuell bereits Videos mit einer Ähnlichen Problematik gehabt? Ich brauche irgend eine Startpunkt, habe aber keine Idee. Vielen Dank im Voraus.