Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
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
Eigenes Textfeld oder TextBox für jede Zelle
13.03.2019 08:50:22
Jonas
Hallo Leute,
ich habe schon viel von den hier geposteten Fragen profitiert, und habe jetzt auch ein Problem, dass ich nicht gelöst bekommen. Bin auch noch ein absoluter Makro Anfänger.
Folgende Aufgabe:
Ich möchte einen Kalnder erstellen der zu jedem Tag 2 Zellen hat in die Termine eingetragen werden können. Soweit natürlich kein Problem.
Jetzt möchte ich aber, dass wenn man einen Termin in eine Zelle geschrieben hat, und man auf diese Zelle dann klickt, eine Textbox (oder Textfeld) danneben erschein wo weitere Inhalte zu dem Termin eingetragen werden können, das aber wieder verschwindet wenn man weg klickt.
Manuel für eine Zelle schaff ich das so:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D5")) Is Nothing And Target.Count = 1 And IsEmpty(Tabelle1. _
Range("D5").Value) = False Then
Tabelle1.Shapes("Textfeld 2").Visible = True
Else
Tabelle1.Shapes("Textfeld 2").Visible = False
End If
End Sub
aber ich möchte das natürlich nicht für über 700 Zellen manuell machen. Gibt es da einen Möglichkeit das automatisch zu erstellen?
Vielen Dank schonmal für eure Hilfe!
Gruß Jonas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenes Textfeld oder TextBox für jede Zelle
13.03.2019 10:48:34
EtoPHG
Hallo Jonas,
Ist ja schön und gut, aber dass da einfach ein Textfeld erscheint und wieder verschwindet ist wohl nicht alles, was du erwartest.
Du willst doch sicher, dass diese Zusatzangaben irgendwo gespeichert werden, oder nicht?
Ein Textfeld (ActiveX-Control) speichert aber nur solange, die Daten, wie du die Datei nicht schliesst. Nachher sind die Daten weg!.
Am besten werden die Daten in ein zusätzliches Tabellenblatt in die gleiche Zelladresse speichern. Dieses Blatt könnte für den Benutzer unsichtbar sein. Dafür wäre auch nur eine Textbox für alle Zellen im Bereich der Termine, nötig. Diese könnte dynamisch ihre Position der (Doppel-)geklickten Zelle anpassen, den Text aus den zusätzlichen Blatt anzeigen. Wie aber soll das Textfeld wieder verschwinden? Was für Texte stellst Du dir vor (Länge, Formatierungen andere Besonderheiten)?
Du brauchst also noch einiges zu klären.
Ein Lösung mit ~700 Textfeldern wird Excel an den Rand des Wahsinns treiben ;-)
Gruess Hansueli
Anzeige
Gibts bereits, nennt sich "Kommentar"
13.03.2019 15:42:16
Daniel
Hi
könntest du nicht einfach die Kommentar-Funktion für sowas nutzen?
(rechte Maustaste auf die Zelle, Kontextmenü, Kommentar hinzufügen)
die macht eigentlich genau das, was du beschreibst.
Gruß Daniel
AW: Gibts bereits, nennt sich "Kommentar"
13.03.2019 16:26:51
Jonas
Hallo,
vielen Dank für die Antworten.
Ja eigentlich trifft es die Kommentar-Funktion recht gut, nur soll das erscheinenden Feld (in diesem Fall der Kommentar) von jedem einfach bearbeitet werden können undzwar durch einfaches klicken in das Feld. Über den Button "Kommentar bearbeiten" ist das zu umständlich für die späteren Nutzer.
bezüglich EtoPHG:
Die Variante über ein verstecktes Tabellenblatt ist natürlich auch schön. Ich kann mir aber noch nicht ganz vorstellen, wie du das mit der dynamischen Textbox meinst.
Ich habe euch mal ein Bild als Beispiel angehängt. In dem Fall erscheint die Textbox bei klick auf den Termin "Konstruktionsbesprechung"
https://www.herber.de/bbs/user/128363.xlsm
Vielen Dank für eure Hilfe
Anzeige
AW: Gibts bereits, nennt sich Outlook
13.03.2019 17:46:50
EtoPHG
Hallo Jonas,
Das positionieren einer ActiveX-Textbox kann man abhängig von einer selektierten Zelle machen. Das meine ich mit dynamisch.
Inzwischen bin ich aber auch der Meinung von Daniel. Mit Standardmitteln von XL arbeiten ist immer einfacher (und für Anwender verständlicher) als solche Funktionalitäten selber zu bauen.
Es ist schon erstaunlich wieviel Kalender-Schrott mit XL gebaut wird.
Outlook ist doch inzwischen fast gratis und deckt all das und noch viel, viel mehr ab. Also wo liegt da der Vorteil in statischen XL-Kalendern?
Gruess Hansueli
AW: Eigenes Textfeld oder TextBox für jede Zelle
14.03.2019 16:28:17
Daniel
Hi
für viele Zellen ggf so:
1. erstelle auf dem Blatt eine einzige TextBox und zwar die aus den ActiveX-Steuerelementen
2. lege ein zweites Tabellenblatt an, dieses brauchst du, um die eingegebenen Texte zu speichern
3. füge in das erste Tabellenblatt mit der TextBox folgenden Code ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With TextBox1
.Visible = False
If Intersect(Target, Range("A1:J10")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
.Left = Target.Offset(0, 1).Left
.Top = Target.Top
.LinkedCell = "Tabelle2!" & Target.Address(0, 0)
.Visible = True
End With
End Sub
dieser Code blendet die TextBox ein und verschiebt sie zur angeklickten Zelle wenn:
a) die Zelle innerhalb des Bereichs liegt, der als Kalender vorgesehen ist (musst du angeben)
b) nur eine Zelle angeklickt wurde
c) die Zelle einen Wert hat (Termin vorhanden ist)
"das Tabelle2" im Code musst du ggf anpassen, je nachdem wie dein Speicherblatt heißt.
Gruß Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige