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

Welche Zelle wurde angeklickt

Welche Zelle wurde angeklickt
08.03.2007 14:09:17
Sven
Hallihallo.
Wie bekomme ich die Information, welche Zelle gerade angeklickt wurde?
Folgende Situation:
In eine Tabelle soll mit einem Makro ein Text in definierte Zellen geschrieben werden. Über ein UserForm wird der zu schreibende Text eingelesen. Die Zielzelle, in die nun der Text geschrieben werden soll, soll per Mausklick bestimmt werden. Das soll derart erfolgen: Eine Schaltfläche auf dem UserForm lässt das UserForm verschwinden (UserForm1.Hide). Die Adresse der Zelle, die als nächstes durch Anklicken aktiviert wird, soll in eine Variable (Typ Range) geschrieben werden. Hier soll der Text rein. Dabei soll auch der Wechsel von einem zum anderen Arbeitsblatt möglich sein. Mir schwebt sowas wie "Sub Name_OnMouseClick ()" vor
Eine Möglichkeit (und so ist es bis jetzt) ist, die Eingabe über eine Inputbox, Typ 8 (Range): Nach dem klicken auf die Schaltfläche im UserForm verschwindet die UserForm und eine InputBox erscheint. Man klickt auf die Zielzelle und im Textfeld der Inputbox erscheint die Adresse der angeklickten Zelle. Nach klicken auf OK im InputBox-Fenster wird die Adresse in eine Variable geschrieben. Nachteil: man muss zweimal "OK" klicken um einmal an die Adresse zu kommen.
Wer kann helfen?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Welche Zelle wurde angeklickt
08.03.2007 14:26:00
OttoH
Hallo Sven,
setze folgendes Makro hinter die Arbeitsmappe; dann kannst du die Adresse auslesen.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
MsgBox Target.Address
End Sub

Gruß OttoH
AW: Welche Zelle wurde angeklickt
08.03.2007 14:30:00
Andi
Hi,
verstehe ich das richtig, Du hast einen Text, der irgendwie aus dem UserForm übernommen wird, und der soll in eine bestimmte Zelle geschrieben werden, die wiederum durch anklicken ausgewählt wird?
Das sollte doch eigentlich mit dem Workbook_SheetSelectionChange-Ereignis des Workbook kein Problem sein, oder?
Schönen Gruß,
Andi
Anzeige
AW: Welche Zelle wurde angeklickt
08.03.2007 14:49:36
Sven
Hallo Andi, hallo Otto.
Das Workbook_SheetSelectionChange-Ereignis läuft permanent ab, wenn ich irgendeine Zelle ändere. Dabei ist es unabhängig, ob ich ein anderes Makro laufen lasse oder nicht. Wenn ich nun den Button auf meinem UserForm klicke und dann eine Zelle wähle, dann bekomme ich zwar die Adresse der angeklickten Zelle in eine Variable geschrieben, aber ich möchte dann den Text direkt in diese Zelle schreiben lassen. Gebe ich diesen Vorgang in die Sub Workbook_SheetSelectionChange ein, so wird bei jedem Wechsel der Zelle ein Text in diese Zelle geschrieben, und das unabhängig davon, ob ein Makro läuft oder nicht. Ähnlich ist es, wenn ich aus der Workbook_SheetSelectionChange-Funktion eine andere Sub aufrufe. Das scheint mir also keine adäquate Lösung zu sein.
Anzeige
AW: Welche Zelle wurde angeklickt
08.03.2007 14:58:28
Andi
Hi,
deklariere in einem Standardmodul eine globale Boolsche Variable, die Du bei einem Click auf den Button im UserForm auf True setzt. Im Workbook_SheetSelectionChange fragst Du diese Variable ab, und fügst den Text nur dann ins Target ein, wenn sie True ist. Nach dem Einfügen setzt Du sie wieder auf False, dann kannst Du beliebig in der Mappe rumklicken, ohne dass irgendwas geschieht.
Schönen Gruß,
Andi
AW: Welche Zelle wurde angeklickt
08.03.2007 14:48:00
Josef
Hallo Sven,
https://www.herber.de/bbs/user/40943.xls
WARNUNG! Das RefEdit-Steuerelement macht oft Probleme, die bis zum Absturz von Excel gehen können.
Gruß Sepp
Anzeige
AW: Welche Zelle wurde angeklickt
08.03.2007 15:05:54
Sven
Hallo Sepp,
das sieht schon recht elegant aus, aber damit muss ich genauso oft klicken wie bisher. Ich würde gerne die beiden Clicks nach dem Wählen der Zelle sparen, d.h. sobald die Zelle gewählt ist soll der Text reingeschrieben werden - ohne nochmalige Bestätigung.
AW: Welche Zelle wurde angeklickt
08.03.2007 15:17:00
Josef
Hallo Sven,
das würde ich mir noch mal überlegen. Was passiert, wenn man aus Versehen die Falsche Zelle auswählt?
Ansonsten könntest du im Modul "DieseArbeitsmappe" einen Code woe dieden verwenden.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With UserForm1
    If .Visible Then Target(1, 1) = .TextBox1.Text
End With
End Sub

Gruß Sepp
Anzeige
woe dieden = wie diesen o.T. ;-)))
08.03.2007 15:18:00
Josef
Gruß Sepp

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige