Office: (Office 2019) Textfelder verschieben

Helfe beim Thema Textfelder verschieben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, ich habe zwei Textfelder auf meinem Tabellenblatt (Textfeld 4 und Textfeld 5) in meiner xlsm Excel Datei. Textfeld 4 befindet sich unter... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Peter Sakton, 1. Februar 2024.

  1. Textfelder verschieben


    Hallo Forum,
    ich habe zwei Textfelder auf meinem Tabellenblatt (Textfeld 4 und Textfeld 5) in meiner xlsm Excel Datei. Textfeld 4 befindet sich unter Textfeld 5. Diese beiden Textfelder nutze ich, da in Textfeld 5 teilweise recht langer Text stehen kann. Die Länge des Textes in Textfeld 5 hängt von der Auswahl im Dropdown in Zelle C19 ab. Textfeld 4 soll je nach länge des Textes in Textfeld 5 entsprechend unter Textfeld 5 positioniert werden. Das funktioniert mit folgendem VBA einwandfrei:
    Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$19" Then Dim newText As String newText = Application.WorksheetFunction.Index(Sheets("Texte").Range("A2:K2"), _ Application.WorksheetFunction.Match(Sheets("Briefpapier").Range("C19"), Sheets("Texte").Range("A1:K1"), 0)) ' Setzen Sie den Text des oberen Textfelds Me.Shapes("Textbox 5").TextFrame.Characters.text = newText ' Anpassen der Position des unteren Textfelds basierend auf der Länge des Textes Dim upperTextbox As Shape Dim lowerTextbox As Shape Set upperTextbox = Me.Shapes("Textbox 5") Set lowerTextbox = Me.Shapes("Textbox 4") ' Ändern Sie "Textbox 4" entsprechend Ihrem unteren Textfeld ' Anpassen der Position des unteren Textfelds lowerTextbox.Top = upperTextbox.Top + upperTextbox.Height + 15 ' Hier 15 ist ein Beispiel für den Abstand zwischen den Textfeldern End If End Sub
    Für ein Szenario aus Dropdown C19 muss jedoch Inhalt in den Zeilen und Zellen zwischen den Textfeldern platziert werden. Textfeld 4 soll sich für dieses Szenario unter dem eingefügten Inhalt platzieren. Es werden bei diesem speziellen Szenaria 30 Zeilen Inhalt eingefügt. Dieser Inhalt muß wieder gelöscht werden, sobald in C19 wieder ein anderes Szenario ausgewählt wird. Kann das funktionieren und wie würde der Code aussehen?
    Vielen Dank für eure Hilfe.
     
    Peter Sakton, 1. Februar 2024
    #1
  2. Anbei der VBA Code noch als Text-Datei.
     
    Peter Sakton, 1. Februar 2024
    #2
  3. Klaus-Dieter Erfahrener User
    Hallo Peter,

    es wäre besser gewesen, die Datei hochzuladen. In eine Excelzelle passen übrigens 32.767 Zeichen, das reicht nicht aus?

    Der Text deiner Anfrage umfasst 1818 Zeichen (incl. Leerzeichen), da sind wir von über zweiunddreißigtausend noch ein ordentliches Stück weg. Willst du da Bücher darstellen?
     
    Klaus-Dieter, 1. Februar 2024
    #3
  4. Textfelder verschieben

    Nein, ich will keine Bücher posten. Allerdings soll der Text in der Breite über die Spalten C:G gehen. Und die Zellenhöhe soll sich automatisch an die Textmenge anpassen. Das geht nur mit Textfeldern, richtig? Die Textmenge variiert wie gesagt. Gibt es einen anderen Ansatz als den von mir angedachten?
     
    Peter Sakton, 1. Februar 2024
    #4
  5. Soll ich die Datei noch posten?
     
    Peter Sakton, 1. Februar 2024
    #5
  6. Klaus-Dieter Erfahrener User
    Hallo,

    ja mach das.
     
    Klaus-Dieter, 1. Februar 2024
    #6
  7. Hallo,
    hier ist die Datei.
     

    Anhänge:

    Peter Sakton, 1. Februar 2024
    #7
  8. Klaus-Dieter Erfahrener User

    Textfelder verschieben

    Hallo Peter,

    so wie ich das jetzt sehe, missbrauchst du Excel als Textverarbeitungsprogramm. Die Serienbrieffunktion von Word kennst du?
     
    Klaus-Dieter, 2. Februar 2024
    #8
  9. Hallo Klaus-Dieter, danke für die Antwort. Es hat seinen Grund, warum ich das in Excel machen will / muss. Die Datei ist schlußendlich komplexer als hier geposted. Es handelt sich auch nicht um einen Serienbrief, sondern um eine Angebots und Rechnungsdatei. In dieser Datei sollen Auftragsdaten und Rechnungsdaten verknüpft sein.
     
    Peter Sakton, 2. Februar 2024
    #9
  10. Klaus-Dieter Erfahrener User
    Hallo Peter,

    das hatte ich mir schon gedacht, habe mir die vielen Makros nicht näher angesehen. Für mich bleibt es trotzdem der Versuch, die Serienbrieffunktion im Excel nachzubauen.
    Wobei ich nicht verstehe, warum das Textfeld 4 unter dem Textfeld 5 stehen soll. Oder habe ich da etwas falsch verstanden?
     
    Klaus-Dieter, 2. Februar 2024
    #10
  11. Für meine Bedürfnisse funktioniert die Datei gut. Ich habe in Textfeld 5 kürzere und längere Texte und Textfeld 4 reagiert passend darauf. Nur für ein Szenario soll eine Rechnungszusammenfassung zwischen die beiden Textfelder geschrieben werden. Textfeld 4 muss dann unter dieser Rechnungszusammenfassung stehen. Diese zusätzlichen Zeilen müssen dann natürlich wieder gelöscht werden, wenn es sich nicht um eine Rechnung, sondern um ein z.B. Anschreiben handelt.
     
    Peter Sakton, 2. Februar 2024
    #11
  12. HKindler
    HKindler Erfahrener User
    Manchmal frage ich mich, wieso noch niemand auf die Idee gekommen ist, Excel als Ersatz für z.B. Photoshop zu verwenden.

    Aber sei es drum, was hindert dich die 15 bei
    Code:
    lowerTextbox.Top = upperTextbox.Top + upperTextbox.Height + 15 ' Hier 15 ist ein Beispiel für den Abstand zwischen den Textfeldern
    anhand der zwischen den Textboxen eingefügten Zeilen zu berechnen?
    Wenn du genauer beschreiben würdest, wie du diese Zeilen einfügst, könnte man auch genauer helfen.
     
    HKindler, 2. Februar 2024
    #12
    1 Person gefällt das.
  13. Textfelder verschieben

    Hallo, ich poste den Code zum einfügen der Zeilen 29:42 und Einfügnen Inhalt in die Zellen. Allerdings fehlen in der oben geposteten Exeldatei die Blätter aus denen eine Information übernommen wird. Ich hoffe, die Prozedur ist dennoch klar.
    Alles in allem werde ich vielleicht dennoch versuchen, auf lange Texte im oberen Textfeld (5) zu verzichten und nur mit einfachen Zellen arbeiten. Die langen Texte werden dann auf einem extra Blatt eingefügt, oder ähnliches.
     
    Peter Sakton, 2. Februar 2024
    #13
  14. HKindler
    HKindler Erfahrener User
    Hi,

    da du offensichtlich bis Zeile 42 etwas einfügst, wenn in C19 "AR" oder "SR" steht, kannst du deine Code-Zeile
    Code:
    lowerTextbox.Top = upperTextbox.Top + upperTextbox.Height + 15 ' Hier 15 ist ein Beispiel für den Abstand zwischen den Textfeldern
    durch diese Zeilen ersetzen
    Code:
    If Target = "AR" Or Target = "SR" Then
        lowerTextbox.Top = Range("A43").Top + 15    'die 15 sind der Abstand zur Unterkante Zeile 42
    Else
        lowerTextbox.Top = upperTextbox.Top + upperTextbox.Height + 15 ' Hier 15 ist ein Beispiel für den Abstand zwischen den Textfeldern
    End If
    Wenn ich mir die Datei so anschaue, und sehe, was alles in deinen Modulen steht, dann sieht das für mich so aus wie bei Hempels unter dem Sofa (oder wie auf meinem Schreibtisch Textfelder verschieben :rolleyes:). Module mit etlichen, gleich lautenden Funktionen, Worksheet-Events in allgemeinen Modulen überhaupt viele Module mit nichtssagenden Namen, das alles geht gar nicht.
     
    HKindler, 2. Februar 2024
    #14
  15. Du hast recht. Die Datei muß aufgeräumt werden.
     
    Peter Sakton, 2. Februar 2024
    #15
Thema:

Textfelder verschieben

Die Seite wird geladen...
  1. Textfelder verschieben - Similar Threads - Textfelder verschieben

  2. Inhalt eines Hyperlink Feldes in ein Textfeld kopieren

    in Microsoft Access Hilfe
    Inhalt eines Hyperlink Feldes in ein Textfeld kopieren: Hallo, kurz vorweg, GRUNDkenntnisse sind ein paar vorhanden, VBA-Kenntnisse sind nicht vorhanden. Ich habe eine DB zum verwalten meiner Dokumente. In einem Endlosformular erzeuge ich mit Hilfe...
  3. Schriftart im Formular

    in Microsoft Access Hilfe
    Schriftart im Formular: Hallo, ich habe folgendes Problem. in einem Formular gibt es ein Textfeld, in dem das Schriftformat auf Microsoft YaHei, Größe 10 und Schriftweite Normal eingestellt ist. Wenn ich einen neuen...
  4. Verschieben von Textfeldern, WordArt oder Formen

    in Microsoft Excel Tutorials
    Verschieben von Textfeldern, WordArt oder Formen: Verschieben von Textfeldern, WordArt oder Formen Excel für Microsoft 365 Outlook für Microsoft 365 PowerPoint für Microsoft 365 Excel 2019 Outlook 2019...
  5. Per VBA Textfelder verschieben und deren Größe ändern ?

    in Microsoft Access Hilfe
    Per VBA Textfelder verschieben und deren Größe ändern ?: möglich ? *Smilie 86165
  6. mehrere Textfelder verschieben

    in Microsoft Word Hilfe
    mehrere Textfelder verschieben: Hallo, ich habe folgende Frage. Wie kann ich es einrichten, sodass ich in folgendem Beispiele alle Texte und Textfelder verschieben kann? Angenommen ich hab ein großes Textfeld. In diesem...
  7. Textfeld - Verschieben / Größenänderung trotz Blattschutz

    in Microsoft Excel Hilfe
    Textfeld - Verschieben / Größenänderung trotz Blattschutz: Hallo liebe Experten, ich habe diese Frage schon einmal in einem anderen Forum gestellt, allerdings keine abschließende Antwort erhalten können. Nun bin ich auf dieses Forum aufmerksam geworden...
  8. Textfeld verschieben

    in Microsoft Word Hilfe
    Textfeld verschieben: Moin z'samm, es gelingt mir nicht, ein Textfeld (in dem sich ein Foto befindet), an den oberen Rand des Textes zu verschieben. Immer springt es an den oberen Rand der Seite! Wieso? Innerhalb...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden