Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Textfeld Inhalt ersetzen
#1
Neu erstellte Textfelder (Textfeld 9 und Textfeld 10) wollen nicht übertragen werden.
   

Im Tabellenblatt Zubereitung befinden sich mehrere Textfelder mit Inhalt. Diese Textfelder sind alle benannt (Textfeld 1, Textfeld 2, etc.).

Wenn ich in A13 im Tabellenblatt Pizza ein vorbestimmtes Wort per Dropdown auswähle, dann werden die Textfelder vom Tabellenblatt Zubereitung in das Tabellenblatt Pizza in die vorgegebenen Textfelder 1 und Textfeld 2 kopiert.

Mit Tony Gemignani und TXCraig1 funktioniert es.

Ich hab das Ganze nun erweitert, es funktioniert einfach nicht mit Textfeld 9 und Textfeld 10.
Antwortento top
#2
Hallo,
Case "Pizza Hut Pan Pizza"
  Simple 1, 5
  Simple 2, 6
Gruß Uwe
Antwortento top
#3
Das funktioniert leider nicht.

Es befinden sich sehr viele Textfelder im Tabellenblatt "Zubereitung".

Wenn ich ein neues Textfeld erstelle heißt es "Textfeld 32". Wenn ich es lösche und wieder ein neues Textfeld erstelle, dann heißt es bereits "Textfeld 33".

Wenn ich den Textfelder Namen gebe, dann bringt das auch nichts:
Beispiel:
  • Ich lösche "Textfeld 1"
  • Erstelle ein neues Textfeld (auto-generierter Name:"Textfeld 34")
  • Bennen "Textfeld 34" in "Textfeld 1" um.
  • Nichts geht mehr.
Antwortento top
#4
Hallo Bifi,

eine Anrede und ein Gruß erhöhen sicherlich die Bereitschaft auch anderer User, nach Lösungen zu suchen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antwortento top
#5
Anscheinend nummeriert Excel versteckt alle je erstellen Textfelder auf dem Tabellenblatt durch und vergibt feste Bezeichnungen "Textfeld 1", "Textfeld 2", etc. Selbst wenn man alle Textfelder löscht zählt Excel munter weiter.

Fazit: Der versteckte "innerliche" Dateiname eines Textfeldes kann nicht geändert werden, wenn die gleiche Bezeichnung "Textfeld" mit einer anderen Zahl verwendet wird (z.B. "Textfeld 21"). Es muss ein andere Name gewählt werden, dann funktioniert alles.
Antwortento top
#6
Hallöchen,

mit ...Item(x) wählst Du die Textbox in der Reihenfolge, wie Du sie in Deinem Shape.Range(array(...) festgelegt hast.

MsgBox ActiveSheet.Shapes.Range(Array("Textfeld 1", "Textfeld 9", "Textfeld 7")).Item(2).TextFrame2.TextRange.Text

würde Dir dann entsprechend den Text vom Textfeld 9 bringen
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • Bifi85
Antwortento top
#7
Hallo,

vielen Dank schauan. Allerdings kenne ich mich mit Excel nicht so aus. Wo müsste ich denn die Zeile reinkopieren oder was müsste ich damit ersetzen damit es funktioniert? 

Code:
   End If
   If .Address = "$A$13" Then
      Select Case .Value
         Case "TXCraig1"
            Simple 1, 1
            Simple 2, 2
         Case "Tony Gemignani"
            Simple 1, 3
            Simple 2, 4
         Case "Pizza Hut Pan Pizza"
            Simple 1, 9
            Simple 2, 10
      End Select
   End If
End With
End Sub

Private Sub Simple(vTo, vFrom)

Sheets("Zubereitung").Shapes.Range(Array("Textfeld 1", "Textfeld 2", "Textfeld 3", "Textfeld 9", "Textfeld 10")).Item(vFrom).TextFrame2.TextRange.Copy
Sheets("Pizza").Shapes.Range(Array("Textfeld 1", "Textfeld 2")).Item(vTo).TextFrame2.TextRange.Paste

End Sub

Muss man eigentlich alle Textfelder einzeln eintragen? Kann man nicht sagen: "Das Suchfeld (Range) im Tabellenblatt "Zubereitung" sind alle "Textfeld XX" (XX = jede Zahl) oder Textfeld 1-30?" Wie man das eben mit Zahlen auch macht.
Antwortento top
#8
Hallöchen,

in Anlehnung an Uwe's Vorschlag

statt
Code:
Case "Pizza Hut Pan Pizza"
            Simple 1, 9
            Simple 2, 10

dann

Code:
Case "Pizza Hut Pan Pizza"
  Simple 1, 4
  Simple 2, 5


Textfeld 9 ist in dem Array der 4. Eintrag und Textfeld 10 der 5.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • Bifi85
Antwortento top
#9
Hi André,

(08.09.2020, 17:10)schauan schrieb: Textfeld 9 ist in dem Array der 4. Eintrag und Textfeld 10 der 5.
tja, aber auf dem Foto waren es 5 und 6. Undecided

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • Bifi85
Antwortento top
#10
Jetzt hab ich es glaub ich verstanden:

Es kommt auf die Reihenfolge im "Array" an.

Beispiel:
Sheets("Zubereitung").Shapes.Range(Array("Textfeld 1", "Textfeld 9", "Textfeld 7", "Textfeld 8", "Textfeld 5")).Item(vFrom).TextFrame2.TextRange.Copy
  • Textfeld 1 = 1
  • Textfeld 9 = 2
  • Textfeld 7 = 3
  • Textfeld 8 = 4
  • Textfeld 5 = 5
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste