Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Textfelder per Knopfdruck erstellen und befüllen

Textfelder per Knopfdruck erstellen und befüllen
17.11.2016 10:45:58
Bonduca
Hallo,
ich möchte gerne mit VBA Textfelder per Knopfdruck erstellen und befüllen.
In Spalte A stehen Begriffe. Es sollen auf Knopfdruck so viele Textfelder wie Begriffe in Spalte A sind erstellt werden und die Begriffe sollen auch gleich in den Textfeldern erscheinen.
Hat jemand eine Idee?
Besten Dank!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfelder per Knopfdruck erstellen und befül
17.11.2016 11:13:05
Michael
Hallo!
Fügt die Textfelder in Spalte B, immer neben der jeweiligen Zelle aus A, ein. Textbox-Eigenschaften orientieren sich an der Zelle aus A
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets(1)
Dim Texte As Range, t As Range
With Ws
Set Texte = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
For Each t In Texte
.Shapes.AddTextbox(msoTextOrientationHorizontal, t.Offset(, 1).Left, _
t.Offset(, 1).Top, t.Offset(, 1).Width, _
t.Offset(, 1).Height).TextFrame.Characters.Text = t.Text
Next t
End With
End Sub
LG
Michael
Anzeige
AW: Nicht getestet!
17.11.2016 11:13:36
Max2
So vielleicht ?
(Nicht getestet!)

For Each rngZelle In rngBereich
If rngZelle.Value  "" Then
Worksheets("TabelleXY").Shapes.AddTextbox(msoTextOrientationHorizontal, _ 100, 100, 100, 50) ' _
Anpassen
.TextFrame.Characters.Text = "Irgend ein Text" 'oder .Cells(x, y).Value
End If
Next rngZelle

Warum offen? Es gibt schon mal 2 Antworten, owT
17.11.2016 11:32:46
Michael
AW: Warum offen? Es gibt schon mal 2 Antworten, owT
17.11.2016 11:36:21
Max2
Als ich meinen Beitrag geschrieben habe gab es noch keine Antwort und ich war mir nicht sicher ob meine Version verwendbar ist :)
Da hilft Forumsliste aktualisieren...
17.11.2016 15:35:35
Michael
Max,
denn Als ich meinen Beitrag geschrieben habe gab es noch keine Antwort
doch, ich war ja vor Dir, Du hast sie nur noch nicht gesehen ;-).
Und bzgl. ich war mir nicht sicher ob meine Version verwendbar ist
dazu kann sich ja dann der/die Fragestellerin in einer Rückantwort äußern und ggf. offen stellen.
LG
Michael
Anzeige
AW: Da hilft Forumsliste aktualisieren...
17.11.2016 16:24:56
Bonduca
Hallo Michael,
Es funktioniert einwandfrei!Einfach toll!
Vielen lieben Dank!
Jetzt ist noch ein Thema aufgekommen:
Wie kann man die Farbe und Textgröße des Textfeldes per VBA verändern?
Wenn z.B. in Spalte B "gut" oder "schlecht" steht, soll das Textfeld grün oder rot eingefärbt werden.
Die Schriftgröße soll standardmäßig auf 8 gesetzt werden.
Hast du da vielleicht noch einen Vorschlag für mich :) ?
Warum probierst Du das nicht einfach aus...
17.11.2016 16:51:21
Michael
Bonduca?
Mit meinem Codegerüst kannst Du doch perfekt experimentieren...
Aber fragen ist irgendwie einfacher, gell?! ¯\_(ツ)_/¯
Sub TextfelderErstellen()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets(1)
Dim Texte As Range, t As Range
With Ws
Set Texte = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
For Each t In Texte
With .Shapes.AddTextbox(msoTextOrientationHorizontal, t.Offset(, 2).Left, _
t.Offset(, 2).Top, t.Offset(, 2).Width, _
t.Offset(, 2).Height)
.TextFrame.Characters.Text = t.Text
.TextFrame2.TextRange.Font.Size = 8
Select Case t.Offset(, 1).Text
Case Is = "rot"
.TextFrame.Characters.Font.Color = RGB(255, 0, 0)
Case Is = "grün"
.TextFrame.Characters.Font.Color = RGB(0, 176, 80)
End Select
End With
Next t
End With
End Sub
LG
Michael
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige