Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Zellwert in Textfeld

Betrifft: Zellwert in Textfeld von: Tom
Geschrieben am: 16.11.2012 12:10:27

Hallo zusammen,

ich habe eine Liste mit Begriffen von A1:A250

Nun möchte ich diese Begriffe
- in ein eigenes Textfeld rechts daneben z.B. Spalte B:F
- dieses Textfeld ohne Linie und Füllung schwarz
- Schriftart weiß

Ich habe es mit dem Makrorekorder versucht, aber das ist ....

Die Profis hier haben sicher ne bessere Lösung.

Sub Makro2()
'
' Makro2 Makro
'

'
    Range("A79").Select
    Selection.Copy
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 394.5, 1337.25, _
        297.75, 17.25).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
        "Hallenatmosphäre "
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 17).ParagraphFormat. _
        FirstLineIndent = 0
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 16).Font
        .Bold = msoFalse
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorDark1
        .Fill.ForeColor.TintAndShade = 0
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 11
        .Italic = msoFalse
        .Name = "+mn-lt"
        .UnderlineStyle = msoNoUnderline
        .Strike = msoNoStrike
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(17, 1).Font
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorDark1
        .Fill.ForeColor.TintAndShade = 0
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 11
        .Name = "+mn-lt"
    End With
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.Line.Visible = msoFalse
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorLight1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Solid
    End With
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorText1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorBackground1
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
        .Solid
    End With
    Range("C75").Select
End Sub
Danke vorab
TOM

  

Betrifft: AW: Zellwert in Textfeld von: Tobias S.
Geschrieben am: 17.11.2012 13:10:26

Hi TOM,

Versuch es mal hiermit:
Linien höhe usw musst du noch anpassen.

Sub test()
Dim lgEnde
Dim Zelle
Dim sprung

With Worksheets("Tabelle1")

lgEnde = .Cells(Rows.Count, 1).End(xlUp).Row
Bereich = .Range(.Cells(1, 1), .Cells(lgEnde, 1))

For i = 1 To lgEnde
sprung = Application.CentimetersToPoints(i)
Set TB = .Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100 + sprung, 200, 50)
    
    With TB
    
    .TextFrame2.TextRange.Characters.Text = Worksheets("Tabelle1").Cells(i, 1)
        
    End With
  
Set TB = Nothing

Next i

End With
End Sub



  

Betrifft: AW: Zellwert in Textfeld von: Tom
Geschrieben am: 17.11.2012 13:59:24

Hallo Tobias,

super, vielen Dank! Sind auf einem guten Weg :-)

Wie kann ich alle Textboxen auf einmal aktivieren um die Linien usw. anzupassen?
Mit diesem Makro klappt es nicht:

Sub_Linien_Füllung()
ActiveSheet.Shapes.Range(Array("TextBox 1:TextBox 250")).Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Line.Visible = msoFalse
End Sub


  

Betrifft: AW: Zellwert in Textfeld von: Tobias S.
Geschrieben am: 17.11.2012 19:26:01

Hi!

Die Textfelder werden nacheinander abgearbeitet, d.h. wir machen hier keine Selection über alle, sondern formatieren die Textfelder direkt, wenn sie entstehen.

Vielleicht gibt es noch eine Eigenschaft die keine Linie zeichnet, die hab ich aber gerade auf die Schnelle nicht gefunden und einfach den Rahmen schwarz gemacht. Jetzt musst du nur noch über die Variable "sprung" das ganze so kalibrieren und die Textfeldgrößen so anpassen wie du es benötigst. Wie du es brauchst.Markiere dafür einfach in Editor "Addtextbox" und drück F1, dann bekommst du die Hilfe dazu.

VG

Tobi

Sub test()
Dim lgEnde
Dim Zelle
Dim sprung
Dim i
Dim TB

With Worksheets("Tabelle1")

lgEnde = .Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To lgEnde
sprung = Application.CentimetersToPoints(i)
Set TB = .Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100 + sprung, 200, 50)
    
    With TB
    
    .TextFrame2.TextRange.Characters.Text = Worksheets("Tabelle1").Cells(i, 1)
    .TextFrame2.TextRange.Font.Fill.ForeColor.ObjectThemeColor = msoThemeColorBackground1
    .Fill.ForeColor.RGB = RGB(0, 0, 0)
    .Line.DashStyle = msoLineDashDotDot
    .Line.ForeColor.RGB = RGB(0, 0, 0)
   
    End With
  
Set TB = Nothing

Next i

End With
End Sub



  

Betrifft: AW: Zellwert in Textfeld von: Tom
Geschrieben am: 18.11.2012 14:42:51

DANKE !!!!


 

Beiträge aus den Excel-Beispielen zum Thema "Zellwert in Textfeld"