Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

bei klick in zelle nicht aktivieren

Betrifft: bei klick in zelle nicht aktivieren von: yummi
Geschrieben am: 09.09.2014 09:25:01

Hallo Ihr,

ich habe folgendes Problem: Es gibt auf dem Sheet Zellen, die nicht gesperrt sind. Diese dürfen von einer bestimmten Usergruppe auch angeklickt werden. Wenn dies geschieht, übernehme ich den Zellinhalt in den Zwischenspeicher, so weit so gut.

Was jetzt aber noch unschön ist, ist das Aktivieren der Zelle. Beim Doppelklick kann man ja mit Cancel = false dies unterbinden.

Gibt es für den einfachen linksklick ein Pendant?

Vielen Dank für Eure Tipps

Gruß
yummi

  

Betrifft: AW: bei klick in zelle nicht aktivieren von: Robert
Geschrieben am: 09.09.2014 10:02:52

Hallo yummi,

Du könntest den User wieder dahin zurückschicken wo er vor dem anklicken war, oder eben an eine bestimmte Zelle (Beispiel mit A1)

Application.EnableEvents = False
ActiveSheet.Cells(1,1).Select
Application.Enableevents = True
Viele Grüße
Robert


  

Betrifft: AW: bei klick in zelle nicht aktivieren von: yummi
Geschrieben am: 09.09.2014 10:27:13

Hallo Robert,

mit enableevents bekomm ich es schon mal so hin, dass der User nicht in der zelle drin ist. der "unschöne" gestrichelte Rahmen um die Zelle wegen dem Copy bleibt. Ist aber vlt nicht schlecht, dann weiß der User zumindest, dass etwas im Hintergrund auf seine Eingabe reagiert hat.

Werde es wohl erstmal so lassen, es sei denn jemand weiß, wie man den gestrichelten Rahmen beim copy auch unterbinden kann.

Danke
yummi


  

Betrifft: AW: bei klick in zelle nicht aktivieren von: Robert
Geschrieben am: 09.09.2014 10:40:09

Hallo yummi,

Application.CutCopyMode = False

entfernt den "gestrichelten Rahmen", bzw. beendet den Kopiervorgang.

Wenn du nur die Werte aus der Zelle Brauchst, kannst du auch ganz auf .Copy und .Paste verzichten, ohne mehr Code zu haben.

ZielZelle = QuellZelle Macht das gleiche :)

Viele Grüße
Robert


  

Betrifft: AW: bei klick in zelle nicht aktivieren von: yummi
Geschrieben am: 09.09.2014 11:04:56

Hallo Robert,

es geht nicht darum den Inhalt der Zelle in eine andere Zelle zu kopieren, sondern im Zwischenspeicher zur Verfügung zu stellen, um z.B. den Inhalt in einem anderen Programm zur Eingabe für Suchen oder was auch immer zu nutzen. Dein Befehl löscht den Zwischenspeicher, was nicht gewollt ist.

Gruß
yummi


  

Betrifft: AW: bei klick in zelle nicht aktivieren von: Rudi Maintaire
Geschrieben am: 09.09.2014 11:28:01

Hallo,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim ClipAbLage As DataObject
   If Target.Column = 1 Then   'anpassen
     Set ClipAbLage = New DataObject
     ClipAbLage.SetText Target
     ClipAbLage.PutInClipboard
   End If
End Sub
Verweis auf Microsoft Forms 2.0 Object Library setzen.
Alternativ eine Userform einfügen und wieder löschen. Das setzt den Verweis auch.

Gruß
Rudi


  

Betrifft: AW: bei klick in zelle nicht aktivieren von: yummi
Geschrieben am: 09.09.2014 11:56:00

Hallo Rudi,

das DataObject kannte ich bisher noch nicht, liefert aber genau das was ich wollte, musste nur die SetText Zuweisung ändern, da Target inkompatibel ist.

Vielen Dank für den Tipp
yummi


 

Beiträge aus den Excel-Beispielen zum Thema "bei klick in zelle nicht aktivieren"