Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aus Doppelklick - EinmalKlick

aus Doppelklick - EinmalKlick
22.05.2007 09:50:55
Lena
Hallo...
Gibt es für folgenden Befehl:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
auch so etwas wie:
Private Sub Worksheet_EINMALClick(ByVal Target As Range, Cancel As Boolean) ?
Hätte damit nur noch die halbe Arbeit am PC... :o)
Danke für die Hilfe!
Gruß
Lena

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus Doppelklick - EinmalKlick
22.05.2007 09:55:00
Jan3
Hi,
NEIN.
Jan

AW: aus Doppelklick - EinmalKlick
22.05.2007 10:13:00
Rudi
Hallo,
vielleicht
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: aus Doppelklick - EinmalKlick
22.05.2007 10:56:50
Lena
Hallo Rudi,
Nein Danke - ein Klick muss sein. Weil bei "Change" gleich ein Makro startet, den ich von dieser Zelle gar noch nicht gebrauchen kann.
Wenn diese Funktion auch über eine andere Taste, am Besten die Leertaste oder Enter gehen würde, wäre super.
Gruß
Lena

AW: aus Doppelklick - EinmalKlick
22.05.2007 11:21:00
Rudi
Hallo,
was willst du überhaupt erreichen?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: aus Doppelklick - EinmalKlick
22.05.2007 11:48:33
Lena
die Frage kann ich gut verstehen.
ich hab in diesem Tabellenblatt folgende Befehle:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell = "A DAY IN THE LIFE OF A FOOL" Then
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "C:\Programme\Musicator\Mus40E\A_DAY_IN_THE_LIFE_OF_A_FOOL.mct"
End If
If ActiveCell = "AFTERNOON IN PARIS" Then
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "C:\Programme\Musicator\Mus40E\AFTERNOON_IN_PARIS.mct"
End If
If ActiveCell = "American Patrol-Pennsylvania 6-5000 - St.Louis Blues" Then
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "C:\Programme\Musicator\Mus40E\American_Patrol.mct"
End If
und noch 100 mehr.
Mit dem Doppelklick werden auf die richtige Zelle wird ein Notationsprogramm geöffnet, welches über die Leertaste in diesem Programm ein Playback mit dazugehörigem Notenbild abspielt. Das ganze läuft auf einem Laptop und ist für Auftritte gedacht, bei denen alles möglichst schnell gehen muss.
Bisher habe ich die Titel aus der aus einem Windowsordner heraus angeklickt. Ein großer Nachteil ist, dass ich die Titel aus optischen Gründen nicht farblich unterschiedlich kennzeichnen kann, wegen einiger Prioritäten. Der andere, dass die Schrift sehr klein ist und nicht zu vergrößern geht.
Mit meiner Exceltabelle hab ich die richtige Übersicht in den Griff bekommen. Der eine Nachteil ist nur, dass es statt ein Doppelklick auch ein Einmalklick tun würde. Und der Andere, wenn ich eine alphabetische Taste drücke, springt der Cursor nicht zu der Zelle, dessen Wort mit dem gedrückten Buchstaben beginnt (das geht wohl in Richtung VBA API-Funktionen)
Ich glaube mit weniger Worten ging es nicht.
Gruß
Lena

Anzeige
AW: aus Doppelklick - EinmalKlick
22.05.2007 12:37:20
Rudi
Hallo,
das würde ich ganz anders machen.
In A die 'schönen' Bezeichnungen, in B den Dateinamen ohne Pfad und Endung. Dann brauchst du deinen Code nicht immer zu ändern, wenn was neues hinzukommt und sparst dir einen Haufen Arbeit.
Code der Tabelle:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Doppelklick in A startet Datei in B
Dim wshShell As Object
If Target.Column = 1 And Target.Offset(0, 1)  "" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\" & Target.Offset(0, 1) & ".mct"
Set wshShell = Nothing
Cancel = True
End If
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
'Eingabe in C springt zur ersten Zelle in A, die mit der Eingabe beginnt, _
auch mehrere Buchstaben (z.B. 'ame' zu 'American Patrol')
Dim c As Range
If Target.Column = 3 Then
On Error GoTo ERRHANDLER
Application.EnableEvents = False
For Each c In Columns(1).SpecialCells(xlCellTypeConstants)
If UCase(Left(c, Len(Target))) = UCase(Target) Then
Application.Goto c, True
Exit For
End If
Next
Target.ClearContents
End If
ERRHANDLER:
Application.EnableEvents = True
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: aus Doppelklick - EinmalKlick
22.05.2007 13:27:22
Lena
Hallo Rudi,
ziemlich genial. Nur, ("'Eingabe in C springt zur ersten Zelle in A, die mit der Eingabe beginnt, _
auch mehrere Buchstaben (z.B. 'ame' zu 'American Patrol')" ) es klappt das bei mir, wenn in Spalte A die Namen stehen. Oder mache ich noch irgendwas falsch?
Lena

AW: aus Doppelklick - EinmalKlick
22.05.2007 13:45:00
Rudi
Hallo,
du brauchst nur irgendwo in C einen oder mehrere Buchstaben eingeben. Nach Enter wird in A ein Eintrag gesucht, der mit den/dem Buchstaben beginnt. Die Eingabe in C wird wieder gelöscht.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: aus Doppelklick - EinmalKlick
22.05.2007 21:25:00
Lena
Hallo Rudi,
ach ja ,hab jetzt wieder bisschen mehr Zeit dafür und hab die Sache verstanden. Trotzdem, so elegant wie das alles funktioniert, ich möchte gern, dass ich die Eingabe in Zeile 1 machen kann, weil die Titel in mehreren Spalten stehen.
Habs versucht mit:

Private Sub Worksheet_Change(ByVal Target As Range)
'Eingabe in C springt zur ersten Zelle in A, die mit der Eingabe beginnt, _
auch mehrere Buchstaben (z.B. 'ame' zu 'American Patrol')
Dim c As Range
If Target.Row = 1 Then (erste Zeile)
On Error GoTo ERRHANDLER
Application.EnableEvents = False
For Each c In Columns(2,3,4) (am besten 2 bis letzte Spalte)       .SpecialCells( _
xlCellTypeConstants)
If UCase(Left(c, Len(Target))) = UCase(Target) Then
Application.Goto c, True
Exit For
End If
Next
Target.ClearContents
End If
Aber das geht bei meinen Kenntnissen schief.
Die unten Stehende Variante muss ich weglassen, da in den Spalten die Titel stehen.


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Doppelklick in A startet Datei in B
Dim wshShell As Object
If Target.Column = 1 And Target.Offset(0, 1)  "" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\" & Target.Offset(0, 1) & ".mct"
Set wshShell = Nothing
Cancel = True
End If
End Sub


Meine Variante:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell = "A DAY IN THE LIFE OF A FOOL" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\A_DAY_IN_THE_LIFE_OF_A_FOOL.mct"
End If
If ActiveCell = "AFTERNOON IN PARIS" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\AFTERNOON_IN_PARIS.mct"
End If
usw.
find ich schon erstmal ok, man kann es sicherlich auch noch kürzer fassen.
Wenn du mir die Engabezeile und die Suchspalten ändern könntest - besten Dank.
Lena

Anzeige
AW: aus Doppelklick - EinmalKlick
22.05.2007 23:12:51
Rudi
Hallo,
lade doch mal ein Bsp hoch.
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

AW: aus Doppelklick - EinmalKlick
23.05.2007 09:43:21
Rudi
Hallo,
kann ich leider nicht runterladen. Firewall blockt.
Lade nochmal als .ZIP hoch.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: aus Doppelklick - EinmalKlick
23.05.2007 10:37:00
Lena
Hallo Rudi,
ich hoffe, dass ich alles richtiggemacht habe mit der Zipperei.
https://www.herber.de/bbs/user/42685.zip
Gruß
Lena

Anzeige
AW: aus Doppelklick - EinmalKlick
23.05.2007 12:25:57
Rudi
Hallo,
geht noch immer nicht. Ich schau heute Abend mal drauf.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: aus Doppelklick - EinmalKlick
23.05.2007 20:59:00
Rudi
Hallo,

Private Sub Worksheet_Change(ByVal Target As Range)
'Eingabe in C springt zur ersten Zelle in A, die mit der Eingabe beginnt, _
auch mehrere Buchstaben (z.B. 'ame' zu 'American Patrol')
Dim c As Range
If Target.Address = "$A$1" Then
On Error GoTo ERRHANDLER
Application.EnableEvents = False
For Each c In Range("A:C").SpecialCells(xlCellTypeConstants)  'Spalten evtl.anpassen
If UCase(Left(c, Len(Target))) = UCase(Target) And Not c.Address = Target.Address Then
c.Select
'            Application.Goto c, True
Exit For
End If
Next
Target = ""
End If
ERRHANDLER:
Application.EnableEvents = True
End Sub


Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: aus Doppelklick - EinmalKlick
23.05.2007 21:23:00
Lena
Hallo Rudi,
Absolut stark. Besten Dank!!!
Beste Grüße von
Lena

AW: aus Doppelklick - EinmalKlick
23.05.2007 22:12:00
Lena
Hallo Rudi,
Hab doch noch ein Problem. Da ich mit dem Laptop ohne Maus die Sache machen möchte (Rechtsklick oder Doppelklick oder am besten nochmal Enter), geht bei Bestätigung des Titels nicht der richtige Titel oder gar keiner auf, weil Mauszeiger wo anders steht. Am besten wäre die Bestätigung eben nochmal mit Enter. Aber...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Address = "$A$1" Then
On Error GoTo ERRHANDLER
Application.EnableEvents = False
For Each c In Range("A:C").SpecialCells(xlCellTypeConstants)  'Spalten evtl.anpassen
If UCase(Left(c, Len(Target))) = UCase(Target) And Not c.Address = Target.Address Then
c.Select
'            Application.Goto c, True
Exit For
End If
Next
Target = ""
End If
ERRHANDLER:
Application.EnableEvents = True
Hier brauche ich eine Pause weil ich evt. doch den nächsten Titel mit den Richtungstasten anwählen möchte. Außerdem geht der Makro ja gleich bis End Sub

.
Ich sehe da eben schon wieder ein Problem mit "


Private Sub Worksheet_Change(ByVal Target As Range)"
If ActiveCell = "A DAY IN THE LIFE OF A FOOL" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\A_DAY_IN_THE_LIFE_OF_A_FOOL.mct"
End If
If ActiveCell = "AFTERNOON IN PARIS" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\AFTERNOON_IN_PARIS.mct"
End If
If ActiveCell = "American Patrol-Pennsylvania 6-5000 - St.Louis Blues" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\American_Patrol.mct"
End If
If ActiveCell = "ANNEMARIE" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run "C:\Programme\Musicator\Mus40E\ANNEMARIE.mct"
End If
End Sub


Ich weiß , hab dich schon mächtig strapaziert, aber villeicht fällt dir noch etwas ein.
Danke.
Gruß
Lena

Anzeige
AW: aus Doppelklick - EinmalKlick
23.05.2007 23:23:00
Rudi
Hallo,
sorry, da sehe ich keine Chance. Du musst schon mit dem Cursor auf die Zelle und den Rechtsklick machen.
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige