PDA

Vollständige Version anzeigen : Zellenauswahl von Benutzer


AndreasKrohn
27.06.2007, 14:21
Hallo,

leider habe ich im Forum keine Antwort auf meine Frage gefunden.

Ich möchte folgendes realisieren:

Der Benutzer soll (vielleicht per Form oder msgbox) aufgefordert werden eine Zelle anzuklicken. Wenn der Benutzer eine angeklickt hat soll die Adresse der Zelle weiterverarbeitet werden (z.B. in einer Textbox ausgegeben werden).

Irgendwie stehe ich auf dem Schlauch.
Womit realisiere ich das?

Vielen Dank für die Hilfe,
Andreas

Sebastian Schulz
27.06.2007, 14:30
Hallo Andreas,

Hier mal ein Ansatz für dich
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Worksheet_BeforeDoubleClick(<span class="TOKEN">ByVal</span> Target <span class="TOKEN">As</span> Excel.Range, Cancel <span class="TOKEN">As</span> <span class="TOKEN">Boolean</span>)
<span class="TOKEN">If</span> Intersect(Target, ActiveSheet.Range(&quot;A1:B500&quot;)) <span class="TOKEN">Is</span> <span class="TOKEN">Nothing</span> <span class="TOKEN">Then</span> <span class="TOKEN">Exit Sub</span>
Ausfuehren
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;
&nbsp;
&nbsp;
<span class="TOKEN">Sub</span> Ausfuehren()
MsgBox &quot;Du hast in Zelle &quot; &amp; ActiveCell.Address &amp; &quot; einen Doppel-Klick durchgef&uuml;hrt&quot;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;
&nbsp;
&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Sebastian Schulz
27.06.2007, 14:42
und für einen einfachen Klick in eine Zelle/Bereich

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Worksheet_SelectionChange(<span class="TOKEN">ByVal</span> Target <span class="TOKEN">As</span> Range)
<span class="TOKEN">If</span> Intersect(Target, ActiveSheet.Range(&quot;A1:B500&quot;)) <span class="TOKEN">Is</span> <span class="TOKEN">Nothing</span> <span class="TOKEN">Then</span> <span class="TOKEN">Exit Sub</span>
Ausfuehren
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;
&nbsp;
&nbsp;
<span class="TOKEN">Sub</span> Ausfuehren()
MsgBox &quot;Du hast in Zelle &quot; &amp; ActiveCell.Address &amp; &quot; einen Klick durchgef&uuml;hrt&quot;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

AndreasKrohn
27.06.2007, 15:23
Hallo Sebastian,

danke für die Infos. Irgendwie funktioniert das bei mir leider nicht.
Ich muss diese Prozeduren doch in "Diese Arbeitsmappe" schreiben, oder?
Es scheint, als würde eine Endlosscheife entstehen, aber stopmarken im Code zeigen nicht einmal, dass der code ausgeführt wird.
Ich bin verwirrt.

Excel 2000 SP3
Win 2000

Sebastian Schulz
27.06.2007, 16:03
Hallo,

der Code muss in die entsprechende Mappe (nicht DieseArbeitsmappe).
Z.B. Code in Tabelle1

Schau mal ob es nun funktioniert.

jinx
27.06.2007, 17:04
<font size="2" face="Century Gothic">Moin, Sebastian Schulz,

und sollte man nicht (auch und gerade in einem Ansatz) das normale Verhalten eines Doppelklicks durch das Hinzufügen von Cancel = True als letzte Codezeile ausschalten? ;)</font>

Sebastian Schulz
27.06.2007, 17:14
Hallo jiinx,

da hast du vollkommen recht. Cancel = true müsste noch hinzugefügt werden.

AndreasKrohn
02.07.2007, 07:00
Hallo Zusammen.

Vielen Dank für die Super Tipps. Kaum macht man es richtig funktionierts;-)

Gruß,
Andreas