Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
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
Inhaltsverzeichnis

Userform1 mit markierter Zelle starten

Userform1 mit markierter Zelle starten
24.12.2022 11:21:22
oraculix
Hallo Alle und Frohe Weihnachten!
Ich starte aus der Userform "Schauspieler"
Dann kommt ein Doppelklick in die Listbox und sucht mir in der Tabelle "FilmDb" den Angeklickten Wert.
Der Wert wird auch in Spalte B gefunden und der Ablauf funktioniert gut.
Aber:
Der gefundene Wert in Spalte B sollte jetzt in einer anderen Userfom1 in Listbox übernommen werden!
Frage:
Wie starte ich Userform1 mit dem markierten Wert aus Spalte B?
Das ganze soll aus eine, VBA Code geschehen.
https://www.herber.de/bbs/user/156925.xlsm
'Doppelklick in Listbox sucht Eintrag in Tabelle FilmDb

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim OpenFile As String
Dim rngSuche As Range
Worksheets("FilmDb").Activate
Set rngSuche = Worksheets("FilmDb").Columns(2).Find(ListBox1.Value, LookAt:=xlPart)
If Not rngSuche Is Nothing Then
Application.GoTo Reference:=rngSuche
''Wenn Abrechen gewählt wird Fehler abfangen
On Error Resume Next
Unload Me
Else
MsgBox "Titel nicht gefunden"
End If
'Hier sollte noch  der Code erweitert werden!
'Markierte Zelle Startet Userform1 und füllt Lst_Treffer
Userform1.Show
End Sub
Gruß
Oraculix

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 13:11:41
onur
Guckst du hier:
https://www.herber.de/bbs/user/156928.xlsm
Wenn das Ding mal endlich fertig ist, solltest du aber "Copyright Herbert-Forum" hineinschreiben. ;)
AW: Userform1 mit markierter Zelle starten
24.12.2022 13:50:47
oraculix
Hallo Onur Vielen Dank!
Im Prinzip Funktioniert Dein Code gut aber, es kommt in der Original Mappe zum Fehler!
In der Mappe die hochgeladen habe sind einige VBA Code nicht enthalten.
Wegen dem Limit habe ich halt gespart.
Darunter ist ein Code in der Userform1 der einen Fehler verursacht.
Dieser Fehler kommt seit dem ich die Userform Aktivate Code eingefügt habe .
Dieser Code gibt mir ein Bild wenn ich in die Lst_Treffer =Listbox klicke.
und er bringt die Fehlermeldung
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & strFileName)
'Bei Linksklick auf Listbox nächstes Bild Laden

Private Sub Lst_Treffer_Click()
Application.CutCopyMode = False 'Clipboard löschen
ActiveSheet.Unprotect 'hier wird der UnDo-Speicher geleert
Const FOLDER_PATH As String = "D:\EMDB\HTML\ExcelUserform1\"
Dim strFileName As String
strFileName = Dir$(PathName:=FOLDER_PATH & Lst_Treffer.List(Lst_Treffer.ListIndex, 1) & ".*")
If strFileName  vbNullString Then
Set Image24.Picture = LoadPicture(Filename:=FOLDER_PATH & strFileName)
Else
Set Image24.Picture = Nothing
End If
Repaint
End Sub
Gruß
Oraculix
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 13:55:20
onur
Tja, ohne die Originaldatei wär es nur Herumraterei. Und du verrätst nicht mal WELCHE Fehlermeldung.....
AW: Userform1 mit markierter Zelle starten
24.12.2022 14:15:17
onur
Übrigens: In Deiner geposteten Datei ist "Lst_Treffer" keine Listbox, sondern eine TEXTBOX.
AW: Userform1 mit markierter Zelle starten
24.12.2022 14:22:19
oraculix
Hallo Danke.
Mittlerweile habe ich auch endekt das die Spalten Anzahl nicht Stimmt und der Fehler durch das ausgelöst wurde. Jetzt geht es zumindest ohne Fehler Aber:
Der Treffer wird in der dritten Spalte in Zeile 1 Gezeigt und kein dazugehöriges Bild.
Du hast recht ohne die anderen Code zu kennen ist es mühsam.
kann ich Dir das Herber Meisterwerk senden ca 3GB?
Gruß
Oraculix
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 14:36:47
onur
Als xlsb speichern, damit es unter 2 GB werden, und
bei Dropbox anmelden, hochladen, freigeben und Link posten.
AW: Userform1 mit markierter Zelle starten
24.12.2022 15:40:43
oraculix
Danke aber unter3 Gb geht es nicht es geht nicht um die Excel Datei die nur 16 Mb.
Die ganzen Cover Bilder und Schauspieler machen die 3gb aus.
Habe eine Zweite Lösung gefunden.
Wenn Du mir sagen könntest wie man in der Spalte B per Doppelklick Simulieren Kann
wäre das Problem gelöst. Aber leider habe ich Excel 64 Bit da ist das schon etwas schwieriger mit der Deklaration. Dann könnte ich mit Call Doppelklick da Makro ausführen.
Gruß
Oraculix

Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 15:42:05
onur
"wie man in der Spalte B per Doppelklick Simulieren Kann" ?
AW: Userform1 mit markierter Zelle starten
24.12.2022 16:03:14
oraculix
Danke und Frohe Weihnachten.
Sorry hab mich etwas Kompliziert ausgedrückt.
Ich habe einen VBA Code der mir die Tabelle FilmDB mit Doppelklick die Userform1 öffnet.
Egal auf welche Zelle in Spalte B ich Doppelklicke.
Da ja aus Userform Schauspieler die Zelle ermittelt wird in Spalte B bräuchte ich nur einen
Doppelklick darauf. Wenn ich das jetzt mit VBA mache müsste es irgendwie mit Sendkeys bzw Send Doppelklick funktionieren. Habe da schon im Google einiges gefunden aber leider scheitert es an der Deklaration mit 32 Bit Weil ich 64 Bit Excel Version Habe.
Gruß
Oraculix
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 16:12:10
onur
Sorry - ich weiss immer noch nicht genau, was du jetzt wirklich GENAU willst.
Tip: Ein Paar Kommas an die richtigen Stellen setzen erleichtert das Verstehen eines Satzes ungemein.
Einen Schwall von Wörtern aneinander zu reihen, bringt nicht viel.
z.B. "einen Doppelklick darauf" - WORAUF?
Was hat das Ganze denn mit 64bit oder 32bit zu tun?
AW: Userform1 mit markierter Zelle starten
24.12.2022 16:30:38
oraculix
In Spalte B kann ich Doppelklicken. Dann wird die Userform1 geöffnet und zeigt mir in der Listbox Lst_treffer den gewählten Doppelklick Eintrag aus Spalte B .
Ich Frage mal anders Wie kann ich einen Doppelklick in Spalte B(Linke Maus) per Vba Simulieren?
Der untenstehende Code Funktioniert bei mir nicht Weil ich eine 64 Bit Version Habe.
' Benötigte Deklarationen
Private Declare Sub mouse_event Lib "user32" _
Alias "mouse_event" ( _
ByVal dwFlags As Long, _
ByVal dx As Long, _
ByVal dy As Long, _
ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Public Const MOUSE_LEFT = 0
Public Const MOUSE_MIDDLE = 1
Public Const MOUSE_RIGHT = 2
' Die nachfolgende Prozedur simuliert den gewünschten Mausklick.

Public Sub SendMausklick(ByVal mButton As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
If (mButton = MOUSE_LEFT) Then
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
ElseIf (mButton = MOUSE_MIDDLE) Then
Call mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
Else
Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
End If
End Sub
Beispiel:
' linke Maustaste
SendMausklick MOUSE_LEFT
' rechte Maustaste
SendMausklick MOUSE_RIGHT
' linke Maustaste Doppelklick
SendMausklick MOUSE_LEFT
SendMausklick MOUSE_LEFT
Gruß
Oraculix
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 17:50:14
onur
Versteh ich immer noch nicht! WOZU willst du das Doppelklicken überhaupt simulieren und WANN und WO genau ?
AW: Userform1 mit markierter Zelle starten
24.12.2022 18:03:01
oraculix
Danke
Also Wozu ich das brauche.
Damit ich aus der Userfom Schauspieler Doppelklick auf Listox zum ende des Makros
Call SendMausklick MOUSE_LEFT
nach der Suche die gefundene Zelle in Spalte B Doppelklicken kann per VBA!!!!!!
'Doppelklick in Listbox sucht eintrag in Tabelle FilmDb

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim OpenFile As String
Dim rngSuche As Range
Worksheets("FilmDb").Activate
Set rngSuche = Worksheets("FilmDb").Columns(2).Find(ListBox1.Value, LookAt:=xlPart)
If Not rngSuche Is Nothing Then
Application.GoTo Reference:=rngSuche
''Wenn Abrechen gewählt wird Fehler abfangen
On Error Resume Next
'1 Zelle nach links weil Titel Deutsch sind und Hyperlink nur in B2:B5000 vorhanden
'ActiveCell.Offset(0, -1).Hyperlinks(1).Follow
Unload Me
Else
MsgBox "Titel nicht gefunden"
End If
Call  SendMausklick MOUSE_LEFT ' dann wird die gefunde Zelle gleich geöffnet mit Userform1
End Sub
Gruß
Oraculix
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 18:16:12
onur
Sorry, aber das Doppelklicken zu Simulieren ist eine hirnrissige Idee eines Anfängers und völlig überflüssig und vieeeel zu komplizuiert gedacht, mal abgesehen davon, dass es seine Fähigkeiten völlig übersteigt.
Deswegen zum achten Mal: Was soll dadurcht ereeicht werden? Und antworte nicht wieder "damit die Userform geöffnet wird" . WOZU GENAU das Ganze?
Und poste zumindest mal die Sub mit dem Doppelklick auf das Blatt "FilmDb", wenn du mir schon eine Magerversion deiner Datei postest !!!!!!!!!! (Kann ich auch)
Übrigens, zum Thema Dropbox: Deine Bilder braucht keine Sau, mir geht es nur um die komplette Datei mit dem kompletten Code.
Anzeige
AW: Userform1 mit markierter Zelle starten
24.12.2022 18:59:09
oraculix
Wozu das Ganze?
Damit ich aus der Userform Schauspieler alle Daten Bekomme aus der Film DB und deshalb muss die FilmDb Userform1 geöffnet werden.
Der Sinn des ganzen ist das ich in der Schauspieler Userform nur den Filmnamen habe aber keine Weiteren Daten Wie Erscheinungsjahr oder Originaltitel oder Genere. Deshalb muss die Userform1 gezeigt werden mit dem ausgewählten Film .
Übrigens, zum Thema Dropbox: Deine Bilder braucht keine Sau,
Doch ohne Bilder gibt es ständig Fehlermeldungen!
Gruß
Oraculix kost fast nix
ausser Nerven!
AW: Userform1 mit markierter Zelle starten
24.12.2022 19:47:41
onur
"Doch ohne Bilder gibt es ständig Fehlermeldungen!" ? Mein Gott - zerbrich dir doch nicht meinen Kopf. Meinst du, ich wäre nicht in der Lage, sowas kompensieren ?
Aber wenn der Code (bzw die Datei) ja soo geheim ist und du ihn nicht posten willst, kein Problem.
Frohes Fest und viel Spass noch damit !!!!
Anzeige
AW: Userform1 mit markierter Zelle starten
25.12.2022 13:53:28
Herbert_Grom
Hallo,
hast du es schon mal so probiert?
Private Declare PtrSafe Sub mouse_event Lib "user32" _
Alias "mouse_event" ( _
ByVal dwFlags As Long, _
ByVal dx As Long, _
ByVal dy As Long, _
ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Servus
AW: Userform1 mit markierter Zelle starten
25.12.2022 16:45:23
oraculix
Hallo Servus und Frohe Weihnachten auch Dir.
Danke Dein Code hat mal erreicht das der Text nicht Rot ist , also wird er akzeptiert.
Bekomme aber mit diesem Befehl einen Fehler, Variable nicht definiert
SendMausklick MOUSE_LEFT
SendMausklick MOUSE_LEFT
Welch Variable meint Excel?
Habe die Deklaration schon überall eingegeben Userform1,Schauspieler in sämtlichen Tabellen und im Modul1
Das Einzige was Excel nicht will ist
Public Const MOUSE_LEFT = 0
in der Userform wo SendMausklick MOUSE_LEFT aufgerufen wird
ist das der Fehler?
Gruß
Oaculix
Anzeige
AW: Userform1 mit markierter Zelle starten
25.12.2022 17:49:00
oraculix
Danke!
Hab es Versucht leider auch hier das mit der 32 bit Variante funkt nicht!
Lass mal gut sein ich kann ja selber auch Doppelklicken lol.
Es muss ja nicht alles automatisch gehen.
Gruß
Oraculix
AW: Userform1 mit markierter Zelle starten
25.12.2022 17:50:34
Herbert_Grom
Alles klar und weiter gutes Gelingen!
AW: Userform1 mit markierter Zelle starten
25.12.2022 13:29:26
Herbert_Grom
Du meintest wohl "Copyright Herber-Forum" ;o)=)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige