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

Forumthread: Textfeld in einer Form ändern

Textfeld in einer Form ändern
29.05.2018 08:56:05
Michel
Hallo zusammen,
ich wende mich an euch, weil ich nicht weiterkomme.
Ehrlicherweise muss ich noch erwähnen, dass ich von VBA keine Ahnung habe.
Den hier aufgeführten Code habe ich per Macrorecorder und Internetsuche zusammengebastelt.
Ich habe in einem Arbeitsblatt eine Form, bezeichnet mit "Oval 29". Diese Form wechselt in Abhängigkeit des Wertes in einem Feld (AD42) die Farbe.
Ich möchte zusätzlich zum Farbwechsel das integrierte Textfeld ändern.
Form = grün, Buchstabe G
Form = gelb, Buchstabe Y
Form = rot, Buchstabe R
Hier noch ein Auszug des verwendeten Codes:
Dim K As Shape
Set K = Me.Shapes("Oval 29")
K.Fill.Visible = msoTrue
K.Line.Visible = msoFalse
If [ad42] >= 98 Then
K.Fill.ForeColor.RGB = RGB(0, 176, 80)
ElseIf [ad42] < 98 And [ad42] >= 80 Then
K.Fill.ForeColor.RGB = RGB(255, 192, 0)
Else
K.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
Vielen Dank und viele Grüße
Michel
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Text in einer Form ändern
29.05.2018 09:18:46
Beverly
Hi Michael,
den Text kannst du mit dieser prinzipiellen Codezeile eintragen
K.OLEFormat.Object.Text = "MeinText"


AW: Text in einer Form ändern
29.05.2018 09:51:38
Michel
Hallo Karin,
das Leben kann so einfach sein wenn die richtige Codezeile bekannt ist.
Funktioniert super, vielen lieben Dank.
Michel
Anzeige
AW: Text in einer Form ändern
29.05.2018 10:06:32
Beverly
Hi Michel,
der einfachste Weg, dies herauszufinden ist, wenn du auf das Objekt (in deinem Fall K) eine Überwachung setzt. Wenn du dann den Code im Einzelschrittmodus ausführst, kannst du dir im Überwachungsfenster in der Baumstruktur alle Eigenschaften des überwachten Objektes anschauen - musst halt so lange suchen, bis du die Eigenschaft "Text" gefunden hast und im Code dann hintereinander alle Eigenschaften anführen, die zu "Text" führen.


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textfeld in einer Form ändern in Excel


Schritt-für-Schritt-Anleitung

Um ein Textfeld in einer Form in Excel zu ändern, kannst du den folgenden VBA-Code verwenden. Dieser Code wechselt sowohl die Farbe der Form als auch den Text im Textfeld, basierend auf dem Wert einer Zelle (z.B. AD42):

  1. Öffne Excel und gehe zum VBA-Editor (ALT + F11).

  2. Füge ein neues Modul ein (Einfügen > Modul).

  3. Kopiere den folgenden Code in das Modul:

    Dim K As Shape
    Set K = Me.Shapes("Oval 29")
    K.Fill.Visible = msoTrue
    K.Line.Visible = msoFalse
    
    If [AD42] >= 98 Then
       K.Fill.ForeColor.RGB = RGB(0, 176, 80)
       K.OLEFormat.Object.Text = "G"
    ElseIf [AD42] < 98 And [AD42] >= 80 Then
       K.Fill.ForeColor.RGB = RGB(255, 192, 0)
       K.OLEFormat.Object.Text = "Y"
    Else
       K.Fill.ForeColor.RGB = RGB(255, 0, 0)
       K.OLEFormat.Object.Text = "R"
    End If
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, um die Änderungen anzuwenden.

Damit kannst du die Excel-Beschriftung von Textfeldern und Formen einfach anpassen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"

    • Lösung: Stelle sicher, dass der Name der Form ("Oval 29") exakt mit dem im Code übereinstimmt.
  • Fehler: Text wird nicht aktualisiert

    • Lösung: Überprüfe, ob die OLE-Formatierung in der Form korrekt gesetzt ist. Möglicherweise ist das Textfeld nicht im richtigen Format.

Alternative Methoden

Eine alternative Methode zur Excel-Textfeldbearbeitung ist die Verwendung von Excel-Formeln, um den Text in einer Zelle zu steuern, und diesen dann mit einer Form zu verknüpfen. Du kannst das Textfeld auch direkt in der Form bearbeiten, ohne VBA zu verwenden:

  1. Klicke mit der rechten Maustaste auf die Form und wähle "Text bearbeiten".
  2. Ändere den Text direkt im Editor, der erscheint.

Praktische Beispiele

Um das Verständnis zu vertiefen, hier ein einfaches Beispiel:

  • Beispiel 1: Du hast eine Form mit dem Namen "Rechteck 1". Du möchtest, dass der Text "Aktiv" angezeigt wird, wenn der Wert in Zelle A1 größer als 50 ist, und "Inaktiv", wenn er kleiner oder gleich 50 ist.

    Dim K As Shape
    Set K = Me.Shapes("Rechteck 1")
    
    If Range("A1").Value > 50 Then
       K.OLEFormat.Object.Text = "Aktiv"
    Else
       K.OLEFormat.Object.Text = "Inaktiv"
    End If

Tipps für Profis

  • Nutze die Überwachungsfunktion im VBA-Editor, um die Eigenschaften von Objekten zu inspizieren. Damit kannst du herausfinden, welche Eigenschaften du anpassen kannst, um die Textfeldform zu ändern.
  • Experimentiere mit verschiedenen Formaten und Farben, um eine ansprechende Darstellung deiner Daten zu erreichen.

FAQ: Häufige Fragen

1. Wie kann ich den Text in einer Form ohne VBA ändern? Du kannst den Text in einer Form direkt bearbeiten, indem du mit der rechten Maustaste auf die Form klickst und "Text bearbeiten" auswählst.

2. Was mache ich, wenn meine Form nicht reagiert? Stelle sicher, dass die Form korrekt benannt ist und dass keine Fehler im VBA-Code vorliegen. Prüfe auch, ob das Arbeitsblatt geschützt ist, da dies die Bearbeitung verhindern kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige