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

Bei Klick soll x ausgegeben werden, geht das?

Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 12:30:29
Dennis
Hallo, ich brauche schon wieder Hilfe:
ich möchte, das, wenn ich eine Zelle anklicke, "irgendwas" ausgegeben wird.
geht so was überhaupt, und wenn ja, wie?
MfG, Dennis

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 12:43:58
joel
hallo dennis
klar geht das

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Value = "x"
End Sub

gruss joel
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 13:13:31
Dennis
Hallo Joel,
das funktioniert soweit, aber wie beschränke ich das auf bestimmte Zellen?
z.B. nur A1:A25 und B5:B35 ?
MfG, Dennis
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 13:20:54
joel
hallo dennis
dim rZiel as range
set rZiel = tabelle1.range("A1:A255,B5:B35") ... evtl. hier mit ; anstatt , trennen..
if not application.intersect(target, rZiel) is nothing then
target.value = "x"
end if
gruss joel
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 13:43:37
Dennis
Hallo Joel,
hiermit komme ich leider überhaupt nicht klar, da ich mich mit VBA nicht auskenne:
ich hab einfach alles in das Fenster, welches sich als erstes im VBA Editor öffnet reinkopiert.
Ich weiss auch nicht, ob es richtig ist, das das hier rot angezeigt wird:
"set rZiel = tabelle1.range("A1:A255,B5:B35") ... evtl. hier mit ; anstatt , trennen.."
jedenfalls erhalte ich so in keiner Zelle ein "X".
Und es sollte, wenn es geht, pro Klick ein "X" eingefügt werden.
Also wenn ich drei mal auf Zelle A1 klicke, sollen auch drei "X" eingefügt werden.
Hoffe, das du mir dabei weiterhelfen kannst.
Ich weiss, wie schwer es ist, jemanden so etwas begreiflich zu machen, der sich damit nicht auskennt, aber wäre sehr nett, wenn du es trotzdem probierst.
MfG, Dennis
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:06:15
joel
hallo dennis
ok, ganz langsam...
das "... evtl. hier mit ; anstatt , trennen.." war nur ein kommentar von mir, sorry, hätts mit "'" beginnen solllen.. natürlich gehört das nicht zum code
ich glaube, du hasts am richtigen ort reinkopiert
dim rZiel as range
set rZiel = tabelle1.range("A1:A255,B5:B35")
if not application.intersect(target, rZiel) is nothing then
target.value = target.value & "x"
end if
gruss joel
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:09:32
Georg
Hallo Dennis,
Alt/F11 in die VBA Umgebung, dann links in Projekt Tabelle 1. In dem dann sich öffnenden Fenster den u.a. Code einkopieren.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rZiel As Range
Set rZiel = Tabelle1.Range("A1:A255,B5:B35") '.. evtl. hier mit ; anstatt , trennen..
If Not Application.Intersect(Target, rZiel) Is Nothing Then
Target.Value = "x"
End If
End Sub

Grüße
Georg
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:25:27
Dennis
hallo,
ich hab nun alles so gemacht, wie beschrieben, kriege aber kein "X" angezeigt, wenn ich in die Zellen klicke.
Und was wichtig ist:
"Und es sollte, wenn es geht, pro Klick ein "X" eingefügt werden.
Also wenn ich drei mal auf Zelle A1 klicke, sollen auch drei "X" eingefügt werden."
mit freundlichem Gruss, Dennis
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:32:24
Dennis
Hallo Georg,
dein Vorschlag funktioniert jetzt, frag mich nicht wieso gerade eben nicht.
nun ist nur noch das wichtig:
"Und es sollte, wenn es geht, pro Klick ein "X" eingefügt werden.
Also wenn ich drei mal auf Zelle A1 klicke, sollen auch drei "X" eingefügt werden."
MfG, Dennis
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:36:02
joel
hallo dennis
schön, dass es klappt
Target.Value = "x"
mit target.value = target.value = "x" ersetzen..
den rest zum thema dreimal klicken kannst du im anderen thread lesen
gruss joel
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:34:22
joel
hallo dennis
schaue, dass du zuerst rechts tabelle1 auswählst (achtung, am einfachsten nur eine exel-datei geöffnet haben, sonst erwischst du noch die falsche "tabelle1"). in diesem fenster fügst du nun den code ein.
nimm mein zweiter vorschlag.. jedoch: er fügt immer erst dann ein neues "x" ein, wenn die zelle neu angewählt wird (eben selection-change-ereignis).
mit nur klicken wirds noch komplizierter, müsstes per API die cursorposition auslesen, etc... davon lass lieber die hände
gruss joel
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 14:42:49
Dennis
@ Joel & Georg,
ich danke Euch beiden für die Hilfe!!!
Nun funktioniert alles!
Danke, Dennis
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 16:09:33
Dennis
hallo nochmal,
nun habe ich ein neues Problem:
wenn ich die Formel eingebe:
Dim rZiel As Range
Set rZiel = Tabelle1.Range("A21,A22,B21,B22,F21,F22,G21,G22,K21,K22,L21,L22,P21,P22,Q21,Q22,U21,U22,V21,V22,A44,A45,B44,B45,F44,F45,G44,G45,K44,K45,L44,L45,P44,P45,Q44,Q45,U44,U45,V44,V45,A67,A68,B67,B68,F67,F68,G67,G68,K67,K68,L67,L68,P67,P68,Q67,Q68,U67,U68,V67,V68,A90,A91,B90,B91,F90,F91,G90,G91,K90,K91,L90,L91,P90,P91,Q90,Q91,U90,U91,V90,V91,A113,A114,B113,B114,F113,F114,G113,G114,K113,K114,L113,L114,P113,P114,Q113,Q114,U113,U114,V113,V114")
If Not Application.Intersect(Target, rZiel) Is Nothing Then
Target.Value = Target.Value & "x"
End If
bekomme ich die Fehlermeldung Laufzeitfehler "1004"
Die Methode "Range" für das Objekt "_Worksheet" ist fehlgeschlagen.
was kann man da machen?
MfG, Dennis
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 19:13:45
joel
hallo dennis
evtl. eine zelle in der eingabe fehlerhaft, evtl. eine zelle verbunden, evtl.. was weiss ich.. machs einfach so

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rZiel As Range
Set rZiel = Tabelle1.Range("A21,B21,F21,G21,K21,L21,P21,Q21,U21,V21")
Set rZiel = Application.Union(rZiel, rZiel.Offset(1, 0))
Set rZiel = Application.Union(rZiel, rZiel.Offset(44 - 21, 0), _
rZiel.Offset(67 - 21, 0), _
rZiel.Offset(90 - 21, 0), _
rZiel.Offset(113 - 21, 0))
If Not Application.Intersect(Target, rZiel) Is Nothing Then
Target.Value = Target.Value & "x"
End If
End Sub

gruss joel
Anzeige
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 19:23:22
Dennis
Hallo Joel,
genau das wars! Perfekt!
Aber kannst du mir bitte noch zum besseren Verständnis erklären,
was welcher Teil dieser Formel zu bedeuten hat?
Set rZiel = Tabelle1.Range("A21,B21,F21,G21,K21,L21,P21,Q21,U21,V21")
Set rZiel = Application.Union(rZiel, rZiel.Offset(1, 0))
Set rZiel = Application.Union(rZiel, rZiel.Offset(44 - 21, 0), _
rZiel.Offset(67 - 21, 0), _
rZiel.Offset(90 - 21, 0), _
rZiel.Offset(113 - 21, 0))
MfG, Dennis
AW: Bei Klick soll x ausgegeben werden, geht das?
29.07.2004 19:33:46
joel
hallo denis
klar doch
application.union(bereich1, bereich2) gibt einen bereich3 zurück, der aus bereich1 und bereich2 besteht (ein union eben)
bereich1.offset(x, y) gibt einen bereich2 zurück, der um x zeilen und y spalten verschoben ist
application.intersect(bereich1, bereich2) gibt einen bereich3 zurück, der die schnittmenge von bereich1 und bereich2 darstellt
ist bereich3 nochting, heisst dies, dass bereich3 keine zellen beinhaltet (in deinem fall war also der intersect ohne überschneidung)
gruss joel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige