Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform öffnen mit Rechtsklick in Zelle

Userform öffnen mit Rechtsklick in Zelle
08.01.2023 17:42:58
oraculix
Hallo Alle!!!
Ich möchte per Rechtsklick in Zeile 1 die Userform "Schauspieler" öffnen, und diese soll gleich den Schauspieler anzeigen der in Zelle A1 bis IZ ausgewählt wird.
Das Problem ist das in der ersten Zeile Formeln sind.
Können Formeln den Wert für die Listbox überhaupt übergeben?
Falls nicht dann muss ich wohl auf die Formeln in Zeile 1 verzichten.
Hauptsache es gibt eine Lösung die Userform Schauspieler per Rechtsklick zu öffnen und den Wert der ersten Zelle in die Combobox zu bringen, so das das die Userform gleich mit diesem Schauspieler startet.
Warum Rechtsklick? Weil Der Doppelklick in Zeile 1 schon vergeben ist . (zum Spalten sortieren A-z)
Hoffe es kann mir jemand helfen habe schon sehr viel gegoogelt und Beiträge gesucht aber leider nichts gefunden.
https://www.herber.de/bbs/user/157147.xlsm
Gruß
Oraculix
Anzeige

34
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 17:51:11
onur
"den Schauspieler anzeigen der in Zelle A1 bis IZ ausgewählt wird" ? Zelle IZ?
Und wenn du A1 anklickst, ist die Auswahl natürlich weg.
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 17:59:57
oraculix
Danke onur!
Was meinst Du damit ? Glaubst Du es gibt keine Möglichkeit?
Gruß
Oraculix
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:01:56
onur
Es geht alles, aber komplizierter halt. Wieso nicht einfach ein Button?
Anzeige
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:08:15
oraculix
Du meinst wohl ich wähle die Zelle aus und starte dann per Button?
Weil per Button hab ich ja schon aber da wird halt immer der gleiche Schauspieler gestartet.
Es ist halt immer sehr mühsam den Schauspieler aus der Combobox auszuwählen.
Gruß
Oraculix
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:37:14
onur
"Das Problem ist das in der ersten Zeile Formeln sind. " - Das Problem sind nicht die Formeln, sondern dass du, wie die meisten Anfänger, unbedingt Text mit Zahlen mischen musstest.
Und warum nicht SO?
https://www.herber.de/bbs/user/157149.xlsm
Anzeige
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:44:35
onur
Und wundere dich nicht, wenn er "TomCruise" nicht findet, denn er heisst ja schliesslich auch "Tom Cruise".
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:57:16
oraculix
Vielen Dank es funktioniert halbwegs! Die Lösung ist fast da.
Wenn ich Spalte1 und 2 klicke funktionierte es nicht!
Spalte D und E funktioniert.
Was hast Du da geändert ich finde nichts, schließlich muss ich es ja in die Original Datenbank kopieren.
Welche Zahlen meinst Du? Das sind Filmnamen.
Gruß
Oraculix
Anzeige
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 19:18:58
onur
"Harrison Ford 8" ist ein Film-Name?
TomCruise kann er auch nicht finden, höchstens Tom Cruise!
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 19:26:24
oraculix
Danke auch Dir für Deine mühe !
Hab es jetzt kapiert!
Gruß
Oraculix
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 17:54:23
ralf_b
rng_namensliste anpassen
Anzeige
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:02:43
oraculix
Hallo Danke!
Aber Wie soll ich das machen? Und was ist rng_namensliste ?
Gruß
Oraculix
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:51:01
ralf_b
schau in den Namensmanager.
AW: Userform öffnen mit Rechtsklick in Zelle
08.01.2023 18:53:51
Alwin
Hallo,
das ins Modul der Tabelle1:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim lLastRow&
With Schauspieler
If Not Intersect(Target, Rows(1)) Is Nothing Then
.Show vbModeless
.ComboBox1.ListIndex = Target.Cells.Column - 1
End If
End With
End Sub
Gruß Uwe
Anzeige
Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:09:38
oraculix
Wauw Vielen Dank uwe Du bist echt genial!!
Funktioniert Tadellos.
Nur der rechts klick zeigt das Windows Menü an wenn die Userform gestartet wird.
Kann man das irgendwie abschalten ? Wenn ich kann ich damit leben Haupsache die Userform geht mit dem Schauspieler auf, Danke nochmal.
Gruß
Oraculix
Anzeige
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:17:02
onur
Dafür muss die Reihenfolge der Namen in Zeile 1 immer identisch sein mit der Liste auf Blatt "Namen".
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:17:59
Alwin
Cancel = True
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:30:51
oraculix
Super Danke uwe!
Du bist nicht nur Genial sondern auch noch perfekt !!!
Jetzt geht alles.
Gruß
Oraculix
Anzeige
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:35:18
Alwin
naja, so lang die Namen so in die ComboBox eingelesen werden ist das kein Problem. Sollte die Combobox sortiert werden, bleibt dann nur der Ablgleich der Namen und die anschließende indexzuweisung. Das war aber auch nicht seine ursprüngliche Frage.
Gruß Uwe
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:41:54
onur
Die Aufgabe war: "diese soll gleich den Schauspieler anzeigen der in Zelle A1 bis IZ ausgewählt wird. ".
Wenn du in Zeile 1 Tom Cruise und Denzel Washington vertauschst, klappt nix mehr. Dass er jetzt die gleiche Reihenfolge in Zeile 1 hat wie in der Tabelle der Namen, ist bei deiner genialen Lösung Bedingung.
Anzeige
AW: Genial Uwe hat es gelöst Danke!!!!!
08.01.2023 19:45:32
oraculix
Also da wird nix geändert in Zelie 1.
Und Namen auch das wurde einmal angeglichen.
Gruß
Oraculix
zur Beruhigung
08.01.2023 20:47:17
Alwin
anbei ein möglicher Weg, wo dann die Spalten nach Gusto getauscht werden können.
https://www.herber.de/bbs/user/157154.xlsm
Thoretisch kann man auch noch prüfen, ob vor den Ziffern eine oder mehrere Leerzeichen enthalten sind, um sicherzustellen, dass nur der Name zum Vergleich herangezogen wird. So was zu vermeiden bzw. den Namen indentisch mit der Namenliste zu verwenden ist Sache des Hilfesuchenden.
Gruß Uwe
Anzeige
AW: zur Beruhigung
08.01.2023 21:49:41
oraculix
Hallo uwe Danke!
Hab es gleich kopiert funktioniert tatsächlich Danke!
Ich hätte da noch ne kurze frage?
Wenn die Userform Dank Dir jetzt endlich geöffnet ist möchte ich den markierten Wert in Userform1 aufrufen, um mehr Daten aus Datenbank zu erhalten.
Aber leider wird der Wert aus der Listbox1 nicht in die Listbox2=Lst_Treffer übernommen.
Die Userform1 wird immer mit einem anderen wert geöffnet.
Ich denke es liegt darean das es unterschiedliche Spalten sind und ich den Wert aus Spalte B aufrufen müsste. zb. Lst_Treffer.ListIndex = Me.ListBox1.ListIndex 'hier sollte noch irgendwie wert B rein?
Wenn Du schon zu müde bist kannst Du Dir ruhig zeit lassen mit der Antwort Hauptsache GENIAL!!
' Userform Userform1 öffnen

Private Sub Image30_Click()
With UserForm1
.Lst_Treffer.ListIndex = Me.ListBox1.ListIndex
.Show
End With
Unload Me
End Sub
Gruß
Oraculix
Anzeige
AW: zur Beruhigung
08.01.2023 22:35:15
onur
Mein Code, der laut deiner Expertenmeinung "halbwegs funktioniert", hat genau das gemacht, aber du hast ihn fallen lassen, weil du nicht kapiert hast, dass du "TomCruise" statt "Tom Cruise" geschrieben hattest.
Dass der Code den Titel nicht mehr finden kann, liegt daran, dass "dein" Code den Filmtitel in Spalte 1 sucht, du aber offensichtlich die Spalte mit dem engl Titel in Spalte1 eingefügt hast und der deutsche Titel sich jetzt in Spalte2 befindet.
Guckst du hier:
https://www.herber.de/bbs/user/157155.xlsm
Anzeige
AW: zur Beruhigung
08.01.2023 23:03:52
oraculix
Vielen Dank onur !
Ich hab es verstanden das kein Trennzeichen vorhanden ist.
Und Deine Lösung ist gut und Funktioniert auch. Bitte nicht Böse sein das ich es zu spät gemerkt habe.
Aber die Lösung von uwe verwende ich weil es mit einem klick funktioniert. Hoffe Du verstehst es.
Ich hätte da noch ne Frage , da ja die Userform jetzt endlich geöffnet ist möchte mit der Markierung in der Listbox1 Userform Schauspieler
die Userform1 aufrufen und den Wert übernehmen so das die Userform1 mit dem gewählten wert gestartet wird.
Lst_Treffer.ListIndex = Me.ListBox1.ListIndex 'hier ist der Hund begraben denke ich man müsste ihm sagen das er die Spalte B nimmt.
' Userform Userform1 öffnen mit klick in Userform "Schauspieler"

Private Sub Image30_Click()
With UserForm1
'.'Lst_Treffer.ListIndex = Me.ListBox1.ListIndex
.Show
End With
Unload Me
End Sub
Gruß
Oraculix
Anzeige
AW: zur Beruhigung
08.01.2023 23:42:17
onur
"Lst_Treffer.ListIndex = Me.ListBox1.ListIndex 'hier ist der Hund begraben denke ich man müsste ihm sagen das er die Spalte B nimmt." Das ist totaler Blödsinn!
Mein Gott, ich habe dir doch die neue Datei mit dem behobenen Fehler wegen Spalte 2 gepostet.
Aber wenn du unbedingt per "Rechtsklick" die Userform öffnen willst, obwohl da schon ein Button mit dem Titel "Schauspieler Start" existiert - hier:
https://www.herber.de/bbs/user/157156.xlsm
Anzeige
AW: zur Beruhigung
09.01.2023 00:33:16
oraculix
Servus
Ich glaube Du verstehst mich Falsch das mit dem Rechtsklick ist gelöst.
Klick mal auf das Haus in der Userform Schauspieler und wähle einen Film aus dann siehst du das Userform1 nicht mit Deinem ausgewählten Film startet.
Gruß
Oraculix
AW: hier die neue Mappe
09.01.2023 00:50:47
onur
Haus? Es ist ListBox1_DblClick, da musst du doppeltklicken.
Falsches Ergebnis nicht der markierte wert!!
09.01.2023 01:15:47
oraculix
Ja genau hab ich auch schon versucht mit doppelklick in Listbox1 bringt aber ein Falsches Ergebniss!!!
Trotzdem Danke
Gruß
Oraculix
AW: Falsches Ergebnis nicht der markierte wert!!
09.01.2023 01:16:40
onur
Was kommt, wenn du was machst?
Anzeige
AW: Falsches Ergebnis nicht der markierte wert!!
09.01.2023 01:20:08
onur
Was kommt, wenn du was machst? Erkläre mal Schritt für Schritt, was du gemacht hattest, als das falsche Ergebnis kam.
AW: Falsches Ergebnis nicht der markierte wert!!
09.01.2023 01:38:11
oraculix
Also nochmal
Wenn Du in Userform Schauspieler in der Listbox1 einen Film markierst, und einen Doppelklick auf den Augewählten Film machst
Ersctheint die Userform1.
Aber die Listbox in der Userform1 zeigt nicht den vorher ausgewählten Film an !!
Deshalb habe ich den neuen Button mit dem Haus gemacht dort funktioniert es auch nicht.
Gruß
Oraculix
Anzeige
AW: Falsches Ergebnis nicht der markierte wert!!
09.01.2023 01:44:03
onur
Ist es denn SOOO schwer? WELCHER Film? WELCHER SCHAUSPIELER ? Ich habe um ein konkretes Beispiel gebeten.
Angesehen davon hast du die Userformen besch... plaziert - die eine ist genau über der anderen, so dass du, wenn du irgendwo doppelklickst, sofort auf Userform1 auch was anklickst, somit ist die Auswahl weg,
Plaziere mal die Userformen NEBENEINANDER, dann sollte es auch klappen.
Anzeige
Mega Genial Onur !!Danke gelöst
09.01.2023 02:06:08
oraculix
Vielen Dank Du hast es gelöst!
Mega Genial das man sowas überhaupt sieht. Tatsächlich war es das die Userformen waren übereinander und der Doppelklick hat die Markierung aufgehoben. Vielen Dank für Deine Hartnäckichkeit und Mühe!!!!
Gruß
Oraculix
;
Anzeige
Anzeige

Infobox / Tutorial

Userform per Rechtsklick in Excel öffnen


Schritt-für-Schritt-Anleitung

Um eine Userform beim Rechtsklick in einer Excel-Zelle zu öffnen, kannst du folgenden VBA-Code verwenden. Dieser Code ermöglicht es, die Userform "Schauspieler" zu öffnen und den Wert der Zelle in die ComboBox zu übertragen.

  1. Öffne den VBA-Editor mit ALT + F11.
  2. Füge den folgenden Code in das Modul der Tabelle1 ein:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    With Schauspieler
        If Not Intersect(Target, Rows(1)) Is Nothing Then
            Cancel = True ' Verhindert das Standard-Rechtsklick-Menü
            .Show vbModeless
            .ComboBox1.ListIndex = Target.Cells.Column - 1 ' Wählt den Wert aus der entsprechenden Spalte
        End If
    End With
End Sub
  1. Stelle sicher, dass die Namen in Zeile 1 mit den Einträgen in der ComboBox übereinstimmen.
  2. Speichere die Änderungen und teste die Funktionalität.

Häufige Fehler und Lösungen

  • Problem: Die Userform öffnet sich nicht oder der Wert wird nicht gesetzt.

    • Lösung: Überprüfe, ob die Namen in der ersten Zeile genau mit denen in der ComboBox übereinstimmen. Achte auch darauf, dass keine zusätzlichen Leerzeichen vorhanden sind.
  • Problem: Das Windows-Kontextmenü erscheint beim Rechtsklick.

    • Lösung: Setze Cancel = True im Code, um das Standardmenü zu verhindern.
  • Problem: Du erhältst falsche Werte in der Userform.

    • Lösung: Stelle sicher, dass die Spaltenreihenfolge in Zeile 1 mit der Datenbank übereinstimmt.

Alternative Methoden

Falls du keine Userform verwenden möchtest, kannst du auch einen Button verwenden, um die gewünschte Funktionalität zu erreichen. Füge einen Button hinzu und weise ihm folgenden Code zu:

Private Sub CommandButton1_Click()
    ' Logik, um den Schauspieler aus der ComboBox auszuwählen
    Dim ausgewählterSchauspieler As String
    ausgewählterSchauspieler = ComboBox1.Value
    ' Weitere Aktionen hier...
End Sub

Praktische Beispiele

Angenommen, du hast in Zeile 1 die Namen der Schauspieler und die entsprechenden Filme in den nachfolgenden Zeilen. Wenn du auf einen Namen in Zeile 1 rechtsklickst, öffnet sich die Userform und zeigt den ausgewählten Schauspieler an:

  1. Rechtsklick auf Zelle A1: öffnet die Userform mit "Tom Cruise".
  2. Rechtsklick auf Zelle B1: öffnet die Userform mit "Denzel Washington".

Tipps für Profis

  • Verwende Option Explicit: Achte darauf, Option Explicit am Anfang deines Moduls zu verwenden, um sicherzustellen, dass alle Variablen deklariert sind.
  • Benutze den Namensmanager: Verwende den Namensmanager, um Bereiche zu definieren und die Übersichtlichkeit deiner Daten zu erhöhen.
  • Debugging: Nutze Debug.Print im Code, um die Werte von Variablen während der Ausführung anzuzeigen und mögliche Fehlerquellen zu identifizieren.

FAQ: Häufige Fragen

1. Kann ich auch andere Zellen als Zeile 1 verwenden?
Ja, du kannst den Code anpassen, um auch andere Zeilen oder Spalten zu berücksichtigen. Ändere einfach die Intersect-Funktion entsprechend.

2. Funktioniert dieser Code in Excel Online?
Nein, VBA ist nur in Desktop-Versionen von Excel verfügbar. In Excel Online stehen diese Funktionen nicht zur Verfügung.

3. Was ist, wenn die Userform nicht sichtbar ist?
Überprüfe, ob die Userform korrekt im VBA-Editor erstellt wurde und ob der Code im richtigen Modul platziert ist.

Mit diesen Anleitungen und Tipps solltest du in der Lage sein, eine Userform in Excel erfolgreich per Rechtsklick zu öffnen!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige