Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textfeld öffnen bei Klick auf Zelle

Forumthread: 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.
Anzeige

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 !
Anzeige
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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textfeld öffnen bei Klick auf Zelle in Excel


Schritt-für-Schritt-Anleitung

Um ein Textfeld zu öffnen, wenn du auf eine Zelle in Excel klickst, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das Arbeitsblatt, in dem du die Funktion implementieren möchtest, aus dem Projektfenster aus.

  3. Füge den folgenden Code in das Codefenster des Arbeitsblatts ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim rngUBereich As Range
        ' Abfangen mehr als eine Zelle
        If Target.Count > 1 Then Exit Sub
        Unload UserForm1
        ' Nur für den bestimmten Bereich
        Set rngUBereich = Range("A1:A20")
        If Not Intersect(Target, rngUBereich) Is Nothing Then
            strText = Target.Offset(0, 3).Text
            UserForm1.Show vbModeless
        End If
    End Sub
  4. Erstelle eine UserForm mit einem Textfeld, das die Werte aus der entsprechenden Zelle anzeigt.

  5. Schließe den VBA-Editor und teste die Funktion in deinem Arbeitsblatt.

Wenn du auf eine Zelle in Spalte A klickst, wird der Text aus der entsprechenden Zelle in Spalte D in dem Textfeld angezeigt.


Häufige Fehler und Lösungen

  • Fehler: Das Textfeld zeigt nicht den gesamten Text an.

    • Lösung: Stelle sicher, dass du Target.Offset(0, 3).Value anstelle von Target.Offset(0, 3).Text verwendest, um sicherzustellen, dass alle Textinhalte ohne Begrenzung angezeigt werden.
  • Fehler: Das Textfeld schließt sich nicht, wenn auf eine andere Zelle geklickt wird.

    • Lösung: Überprüfe den Code, um sicherzustellen, dass die Unload UserForm1-Zeile korrekt platziert ist.

Alternative Methoden

Falls VBA für dich nicht in Frage kommt, kannst du auch HTML-Techniken verwenden, um Text bei einem Klick auf eine Zelle aufklappen zu lassen. Diese Methode erfordert jedoch Kenntnisse in der Webentwicklung und die Verwendung von Excel-Webanwendungen.


Praktische Beispiele

  1. Textfeld für E-Mail-Text: Erstelle eine Tabelle, in der du E-Mail-Text in Spalte D speicherst. Wenn du in Spalte A auf eine Zelle klickst, wird der entsprechende E-Mail-Text in einem scrollbaren Textfeld angezeigt.

  2. Aktuelles Datum einfügen: Wenn du auf eine bestimmte Zelle klickst, kannst du das aktuelle Datum in eine andere Zelle einfügen. Beispiel:

    If Target.Address(False, False) = "A5" Then 
        ActiveSheet.Range("D5") = Date
    End If

Tipps für Profis

  • Erweiterte UserForms: Du kannst die UserForm anpassen, um zusätzliche Steuerelemente hinzuzufügen, wie z.B. Schaltflächen zum Kopieren des Textes.
  • Datenvalidierung: Verwende Datenvalidierung in Spalte A, um sicherzustellen, dass nur bestimmte Werte ausgewählt werden können.
  • Automatisierung: Kombiniere mehrere VBA-Skripte, um komplexe Aufgaben in Excel zu automatisieren.

FAQ: Häufige Fragen

1. Kann ich mehrere Zellen gleichzeitig aufklappen? Ja, du kannst den VBA-Code anpassen, um mehrere Zellen zu überwachen und deren Inhalte in einem Textfeld anzuzeigen.

2. Wie kann ich das Textfeld anpassen? Du kannst die Größe und das Aussehen der UserForm in den Eigenschaften des VBA-Editors anpassen.

3. Ist es möglich, bei einem Klick auf eine Zelle eine Datei zu öffnen? Ja, du kannst den VBA-Code anpassen, um eine Datei zu öffnen, wenn auf eine bestimmte Zelle geklickt wird:

If Target.Address = "$A$1" Then
    Shell "explorer C:\DeinDateipfad\DeineDatei.txt", vbNormalFocus
End If

Diese Schritte helfen dir dabei, Excel Zellen aufklappen bei Klick, sowie andere interaktive Funktionen in deiner Tabelle zu integrieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige