Anzeige
Archiv - Navigation
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelklick per Code?

Doppelklick per Code?
02.12.2005 23:13:07
Wolfgang
Hallo,
ich hatte mich bereits vor geraumer Zeit bereits an das Forum gewandt und auch zu meiner Anfangsfragestellung gute Hinweise erhalten.
Nun tauchen weitere Fragen/Probleme auf:
In einer Mappe befinden sich etliche Tabellenblätter mit Datensätzen. Doppelklicke ich unmittelbar in eine Zeile (Datensatz) der Tabelle wird eine Anwendung
geöffnet bzw. es erfolgt eine Aktion. In bestimmten Situationen habe ich eine Userform zu öffnen und bekomme dann in ein Listfeld u.a. die aktuellen
Datensätze aus dem jeweils aktiven Tabellenblatt angzeigt.Ich möchte gerne erreichen, dass ich den Doppelklick im Listfeld ebenso einsetzen kann und die gleiche Aktion passiert, als wenn der Doppelklick direkt
in der gewünschten Zeile der Tabelle erfolgt. Dabei ist mir bewußt geworden, dass das wohl nur mit einem "Pseudoppelklick" gelöst werden kann.
D.h., wenn ich den Datensatz im Listfeld anklicke müßte über einen Code so getan werden, als wenn dieser Doppelklick in der Tabelle direkt erfolgt.
Gibt es da eine Möglichkeit oder ist jemanden evtl. so ein Code oder artverwandter Code geläufig bzw. vor Augen ? - Für eine Hilfestellung, sofern denkbar,
wäre ich sehr dankbar.
Herzliche Grüße
Wolfgang

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick per Code?
03.12.2005 01:33:44
Unbekannter
Ich denke mal das mit Listfeld ne Listbox gemeint ist.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
End Sub

Gruß UN1
AW: Doppelklick per Code?
05.12.2005 09:23:59
Wolfgang
Hallo,
leider kann ich mich jetzt erst wieder erneut melden, da zuhause mein Internetanschluss irgendwie abgeschmiert ist und ich nicht mehr reagieren konnte. Danke an UN1 für die Rückmeldung - wenn ich das aber richtig verstehe, bewirkt der Code, dass aus der Listbox heraus per Doppelklick eine Reaktion hervorgerufen wird. Ich bräuchte nun einen Code der diesen Doppelklick "pseudomäßig" auf den betreffenden Datensatz in der dahinterliegenden Tabelle anwendet. Also so tut, als wenn der Doppelklick direkt in der Tabelle und nicht in der Listbox erfolgt. Würde mich weiterhin über Rückmeldungen freuen.
Gruß Wolfgang
Anzeige
AW: Doppelklick per Code?
05.12.2005 14:00:49
Dani
Hallo Wolfgang,
wenn ich dich recht verstehe willst du von der UserForm aus eine Prozedur starten welche in einem Tabellenblatt untergebracht ist. Dazu musst du die Prozedur als Public deklarieren und danach kannst du sie ganz normal von der UserForm aufrufen:
Deklaration im Worksheet:
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Doppelklick auf Tabelle ist erfolgt"
End Sub
Aufruf in der UserForm:

Private Sub ListBox1_Click()
Call Tabelle1.Worksheet_BeforeDoubleClick(Tabelle2.Range("A1"), False)
End Sub

Ich hoffe ich habe dein Problem richtig erfasst.
Gruss
Daniel
Anzeige
AW: Doppelklick per Code?
05.12.2005 17:37:23
Wolfgang
Hallo Daniel,
zunächst herzlichen Danke für Deine schnelle Rückmeldung und Deinen Beitrag; Ich habe versucht, das so umzusetzen, stoße dabei aber auf ein Problem. Innerhalb der Arbeitsmappe werden über einen weiteren Userform bei Bedarf neue Tabellenblätter generiert, so dass evtl. im Laufe der Zeit sich ca. 20-30 verschiedene Tabellenblätter ergeben können. Wenn ich Deinen Code richtig verstehe, müßte ich ihn jeweils hinter das Tabellenblatt kopieren, gibt es da eine Möglichkeit, dass man die Gültigkeit über die Arbeitsmappe für jedes Tabellenblatt bzw. für das jeweils aktive Tabellenblatt hinbekommt? - Wenn ja, könnte Dein Code, so glaube ich zumindst, gut anwendbar sein. Insofern auch die Antwort auf Deine Frage, dass die Prozedur weniger im jeweiligen Tabellenblatt untergebracht sein soll, aber eben für das jeweils aktive Tabellenblatt gelten soll (über Modul regelbar? - ich bekomme da immer Fehlermeldungen)
Danke schon jetzt wieder.
Gruß - Wolfgang
Anzeige
AW: Doppelklick per Code?
06.12.2005 08:24:21
Dani
Hallo Wolfgang,
da ich nicht weiss wie dein Code aussieht welchen du hinter deinem Tabellenblatt hast kann ich dir auch nicht sagen wie du ihn in ein Modul "exportieren" kannst. Grundsätzlich ist das aber fast immer möglich. Da du die Einträge aus dem aktuellen Tabellenblatt in deine Listbox übernimmst ist sicher auch das umgekehrte möglich um den Code zu generieren bräuchte ich mehr Infos. Als Ansatz:

Private Sub ListBox1_Click()
Call Tabelle1.Worksheet_BeforeDoubleClick(Tabelle2.Range("A1"), False)
End Sub

Mit dem Prozeduraufruf übergibst du die "pseudomässig" angeklickte Zelle (in diesem Fall "A1". Mit Listbox1.Index erkennst du welche Zeile der Listbox ausgewählt wurde damit solltest du herausfinden auf welche Zelle im aktuellen Tabellenblatt sich die Auswahl bezieht. Könnte so aussehen:
Call Tabelle1.Worksheet_BeforeDoubleClick(Cells(ListBox1.Index,3), False)
Dieser Aufruf macht einen Doppelklick auf die in der Listbox ausgewählte Reihe in die Spalte "C".
Ich hoffe es hilft etwas weiter
Gruss
Daniel
Anzeige
AW: Doppelklick per Code?
07.12.2005 08:59:46
Wolfgang
Hallo Daniel,
zunächst bitte ich meine späte Meldung wieder zu entschuldigen, mein Internet zuhause läuft noch nicht, daher nun Meldung über den Firmenrechner; Herzlichen Dank für Deine Erläuterungen zu dem Code, den Du beigefügt hast. Ich könnte mir vorstellen, dass ich ihn mit entsprechenden Umstellungen/Anpassungen so verwenden kann und glaube, wiederum durch Deine Hilfestellung einige Schritte weiter zu sein. Ich werde also nun in Ruhe testen und probieren und mich auf jeden Fall erneut melden. In dem Sinne nochmals Danke und herzliche Grüße
Wolfgang

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige