Anzeige
Archiv - Navigation
1432to1436
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

Klick in eine Zelle abfragen

Klick in eine Zelle abfragen
21.06.2015 17:28:28
Jan

Hallo, ich möchte gern bei einem Klick in eine Zelle, eine Iinputbox generieren lassen, deren Inhalt soll dann in der angeklickten Zelle dargestellt werden. Wie kann ich per Makro das Klick Event abfangen?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klick in eine Zelle abfragen
21.06.2015 17:34:07
Hajo_Zi
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target = InputBox("Bitte gesuchten Namen eingeben!!")
End If
End Sub

AW: Klick in eine Zelle abfragen
21.06.2015 19:05:36
Jan
Danke, wie kann ich jetzt noch den Bereich eingrenzen? Ich möchte nur die Klicks abfangen die im Bereich J14 bis M31 sind. Mit Target und >< kann ich nicht arbeiten?

Anzeige
AW: Klick in eine Zelle abfragen
21.06.2015 19:10:47
Hajo_Zi

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("J14:M31 ")               ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In RaBereich
With RaZelle
RaZelle = InputBox("Bitte gesuchten Namen eingeben!! für Zelle " & .Address( _
False, False))
End With
Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub
Gruß Hajo

Anzeige
Range(Target.Address) ...?!
21.06.2015 19:19:47
{Boris}

Set RaBereich = Intersect(RaBereich, Range(Target.Address))
Zwar nicht falsch, aber mindestens von hinten durch die Brust ins Auge.
Besser:
Set RaBereich = Intersect(RaBereich, Target)
VG, Boris

AW: Range(Target.Address) ...?!
21.06.2015 21:58:25
Luschi
Hallo {Boris},
auf diese Unsitte habe ich Hajo schon mehrmals hingewiesen, aber entweder er liest meine Antworten dazu nicht oder sein Lerneifer, neue Anregungen zu verinnerlichen, ist nicht sehr ausgeprägt.
Gruß von Luschi
aus klein-Paris

Ja, Luschi, ...
21.06.2015 23:37:01
Luc:-?
…Hajo legt Namenslisten unter den Rubriken Nicht antworten! und verschärft Nicht lesen und nicht antworten! an. Nun darfst du überlegen (falls du magst), ob es einen Anlass für ihn gegeben haben könnte, dich auf eine dieser Listen zu setzen… ;-))
Gruß, Luc :-?

Anzeige
AW: Klick in eine Zelle abfragen
21.06.2015 19:20:37
Jan
Super Klasse Danke und so schnell. Wenn ich die Inputbox nun umgehen möchte und auf ein Userform umleite. Wie kann ich den Target.Adress Bereich in eine Variable übergeben, damit ich in dem Userform wieder in diese Zelle schreiben kann? Ich würde gern so ein Form zwischenschalten?

AW: Klick in eine Zelle abfragen
21.06.2015 19:26:28
Hajo_Zi
UserForm1.Tag = RaBereich.Address
UserForm1.Show
Gruß Hajo

AW: Klick in eine Zelle abfragen
21.06.2015 19:28:37
Hajo_Zi
und komplett.
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("J14:M31 ")               ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
'        For Each RaZelle In RaBereich
'            With RaZelle
UserForm1.Tag = RaBereich.Address
UserForm1.Show
'                RaZelle = InputBox("Bitte gesuchten Namen eingeben!! für Zelle " & .Address( _
False, False))
'            End With
'        Next RaZelle
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub

Gruß Hajo

Anzeige
AW: Klick in eine Zelle abfragen
21.06.2015 19:38:21
Jan
Perfekt Merci!!!

AW: Klick in eine Zelle abfragen
21.06.2015 17:35:27
Sepp
Hallo Jan,
entweder
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
oder
Worksheet_SelectionChange(ByVal Target As Range)
Gruß Sepp

AW: Klick in eine Zelle abfragen
22.06.2015 07:31:50
Jan
Nein Sepp.Also dann mal ganz einfach:
Ich habe in A1 eine variable Dropdownliste diese ist abhängig von einer andere Liste. Aber das ist ja egal. Meine Liste in A1 ist also eine Liste mit 10 beliebigen Einträgen. Wenn ich in A1 klicke, kann ich einen der 10 Einträge aussuchen und anklicken,dann steht dieser Eintrag in A1 drin. Ich möchte nun mit einem Makro diese Auswahl "simulieren". Das heißt nach ausführen des Makros, soll der erste Eintrag in dieser Dropdwonliste in A1 drin stehen. Ist es so einfacher?

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige