Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
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
Textfeld in Diagramm
24.10.2018 18:20:42
Peter
Hallo,
ich möchte in einem Diagramm per VBA den Inhalt mehrerer Textfelder ändern, zum Beispiel soll das aktuelle Datum eingetragen werden. Leider gelingt es mir nur die Textfelder 1 bis 10 anzusprechen.
Danach bekomme ich die Meldung
für die angeforderten formen ist das auswählen gesperrt
Ein simples Beispiel habe ich angehängt. Bei i = 11 erscheint die Fehermeldung.
https://www.herber.de/bbs/user/124890.txt
Kann mir jemand auf die Sprünge helfen?
Grüße
Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld in Diagramm
24.10.2018 18:32:53
onur
Das ist doch kein Beispiel, das ist irgend ein Code, das nix mit dem Problem zu tun hat, ausser das es zufälligerweise auch um Diagramme geht.
Bei i=11 gibt es wahrscheinlich eine Fehlermeldung, da du nur 10 Shapes hast.
AW: Textfeld in Diagramm
24.10.2018 18:43:03
Peter
Hallo Onur
ich habe natürlich das Beispiel stark reduziert. In dem Diagramm sind über 20 Textfelder, allein schon 12 Felder mit Monatsnamen. Um zu sehen, wo das Programm abbricht, wollte ich mit dem kleinen Beispiel alle Namen der Textfelder auflisten. Und bei i = 11 ist eben Schluss.
Vielleicht hilft die Ergänzung, mein Problem zu verstehen.
Peter
AW: Textfeld in Diagramm
24.10.2018 18:43:29
Daniel
Hi
vielleicht existiert ja kein Textfeld 11, weil du es irgenwann einmal gelöscht hast?
Trage die Texte, die in den Textfeldern erscheinen sollen, in eine Zelle auf einem Tabellenblatt ein.
verknüpfe dann jedes Textfeld mit so einer Zelle, indem du das Textfeld markierst und den Zellbezug in die Bearbeitungszeile einträgst.
das Textfeld ist dann mit dieser Zelle verknüpft und zeigt deren Inhalt an.
die Zellen auf einem Tabellenblatt lassen sich leichter ändern.
je nach fall kannst du den angzeigten Text in der Zelle auch per Formel erzeugen: =Heute() für das aktuelle Datum.
Gruß Daniel
Anzeige
AW: Textfeld in Diagramm
24.10.2018 18:44:58
Beverly
Hi Peter,
bist du dir sicher, dass du tatsächlich 100 Shapes im Diagramm hast? Benutze doch einfach die tatsächliche Anzahl:
Sub test()
With Worksheets("Grafik").ChartObjects("Verlauf").Chart
For i = 1 To .Shapes.Count
MsgBox .Shapes(i).Name
Next i
End With
End Sub


AW: Textfeld in Diagramm
24.10.2018 20:01:46
Peter
Hallo Karin,
ich habe versucht, entsprechend Deinem Beispiel meinen Code abzuändern, aber ich bekomme das nicht hin.
In folgendem Beispiel soll der Name des Textfeldes geändert werden, damit nicht alle "Textfeld 5" heißen, da ich die Textfelder in der Grafik kopiert habe.
Tabellenname und Diagrammname usw. werden aus einer userform übergeben.

Sub Textfeld_umbenennen(ByVal Tabelle As String, ByVal Grafik As String, ByVal Textbx As String, _
ByVal TextboxName)
'Tabelle und Grafik auswählen
Worksheets(Tabelle).Select
ActiveSheet.ChartObjects(Grafik).Activate
Unload frmTextfeld
Textbx2 = Textbx
'Name Textfeld in Textbox ändern
If Left(Textbx, 8) = "Textfeld" Then
L = Len(Textbx)
Rest = Right(Textbx, L - 8)
Textbx = "TextBox" & Rest
End If
With Worksheets(Tabelle).ChartObjects(Grafik).Chart
For i = 1 To .Shapes.Count
On Error GoTo ende
.Shapes(i).Select
If .Shapes(i).Name = Textbx2 Or .Shapes(i).Name = Textbx Then
.Shapes(i).Name = TextboxName
Exit For
End If
Debug.Print .Shapes(i).Name
Next i
ende:
End With
End Sub 

Mit Debug.print werden aber nur die bereits umbenannten 10 angezeigt. Und neu umbenannt wird  _
nichts.
Ich kapiere das nicht. Dazu reicht mein Excel nicht. Aber vielleicht gibt es ja eine simple Lö _
sung.
Grüße
Peter

Anzeige
AW: Textfeld in Diagramm
24.10.2018 22:52:38
Beverly
Hi Peter,
wenn ich deine Vorhaben richtig verstanden habe, würde ich es vielleicht so machen:
Sub test()
Textfeld_umbenennen ActiveSheet.Name, ActiveSheet.ChartObjects(1).Name, "Textfeld", _
"MeineBox"
End Sub
Sub Textfeld_umbenennen(ByVal Tabelle As String, ByVal Grafik As String, _
ByVal Textbx As String, ByVal TextboxName)
Dim i As Integer
Dim Textbx2 As String
Textbx2 = "TextBox"
With Worksheets(Tabelle).ChartObjects(Grafik).Chart
For i = 1 To .Shapes.Count
If Left(.Shapes(i).Name, 7) = Textbx2 Or Left(.Shapes(i).Name, 8) = Textbx Then
.Shapes(i).Name = TextboxName & i
End If
MsgBox .Shapes(i).Name
Next i
End With
End Sub

Die Aufrufparameter musst du entsprechend anpassen.


Anzeige
AW: Textfeld in Diagramm
24.10.2018 22:57:21
Peter
Hallo Karin,
vielen Dank für Deine Korrektur. Ich werde mein Glück versuchen (und hoffentlich Erfolg vermelden).
Schönen Abend
Peter Welbers
AW: Textfeld in Diagramm
25.10.2018 12:02:44
Peter
Hallo Karin,
mit ein paar Anpassungen an Deinem Code hat es jetzt funktioniert. Ich kann alle Textfelder ansprechen, umbenennen und mit neuem Inhalt füllen.
Vielen Dank für Deine Unterstützung.
Viele Grüße
Peter

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige