Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Einem Shape eine Formel zuordnen

Forumthread: Einem Shape eine Formel zuordnen

Einem Shape eine Formel zuordnen
11.08.2003 23:06:42
Romano
Hallo,
VBA gut ist etwas übertrieben!
Wie kann ich einem Shape(z.B. Textfeld aus "Zeichnen")
mit VBA eine Formel zuodrnen, ohne das Shape zu selektieren?
Ist das überhaupt möglich, und wenn ja, wie?
Gruß Romano
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Einem Shape eine Formel zuordnen
11.08.2003 23:54:09
K.Rola
Hallo,
das scheint einer der wenigen Fälle zu sein, wo es ohne select nicht
geht. Du kannst es mit ExecuteExcel4Macro, aber da muss das Shape auch
selektiert sein oder einfach mit Selection.Formula machen, aber ohne
select geht m.W. nicht, würde mich aber gerne vom Gegenteil überzeugen
lassen.
Gruß K.Rola

Anzeige
AW: Einem Shape eine Formel zuordnen
12.08.2003 06:36:30
Hajo_Zi
Hallo Romano
was meinst Du mit "Wie kann ich einem Shape(z.B. Textfeld aus "Zeichnen")
mit VBA eine Formel zuodrnen"
es soll in dem Textfeld die Formel stehen??

Private Sub CommandButton1_Click()
TextBox1 = "3+2+1"
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Einem Shape eine Formel zuordnen
12.08.2003 11:48:00
Romano
Hallo,
ich meine das so: Ein Shape(Rechteck, Textfeld aus "Zeichnen")
soll sich z.B. auf Zelle A1 beziehen und seinen Inhalt aktualisieren,
wenn sich der Wert in A1 ändert, also das gleiche Verhalten, als ob
es eine Zelle mit Formel =A1 wäre.
Gruß Romano

AW: Einem Shape eine Formel zuordnen
12.08.2003 11:49:33
Hajo_Zi
Hallo Romano
benutze eine TExtbox aus der Steuerelemente Toolbox
Gruß hajo

Anzeige
AW: Einem Shape eine Formel zuordnen
12.08.2003 13:05:16
Romano
Hallo,
genau das ist aus bestimmten Gründen nicht möglich.
Es geht ja auch, wenn ich das Shape selektiere und
dann schreibe: Selection.Formula = "A1"
Ich wollte das aber ohne select und das scheint
nicht zu gehen.
Gruß Romano

;
Anzeige

Infobox / Tutorial

Einem Shape eine Formel zuordnen in Excel


Schritt-für-Schritt-Anleitung

Um einem Shape, wie einem Textfeld oder Rechteck, in Excel eine Formel zuzuordnen, ohne das Shape auszuwählen, kannst du den folgenden VBA-Code verwenden. Beachte, dass dies nur in bestimmten Excel-Versionen funktioniert, wie Excel 2003 oder XP.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub ShapeFormelZuordnen()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes("Textfeld 1") ' Ersetze "Textfeld 1" mit dem Namen deines Shapes
    shp.TextFrame.Characters.Text = "=" & Range("A1").Address
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, um die Formel dem Shape zuzuordnen.

Häufige Fehler und Lösungen

  • Fehler: "Shape nicht gefunden"

    • Lösung: Stelle sicher, dass der Name des Shapes korrekt ist. Du kannst den Namen im Eigenschaftenfenster des Shapes überprüfen.
  • Fehler: Keine Aktualisierung des Shapes

    • Lösung: Das oben genannte Beispiel aktualisiert den Text des Shapes, jedoch nicht die Formel. Um eine echte Formel zu verwenden, musst du das Shape manuell aktualisieren oder das Makro regelmäßig ausführen.

Alternative Methoden

Eine Alternative besteht darin, eine Textbox aus der Steuerelemente-Toolbox zu verwenden. Diese kann direkt mit einer Zelle verknüpft werden, ohne VBA. Gehe dazu wie folgt vor:

  1. Aktiviere die Entwicklertools in Excel.
  2. Füge eine Textbox hinzu und klicke mit der rechten Maustaste darauf.
  3. Wähle Eigenschaften und setze die LinkedCell-Eigenschaft auf A1.
  4. Jetzt wird die Textbox automatisch aktualisiert, wenn der Wert in Zelle A1 geändert wird.

Praktische Beispiele

Ein Beispiel für die Verwendung von VBA, um einem Shape eine Formel zuzuordnen:

Sub BeispielFormelZuordnen()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes("Rechteck 1") ' Ersetze "Rechteck 1" mit dem Namen deines Shapes
    shp.TextFrame.Characters.Text = "=" & Range("B1").Address
End Sub

Hier wird der Inhalt des Shapes auf den Wert von Zelle B1 gesetzt. Jedes Mal, wenn sich der Wert in B1 ändert, musst du das Makro ausführen, um das Shape zu aktualisieren.


Tipps für Profis

  • VBA optimieren: Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Makros auszuschalten, um die Performance zu verbessern.

  • Benutzerdefinierte Shapes: Du kannst Shapes auch mit benutzerdefinierten Formeln versehen, um dynamische Inhalte darzustellen.


FAQ: Häufige Fragen

1. Kann ich eine Formel direkt in ein Shape eingeben? Nein, Shapes in Excel unterstützen keine direkten Formeln wie Zellen. Du musst VBA verwenden, um den Text im Shape zu aktualisieren.

2. Welche Excel-Versionen unterstützen diese Methoden? Die beschriebenen Methoden funktionieren am besten mit Excel XP und höher. Neuere Versionen wie Excel 2016 oder 2019 unterstützen ebenfalls die Verwendung von VBA.

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