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

Forumthread: Excel Textbox erscheint beim klicken

Excel Textbox erscheint beim klicken
21.08.2014 11:53:50
Daniel
Hallo zusammen,
Habe ein kleines Problem mit meinem Excel Sheet (VBA Programm mit Comboboxen). Beim Klicken in irgendeiner Zelle erscheint öfters ein nicht gewolltest Textfeld, was mühsam ist, da man wieder in eine andere Zelle klicken muss, um es zu deaktivieren. Es wechselt merkwürdigerweise eher zufällig zwischen einem Cursor mit dem man was in einem Textfeld schreiben kann und einem "normalen" Klick in eine Zelle. Bei meinen anderen Sheets habe ich das nicht. Wisst Ihr, um was es gehen könnte?
Ich danke für Eure Hilfe.
Liebe Grüsse,
Daniel

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrostart bei "Worksheet:SelectionChange"? oT
21.08.2014 12:07:34
JoWE

AW: Makrostart bei "Worksheet:SelectionChange"? oT
21.08.2014 13:43:02
Daniel
Hallo,
Verstehe nichts ganz wie das zu implementieren ist: "Worksheet:SelectionChange"
Siehe unten ein Bild wie der Fehler erscheint.
Ich danke nochmals für Deine Hilfe!
https://www.herber.de/bbs/user/92221.xlsx
Lg,
Daniel

Anzeige
AW: Makrostart bei "Worksheet:SelectionChange"? oT
21.08.2014 14:36:22
Mullit
Hallo,
nix implementieren; schau mal in das Klassenmodul Deiner Tabelle (Rechtsclick auf Tabellenreiter >>> Code anzeigen)
u.U. gibt's da eine Event_Proc mit Namen Worksheet_SelectionChange, die ein Textfeld generiert oder sichtbar macht z.B. mit:
ActiveSheet.Shapes.AddTextbox msoTextOrientationHorizontal, 30, 100, 100, 100
ActiveSheet.Shapes("Textfeld 4").Visible = msoTrue

>>> raus damit...
Gruß,

Anzeige
AW: Makrostart bei "Worksheet:SelectionChange"? oT
21.08.2014 15:16:13
Daniel
Hallo,
Ich habe im Sheet-Code mehrere ähnliche VBA Befehle wie:
"ActiveSheet.OLEObjects("ComboboxName").Visible = True"
Diese möchte ich aber beibehalten.
Aber ein "Worksheet_SelectionChange" habe ich im Sheet-Code nicht.
Könnte es am obigen Code liegen?
Lg,
Daniel

Anzeige
AW: Makrostart bei "Worksheet:SelectionChange"? oT
21.08.2014 17:31:37
Mullit
Hallo,
tja auf Deinem Bild sieht das eher wie ein Shape und nicht wie ein Oleobjekt aus;
Du könntest nochmal in das Klassenmodul Deiner Arbeitsmappe schauen, ob da die üblichen Verdächtigen
Workbook_SheetSelectionChange
Workbook_SheetChange

vorhanden sind und eine Proc starten, sonst beginnt allerdings langsam meine Glaskugel sich zu verdunkeln
und Du wirst wohl oder übel eine anonymisierte Bsp.-Datei hochladen müssen....
Gruß,

Anzeige
AW:Ansonsten
21.08.2014 19:00:26
Ewald
Hallo,
... mal den Code posten der im Tabellenmodul oder im Modul "Diese Arbeitsmappe" steht.
oder in den ersten Post schauen.
woher weißt du das es eine Textbox ist, wird das oben angezeigt ?
Gruß Ewald

AW: AW:Ansonsten
22.08.2014 08:59:42
Daniel
Hallo zusammen,
Es scheint tatsächlich was mit STRG+G/Inhalte/Objekte zu tun zu haben. Diese Textfelder können so aktiviert werden. Ich habe eine PrintScreen Kopie gemacht:
https://www.herber.de/bbs/user/92230.xlsx
Nur weiss ich nicht wie ich diese kleinen Textfelder deaktivieren kann (ohne die Comboboxen zu löschen). Wiss Ihr eine Lösung?
Lg,
Daniel

Anzeige
Datenüberprüfung ?
21.08.2014 12:09:12
Matthias
Hallo
wenn Du in einer solchen Zelle bist,

  • Schau mal unter Daten

  • Datenüberprüfung

  • Eingabemeldung


evtl. ist Eingabemeldung anzeigen wenn Zelle ausgewählt wird aktiviert
Gruß Matthias

AW: Datenüberprüfung ?
21.08.2014 13:31:26
Daniel
Hallo Matthias,
Danke für Deine Hilfe. Funktionert leider immer noch nicht. Das Textfeld erscheint immer, wenn ich den Cursor anfangs irgendeiner Zelle drücke, wenn ich dann links oder rechts vom Anfang der Zelle gehe, dann erscheint der Cursor-Textfeld nicht mehr und ich kann problemlos die Zelle "aktivieren". Ich habe Dir ein Bild im Anhang beigelegt, da ich das Original-File nicht schicken darf.
Ich danke nochmals für Eure Hilfe!
https://www.herber.de/bbs/user/92221.xlsx
Lg,
Daniel

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Textfeld aktivieren: Probleme und Lösungen


Schritt-für-Schritt-Anleitung

  1. Überprüfen des VBA-Codes:

    • Klicke mit der rechten Maustaste auf den Tabellenreiter und wähle "Code anzeigen".
    • Suche nach einem Worksheet_SelectionChange Event, das möglicherweise ein Excel Textfeld aktiviert.

    Beispiel für den Code:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       ActiveSheet.Shapes.AddTextbox msoTextOrientationHorizontal, 30, 100, 100, 100
       ActiveSheet.Shapes("Textfeld 4").Visible = msoTrue
    End Sub
  2. Klassenmodul überprüfen:

    • Gehe zu deinem Klassenmodul und schau, ob es Prozeduren wie Workbook_SheetSelectionChange oder Workbook_SheetChange gibt, die das Textfeld beeinflussen könnten.
  3. Datenüberprüfung kontrollieren:

    • Wähle die Zelle, bei der das Problem auftritt.
    • Gehe zu "Daten" -> "Datenüberprüfung" und überprüfe, ob die Option "Eingabemeldung anzeigen, wenn Zelle ausgewählt wird" aktiviert ist.

Häufige Fehler und Lösungen

  • Fehler: Textfeld erscheint unerwartet
    Lösung: Überprüfe den VBA-Code auf Worksheet_SelectionChange und entferne unerwünschte Zeilen, die das Textfeld aktivieren.

  • Fehler: Cursor wechselt zwischen Textfeld und Zelle
    Lösung: Achte darauf, dass keine anderen Objekte in der Zelle aktiv sind, die das Verhalten beeinflussen können.

  • Fehler: Textfeld bleibt sichtbar
    Lösung: Füge einen Code hinzu, der das Textfeld ausblendet, wenn der Fokus auf eine andere Zelle verschoben wird.


Alternative Methoden

  • Textfeld manuell aktivieren/deaktivieren:

    • Klicke auf das Excel Textfeld und drücke die Entf-Taste, um es zu löschen, oder gehe zu "Entwicklertools" und verwalte die Steuerelemente.
  • Verwendung von Formeln:

    • Statt ein Textfeld zu verwenden, kannst du auch Formeln nutzen, um dynamische Inhalte anzuzeigen, ohne ein zusätzliches Objekt zu erstellen.

Praktische Beispiele

  • Beispiel 1: Textfeld erstellen:

    ActiveSheet.Shapes.AddTextbox msoTextOrientationHorizontal, 50, 50, 200, 100
  • Beispiel 2: Textfeld deaktivieren:

    ActiveSheet.Shapes("Textfeld 4").Visible = msoFalse

Diese Beispiele zeigen, wie du ein Excel Textfeld erstellen und deaktivieren kannst, um unerwünschte Aktivierungen zu vermeiden.


Tipps für Profis

  • Verwende Application.EnableEvents:

    • Setze Application.EnableEvents = False am Anfang deines Codes und True am Ende, um unerwünschte Ausführungen zu verhindern.
  • Verstecke Textfelder, die nicht verwendet werden:

    • Halte deine Arbeitsblätter sauber, indem du nicht benötigte Textfelder im Code automatisch ausblendest.
  • Dokumentiere deinen VBA-Code:

    • Füge Kommentare hinzu, um die Funktionsweise deines Codes zu erklären, was die Wartung erheblich erleichtert.

FAQ: Häufige Fragen

1. Warum erscheint das Textfeld, wenn ich eine Zelle auswähle?
Das Textfeld wird möglicherweise durch einen VBA-Code aktiviert, der an das SelectionChange-Ereignis gebunden ist.

2. Kann ich das Textfeld deaktivieren, ohne den VBA-Code zu bearbeiten?
Ja, du kannst das Textfeld manuell auswählen und löschen oder die Sichtbarkeit über die Entwicklertools anpassen.

3. Was mache ich, wenn ich den VBA-Code nicht finde?
Überprüfe alle Klassenmodule in deiner Arbeitsmappe, um sicherzustellen, dass keine Prozeduren das Textfeld aktivieren.

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