Autor
|
Thema: Textfeld via VBA erzeugen (16254 mal gelesen)
|
Shor-ty Ehrenmitglied V.I.P. h.c.
Beiträge: 2463 Registriert: 27.08.2010 ESI-OpenCFD OpenFOAM v2112
|
erstellt am: 12. Jun. 2013 09:41 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, will ein Textfeld mittels VBA erzeugen. Klappt auch ohne Probleme nur die Ausrichtung soll an der ausgewählten Zelle geschehen bzw. in die ausgewählte Zelle soll ein Textfeld eingefügt werden. Bislang kann ich das Textfeld nur mittels den Koordinaten manipulieren. Code:
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 312, 153.75, 61.5, _ 20.25).Select Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Test"
Für Anregungen wäre ich sehr dankbar ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Ehrenmitglied V.I.P. h.c.
Beiträge: 2463 Registriert: 27.08.2010
|
erstellt am: 12. Jun. 2013 10:44 <-- editieren / zitieren --> Unities abgeben:
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 12. Jun. 2013 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für Shor-ty
|
Shor-ty Ehrenmitglied V.I.P. h.c.
Beiträge: 2463 Registriert: 27.08.2010
|
erstellt am: 12. Jun. 2013 12:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, hier meine Lösung: Code:
Sub Projektnummer()' Dieses Makro fügt die Projektnummer oben links im Bild ein ' Das Textfeld wird streng genommen in der ausgewählten Zelle eingefügt ' Die Projektnummer muss 8 Zeichen lang sein bspw. "XY-00423" ' falls dies nicht der Fall ist, müssen die Eingaben weiter unten geändert werden -> Text einfügen und bearbeiten ' ' Projektnummer einfügen ' --------------------------------------------------------------------- With ActiveCell ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, 53, 13). _ Select End With With Selection.ShapeRange.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorBackground1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = 0 .Transparency = 0 .Solid End With Selection.ShapeRange.Line.Visible = msoFalse Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle Selection.ShapeRange.TextFrame2.TextRange.ParagraphFormat.Alignment = _ msoAlignCenter ' ' Text einfügen und bearbeiten ' --------------------------------------------------------------------- Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Sheets(2).Range("E13") ' ' (1,8) stellt die Ziffernzahl dar -> Hier muss die Projektnummer 8 Zeichen umfassen ' With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 8). _ ParagraphFormat .FirstLineIndent = 0 .Alignment = msoAlignCenter End With With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 8).Font .NameComplexScript = "+mn-cs" .NameFarEast = "+mn-ea" .Fill.Visible = msoTrue .Fill.ForeColor.ObjectThemeColor = msoThemeColorText1 .Fill.ForeColor.TintAndShade = 0 .Fill.ForeColor.Brightness = 0 .Fill.Transparency = 0 .Fill.Solid .Size = 10 .Name = "+mn-lt" End With End Sub
Dieses Makro wird dann von dem "BildEinfuegen" Makro geladen. Funktioniert wunderbar. ------------------ Grüße Tobias Holzmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|