Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
696to700
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
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textfeld öffnen bei Klick auf Zelle

Textfeld öffnen bei Klick auf Zelle
15.11.2005 14:18:46
Chris
Hallo Ihr wissenden,
ich möchte gerne, dass sich ein Textfeld (oder ähnliches) öffnet, sobald ich auf einen definierten Spaltenabschnitt drücke.
Beispiel:
Wenn ich mit der Maus auf eine Zelle der Spalte A1:A20 drücke, soll der entsprechende Wert aus Spalte D1:D20 in einem sich öffnenden Textfeld dargestellt werden. Da der Wert (Text) länger ist, sollte dieses sich öffnende Fenster, scrollbar sein. Das Fenster sollte sich wieder schließen, sobald ich auf eine Zelle ausserhalb des Fensters drücke.
Ist sowas möglich? Ich weiß, dass ich etwas ähnliches bereits verwendet hatte. Leider finde ich die Excel Datei nicht mehr in der dies möglich war.
Vielen Dank für die Hilfe.

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

Betreff
Datum
Anwender
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
15.11.2005 15:29:37
Heiko S.
Hallo Chris,
habe dir mal ein Beispiel mit ner Userform gemacht, da kannst du sehen wie es gehen könnte,

Die Datei https://www.herber.de/bbs/user/28413.xls wurde aus Datenschutzgründen gelöscht

Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Textfeld öffnen bei Klick auf Zelle
15.11.2005 16:18:32
Chris
Hallo Heiko,
vielen Dank für die super Hilfe. Leider scheine ich mich etwas suboptimal ausgedrückt zu haben. Wenn ich in der Spalte A1:A20 eine Zelle anklicke, soll die entspechende Zelle in der Spalte D als Fenster (scrollbar, kopierbar)angezeigt werden.
Beispiel:
In Spalte A klicke ich zum Beispiel auf Zelle 10 (A10) dann soll der Inhalt von D10 als Textfenster geöffnet werden. Wenn ich dann egal welche Zelle drücke, soll sich das Fenster wieder schließen.
Dein Beispiel zeigt nachdem ich eine Zelle in der Spalte A angeklickt habe alle Inhalte der Spalte D. Es funktioniert jedoch bereits, das das Fenster schließt sobald man eine andere Zelle anklickt.
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
15.11.2005 16:46:07
Heiko S.
Hallo Chris,
dann halt so:

Die Datei https://www.herber.de/bbs/user/28415.xls wurde aus Datenschutzgründen gelöscht

Gruß Heiko
PS: Rückmeldung wäre nett
AW: Textfeld öffnen bei Klick auf Zelle
15.11.2005 17:07:05
Heiko S.
Hallo Chris,
und wenn du den Code im Tabellenblatt meines letzten Beispiels durch diesen ersetzt, dann wird die Textbox bei klick auf eine andere Zelle auch aktualisiert.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngUnion As Range, rngUBereich As Range
' Abfangen mehr als eine Zelle
If Target.Count > 1 Then Exit Sub
Unload UserForm1
' nur für einen bestimmten Bereich.
Set rngUBereich = Range("A1:A20")  ' Oder auch "A1:A20,C1:C20" oder "A1:A100" ...
Set rngUnion = Application.Union(Range(Target.Address), rngUBereich)
If rngUnion.Address = rngUBereich.Address Then
strText = Target.Offset(0, 3).Text
UserForm1.Show vbModeless
End If
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
15.11.2005 17:39:37
Chris
Lieber Heiko,
vielen Dank für die super Hilfe. Es funktioniert so wie ich es mir gewünscht habe. Vielen Dank.
Der einzige Dorn im Auge ist, dass nicht der ganze Text aus der Zelle in dem Textfeld dargestellt wird. Kann es sein das das Textfeld auf eine gewisse Größe (Zeilenmenge)begrenzt ist? Der darzustellende Text ist ein Email Text der aus einer Datembank in das Excelsheed gebracht wird. Die Datenmenge in der Zelle kann daher variieren und beinhaltet Absätze und Zeilenumbrüche. Ansich wird der Text Format teschnich gut Dargestellt nur eben scheint bei langen Texten ein Teil im Textfeld zu fehlen, obwohl der gesammte Text in der Zelle dargestellt wird.
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 07:50:06
Heiko S.
Moin Chris,
das ist der Grund warum ich hier im Forum aktiv bin, man lernt auch beim helfen immer was dazu.
So sollte es gehen, habe auch die Userform ein bisschen angepasst. https://www.herber.de/bbs/user/28425.xls
Geändert habe ich diese Zeile
strText = Target.Offset(0, 3).Text
in diese und nu gehts.
strText = Target.Offset(0, 3).Value
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 10:06:54
Chris
Heiko, ich muss mich bei Dir bedanken. Bin in einem Tag hast du meine Wünsche 100% erfüllt. Ich bedanke mich dafür.
Sag mal ist es auch möglich, dann wenn man auf eine Zelle drückt, dass heute (aktuelle) Datum ein eine andere Zelle einfügt.
Beispiel: Ich drücke auf A1 und in A2 wird das aktuelle Datum eingefügt. Der Haken ist, dass die Zelle A2 auch weiterhin beschreibbar sein muss, sollte man ein anderes Datum einfügen wollen und nicht das Aktuelle. Das soll gewisserweise nur als Arbeitserleichterung dienen (speed) dienen.
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 10:42:54
Heiko S.
Hallo Chris,
auch das geht. Entweder auf Doppelklick oder auf Rechtsklick.
Ziehe Beispiel 2. Tabelle.
https://www.herber.de/bbs/user/28431.xls
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 11:13:07
Chris
Hallo Heiko,
an sich schon fast perfekt. Nur es darf nicht bei doppelklick auf spalte 1 (a) sein sondern wenn ich die Zelle A1 anklicke (einfach- nicht doppelt) dann soll das datum in die Zelle z.B. B1
Lieben Gruss,
Chris
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 11:25:55
Heiko S.
Hallo Chris,
und das ist dann der Punkt wo man (du) sich mal näher mit VBA beschäftigen sollte, denn auch dafür gibt es ein Worksheet Ereignis das es zu nutzen gilt ;-)
Das in das Codefenster der entsprechenden Tabelle und den alten Code raus.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Wenn mehr als eine Zelle angeklickt wurde dann nichts tun.
If Target.Count > 1 Then Exit Sub
' Datum eintragen nur bei Doppleklick in Spalte A (also Column = 1) zulassen.
If Target.Column > 1 Then Exit Sub
Target.Offset(0, 1) = Date
' Man kann das Format wie es in die Zelle geschrieben werden soll auch schon hier bestimmen,
' z.B so:
' Target.Offset(1, 0) = Format(Date, "dd.mmm.yyyy")
' Oder einfach die Spalte mit dem Datum in EXCEL über ZELLEN formatieren so gestalten wie man
' das Datum haben möchte.
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 11:48:34
Chris
Hallo Heiko,
ich muss dir absolut Recht geben und muss mich für deine Gedult bedanken. Ich muss mich wirklich intensiver mit VBA auseinandersetzen da ich hier wirklich die einfachsten Sachen nicht selber machen kann. Leider benötige ich die funktionierende Tabelle ziemlich dringend und kann daher nicht erst in Bücher oder ähnliches schauen. Daher bin ich wirklich extrem Dankbar das es dieses super Forum gibt.
Ansich ist es ja schon so wie es sein soll. Ich wei0 wie ich die Ausgabezelle bestimmen kann und versuche diesen Code mit den anderen, die du mir gegeben hattest zu kombinieren. Leider schaffe ich es nicht, die Spalte weiter zu definieren. Ich möchte nicht, dass das aktuelle Datum eingesetzt wird sobald ich auf irgendeine Zelle in der Spalte A drücke. Es soll nur dann eingesetzt werden, wenn ich auf eine definierte Zelle z.B. A5 (Spalte A, Zeile 5) klicke. Dann soll das Datum ein einer definierten Zelle z.B. D5 (Spalte D, Zeile 5) erscheinen.
Anzeige
AW: Textfeld öffnen bei Klick auf Zelle
16.11.2005 12:42:54
Heiko S.
Hallo Chris,
dann so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Wenn mehr als eine Zelle angeklickt wurde dann nichts tun.
If Target.Count > 1 Then Exit Sub
' Also neu, eine bestimmte Zelle hier A5.
If Target.Address(False, False) = "A5" Then ActiveSheet.Range("D5") = Date
' Für bestimmte Zellen, Mehrzahl z.B. so.
' Dim rngUBereich  As Range, rngUnion  As Range
' Set rngUBereich = Range("A5:A20")  ' Oder auch "A1:A20,C1:C20" oder "A1:A100" ...
' Set rngUnion = Application.Union(Range(Target.Address), rngUBereich)
' If rngUnion.Address = rngUBereich.Address Then
' Target.Offset(0, 3) = Date
' End If
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige