Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Klick-Ereignis während anderer Prozedur | Herbers Excel-Forum

Klick-Ereignis während anderer Prozedur
10.01.2010 14:46:05
MBorn

Hallo,
ich wünsche Euch einen schönen, verschneiten Sonntag.
Weiß jemand, wie ich vorgehen muß, wenn ich während einer Prozedur ein
Klickereignis starten möchte?
Folgende Aufgabe:
Sub Uebertragen
Set Blatt1 = Sheets("Blatt1")
Set Blatt2 = Sheets("Blatt2")
...
Blatt2.activate
wenn ich auf eine Zelle klicke, soll in Blatt1 was eingetragen werden.
Wenn ich auf eine Schaltfläche klicke soll das Blatt wechseln:
Blatt1.activate
End Sub
Leider funktioniert das Ereignis

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Blatt1 = Sheets("Blatt1")
Set Blatt2 = Sheets("Blatt2")
If Target.Count = 1 Then
lrow = Blatt1.Range("B1000").End(xlUp).Row
If Not Intersect(Target, Blatt2.Range("D4:P6")) Is Nothing Then
If Blatt1.Cells(lrow + 1, 3) = "" Then
Blatt1.Cells(lrow + 1, 3) = Target.Value
Else
Blatt1.Cells(lrow + 1, Blatt1.Cells(lrow + 1, 7).End(xlToLeft).Column + 1) =  _
Target.Value
End If
End If
End If
End Sub
nur außerhalb einer Prozedur und wie das mit der Schaltfläche
gehen soll entzieht sich bis jetzt auch meiner Kenntnis.
Kann jemand helfen bitte?
Danke,
Born

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

Betreff
Datum
Anwender
Anzeige
AW: Lösung gefunden
10.01.2010 14:53:03
MBorn
Hallo,
habe gerade selber eine Lösung gefunden indem ich die Prozedur in zwei Prozeduren aufgeteilt
habe und das klick-ereignis zwischen den beiden stattfindet.
Born
AW: Lösung funktioniert nicht
10.01.2010 16:16:17
MBorn
Leider funktioniert es mit den zwei Prozeduren nicht. Das ganze Ding muß
in einer Prozedur laufen. Hat vielleicht doch einer eine Idee, wie man während
einer laufenden Prozedur abfragen kann, welche Zellen angeklickt wurden und
das Skript nach Klick auf eine Schaltfläche weiterlaufen lassen?
born
AW: Lösung funktioniert nicht
10.01.2010 17:53:07
A.gerken
Hallo,
du könntest probieren, an den stellen, wo abgefragt werden soll wo hingeklickt wurde
DoEvents
reinzuschreiben. Dadurch wird der Code angehalten und die Events (auch die Worksheet funktion SelectionChange) abgefragt
grüße Andi
Anzeige
AW: Lösung funktioniert nicht
10.01.2010 17:58:43
MBorn
Hallo Andi,
danke für die Idee. Hab gerade innerhalb des Loops DoEvents ausprobiert
Do
If CBool(GetAsyncKeyState(VK_RBUTTON) And &H8000) Then Exit Do
DoEvents
Loop
und gehofft, daß durch doEvents die ChangeEvents abgerufen werden. Aber
das passiert leider nicht??? Das einzige was passiert, ist das durch das obige
skript bei Rechtsklick der loop verlassen wird.
Huuuuh,
Born
AW: Lösung funktioniert nicht
10.01.2010 18:04:32
Daniel
Hi
man kann die Events oder Ereingnisse auch direkt aufrufen, z.B. mit :
Call Commandbutton1_Klick
Call Selection_Change(Range("A1"))
dabei muss man folgendes beachten:
steht der Aufruf in einem anderen Modul auf das aufgerufene Ereignis, muss dieses als PUBLIC deklariert werden (der VBA-Editor stellt automatisch PRIVATE ein, aber das kann man ändern)
Gruß, Daniel
Anzeige
AW: Lösung funktioniert nicht
11.01.2010 08:02:21
MBorn
DAS wollte ich wissen. Vielen Dank. Das wars.
Born

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige