Clever-Excel-Forum

Normale Version: Farbiger Text aus TextBox übertragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

folgendes Problem auf das ich gestoßen bin.
Ich habe in einer UserForm eine TextBox in der ein farbiger Text steht und diesen würde ich gerne per Button in eine Tabelle übertragen.

Mein bisheriger Weg:
....
Case Farbe1 = True                                              'Farbe anhand der ausgewählten Checkbox 
 TextBox2.ForeColor = RGB(0, 0, 255)
....

Dann mit einem Klick auf einen Button sollte er den Text aus der TextBox im Beispielfall Blau übertragen.


Sheets("Farbcode-Generator").Cells(10, 4).Value = TextBox2.text 

(so überträgt er den Text immer in schwarz und ich komme nicht drauf wie er das farbig überträgt)



Kann mir da jemand helfen?
Ich wäre euch sehr verbunden.


Grüße 
bergaa
Hallo,

Formate lassen sich so nicht übertragen. Lade mal eine Beispieldatei hoch, dann können wir weiter sehen.
[attachment=38404]

Hier die Beispiel-Datei und Danke schonmal :)
Hallo, 19

habe mir deine Beispieldatei nicht angeschaut, aber schau mal: 21
[attachment=38407]
Vielen Dank 

Es funktioniert genauso wie ich es mir vorgestellt habe.  Big Grin



(Ein Dank geht natürlich auch an Klaus-Dieter)
Ich hätte noch ein weiteres Anliegen das sozusagen das alte mit einschließt und zwar:

Wenn er jetzt den Wert bunt übertragen hat soll er beim nächsten Übertragen bzw. schon beim ersten übertragen schauen ob in der Zelle bereits etwas steht. 
Wenn nichts in der Zelle enthalten ist soll der Wert dorthinein kopiert werden, wenn bereits etwas in der Zelle steht soll er eine Spalte weiter springen.

Mein Ansatz:

Private Sub Übertragen_Click()

Dim zahl As integer

zahl = 4

Do
If IsEmpty(Tabelle1.Cells(10, zahl).Value) = True Then
With ThisWorkbook.Worksheets("Farbcode-Generator").Cells(10, zahl)
    .Value = TextBox2.text
    .Font.Color = TextBox2.ForeColor
    .Font.Bold = TextBox2.Font.Bold
End With
Else
    zahl = zahl + 1
End If
Loop While IsEmpty(Tabelle1.Cells(10, zahl).Value) = False


End Sub


Er überträgt den ersten Wert, sobald aber ein zweiter folgt bleibt die Zelle rechts daneben leer.
Das übertragen der farbigen Text und ob sie in Fett geschrieben sind oder nicht funktioniert auch.


Vielen Dank nochmal 

Gruß bergaa
Hallo, 19

nach diesem Prinzip: 21
[attachment=38415]
Das hat schon mal gut funktioniert, vielen Dank dafür :)

With .Cells(1, .Cells(1, Columns.Count).End(xlToLeft).Column + 1)

diese Zeile in deinem Code gibt mir die Ausgabe dann in Zeile B1 aus.
Wenn ich folgendes ändere:

With .Cells(10, .Cells(1, Columns.Count).End(xlToLeft).Column + 1)

schreibt er es mir in zelle B10.
Ich hätte es aber gerne in Zelle D10. 
Da ich ein wenig rumprobiert habe aber heute einfach mein Kopf nicht so will wie ich möchte wäre ich Dir sehr dankbar wenn du mir da auch noch helfen könntest.

LG
bergaa
Hallo, 19

wenn du in D10 anfangen möchtest, wenn es leer ist und weiter nach rechts, dann so: 21
[attachment=38419]
Vielen vielen Dank, es funktioniert jetzt genauso wie ich mir das ausgedacht hatte.