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

VBA Doppelklick unterbinden

VBA Doppelklick unterbinden
28.06.2008 17:40:28
chris58
Hallo !
Ich habe den u.a. VBA Code von jemanden bekommen. Da jedoch immer mehr Kollegen mit diesem Code in einer Datei arbeiten, kommt es mitunter zu dem Fehler, daß ein KollegIn auf die falsche Spalte doppelklickt, sodaß dann immer die Datei geschlossen und wieder geöffnet werden muß um den Fehler nicht mizuschleppen. Bei diesem VBA Code passiert folgendes:
Er kopiert die gesamte Zeile in eine Rechnung, die dann ausgedruckt werden kann.
Nun zu meiner Frage:
Ich habe hier zwar recherchiert, jedoch da ich fast keine Ahnung mit VBA habe, kann ich auch diesen Code nicht so umschreiben, daß folgendes unterbunden sein soll............
Es soll NUR die Möglichkeit bestehen, in der Spalte C3 bis C5000 die Möglichkeit sein, doppelzuklicken.
Kann man das mit diesem Code einschränken ?
Es wäre eine grosse Hilfe für mich und meine KollegInnen
Danke für eure Hilfe
chris

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C3:C5000")) Is Nothing Then
Sheets("Quittung").Range("D7").Value = Target.Value
Target.Offset(, 4).Value = Date
End If
UserForm1.Show
End Sub


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Doppelklick unterbinden
28.06.2008 17:44:18
Hajo_Zi
Hallo Chris,
der Code macht doch schon das was Du willst.

AW: VBA Doppelklick unterbinden
28.06.2008 18:19:17
Reinhard
Hi Chris,
der Code schreibt in 2 zellen etwas wenn innerhalb C3:C5000 doppelgeklickt wurde.
Ich sehe da keine ganze Zeile die kopiert wird im Code.
Egal wo doppelgeklickt wurde, Userform1 wird immer dann gestartet wenn doppelgeklickt wurde
Gruß
Reinhard

AW: VBA Doppelklick unterbinden
29.06.2008 10:58:00
chris58
Guten Morgen !
Danke für eure Reaktionen. Ich habe die Datei zur Veranschaulichung hier hochgeladen.
Natürlich kann man doppelklicken, doch wenn man auf die falsche Spalte in der Zeile klickt, dann werden andere Felder überschrieben. Es sollte so sein, daß man nur in Spalte C3:C5000 klicken kann. Ist das durchführbar ?
Danke für eure Antwort.
chris58
https://www.herber.de/bbs/user/53441.xls

Anzeige
AW: VBA Doppelklick unterbinden
29.06.2008 11:06:00
Hajo_Zi
Hallo Chris,
ich verstehe nicht wo Dein Problem ist. Bei Doppelklick wird immer die UserForm aufgerufen und bei Klick im Bereich wird vorher ein anderer Code ausgeführt.
Gruß Hajo

AW: VBA Doppelklick unterbinden
29.06.2008 11:13:00
chris58
Hallo Hajo !
Wenn man aber z.B. sich mit der Maus in Spalte B (A geht eh nicht) reinstellt und doppelklickt, dann schreibt der Code in Spalte G verkauft, doch da sollte das Datum stehen und in Spalte H der Grund der Ausfolgung. Das wollte ich für meine KollegInnen vermeiden, daß dann ein Fehler passiert und alles geschlossen werden muß um von neuem zu Beginnen. Oder ein anderer Lösungsansatz: Kann man beim Formular einen Button einbauen, der, falls man irrtümlich falsch doppelgeklickt hat, diesen vorgang abbrechen kann ? (ist mir nur jetzt gerade beim schreiben eingefallen.
Danke
chris58

Anzeige
AW: VBA Doppelklick unterbinden
29.06.2008 11:16:52
Hajo_Zi
Hallo Chris,
das wird nicht durch das Doppelkklick Ereignis ausgelöst sondern durch Change Ereignis.
Ergänze
UserForm1.Show
Cancel = True
End Sub
Gruß Hajo

AW: VBA Doppelklick unterbinden
29.06.2008 11:49:18
chris58
Danke für Deine Hilfe, doch ich steig da nicht durch, wo ich das ändern muß/ kann.
Ist das im Code unter "Tabellle1 (Dok.Ink.)" ? ganz unten zu setzten ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C3:C5000")) Is Nothing Then
Sheets("Quittung").Range("D7").Value = Target.Value
Target.Offset(, 4).Value = Date
End If
UserForm1.Show
Hier rein, Hier rein -------- .................Chanel = True ...........................
End Sub


Ist das richtig ?
danke Chris

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige