Meine Firma hat eine ziemlich große Importvorlage, für die ich ein Add-In erstellt habe, mit ein paar nützlichen Shortcut-Tools und Prozeduren, die wir häufig verwenden .Wie kann ich Textvorschläge über VBA bereitstellen, wenn Benutzer Zelle in Excel-Arbeitsblatt auswählt
Was würde ich tun: Ich mag eine Intellisense-ähnliche Funktion hinzuzufügen, wenn Benutzer ausgewählte Zellen in vier bestimmten Spalten nur funktionieren würde (BF, BG, CS und CT) während der Arbeit in das Arbeitsblatt (nicht vbe).
Ich möchte so etwas imitieren:
insbesondere folgende Aufgaben: Wenn eine Zelle in jeder der vier Spalten ausgewählt Ich mag würde Vorschläge in einer Dropdown-Liste auf Basis von Daten, die im Arbeitsblatt in anderen Spalten eingegeben werden.
Wenn ein Benutzer klickt in eine leere Zelle:
- Sie eine Liste von Werten gegeben sind zur Auswahl
- Sobald sie diesen Wert wählen, um es in die Zelle gegeben wird und ein Doppelpunkt geheftet wird auf Das Ende davon
- Noch in der gleichen Zelle möchte ich die Dropdown-Liste entsprechend dem, was der Benutzer zuerst wählte und die neuen Werte präsentieren. (Die Liste wäre kleiner als die erste Liste, seit ihr erster Wert sich verengt die Auswahlmöglichkeiten)
- Sobald der Benutzer den zweiten Wert wählt e würde es zusammen mit einem anderen Doppelpunkt an das Ende des Wertes in der Zelle angeheftet werden.
- Schließlich würde die Dropdown-Liste erneut entsprechend dem, was der Benutzer ausgewählt hat, erneut auffüllen und sie mit der letzten Menge von Werten präsentieren (die Liste wäre kleiner als die erste und zweite Liste, da diese Werte die Auswahl einschränken), die sie wählen und dann beendet die Zelle ausfüllen
Ein Beispiel: In Spalten V, W und X sind die Werte
Impressum Option | Einzel Option 1 | Premium-kundenspezifische Farben gegen Aufpreis erhältlich. Angebot anfordern. respektive.
- Wenn der Benutzer eine Zelle in der Spalte BF klickt sie zunächst mit einem Drop-Down-Liste dargestellt sind, die in Spalte V.
- Wählten sie „Impressum Option“ gefunden „Impressum Option“ zusammen mit anderen Optionen umfassen würde dann wird "Imprint Option:" in die aktuelle Zelle eingetragen und die Liste wird mit Werten in Spalte W rechts von "Imprint Option" neu gefüllt (dh in diesem Fall würde nur "Single Option 1" aufgelistet)
- Wenn die Benutzer wählt "Einzeloption 1" Der Zellenwert ist jetzt "Imprint Option: Single Option 1:" und die Liste zeigt jetzt nur noch den Wert "Premium Custom Colors Available zu Zusatzkosten. Call for Quote."
- Wenn der Benutzer diesen Wert wählt der Zellenwert abgeschlossen ist, zeigt „Impressum Option: Einzel Option 1:.. Premium-kundenspezifische Farben gegen Aufpreis erhältlich Angebotsanfrage“ und keine Liste ist
Dieses gezeigt ist nur ein sehr einfaches Beispiel, weil es offensichtlich mehr als einen Wert in der Liste gibt, nachdem er beide Zeiten wieder auffüllt.
Meine Idee/Gedanken:
Mein Gedanke war, vielleicht ist dies möglich, indem eine Combo Box ohne den Dropdown-Pfeil unter Verwendung zeigt die Dropdown-Liste zu erstellen, aber ich bin nicht sicher, wie oder ob diese Methode mit arbeiten konnte Das liegt daran, dass die Werte neu gefüllt werden müssen und es in der Zelle nach der ersten Wertungsrunde einen Wert gibt, und ich dachte mir, dass das überschrieben würde. Die einzige Einschränkung, die ich habe, ist, dass ich dies on-the-fly erstellen muss. Ich kann die Steuerelemente nicht vorher auf das Arbeitsblatt ziehen und um weitere Leistungseinschränkungen zu vermeiden, möchte ich nur eine Zelle nach der anderen auswählen, wenn sie ausgewählt werden.
So, endlich meine Fragen:
- Ist das möglich nachzubilden?
- Wenn ja, wie soll ich vorgehen? (Auch wenn die Methode kompliziert ist, bin ich offen für das Hören.)
- Wenn das nicht möglich ist, könnten Sie mir vorschlagen, etwas Ähnliches zu tun?
Dies ist sehr beeindruckend, kreativ und nützlich! Es scheint genau das zu sein, was ich brauche. Nur ein paar Fragen zuerst. Warum sollte ich dasselbe für das UserForm- und das 'Worksheet_SelectionChange'-Ereignis einfügen? Könnten Sie mithelfen, zu erklären, warum beide Codes gleich sein müssen? Hat es etwas mit der Weitergabe der Werte zu tun? War da auch ein Schritt zwischen 2 und 4 gemeint oder war das nur ein Tippfehler? – CaffeinatedCoder
Es ist, weil ich ein Muppet bin und den falschen Code eingegeben habe - hängen Sie an und ich werde es ändern. – Ambie
Haha ok danke – CaffeinatedCoder