1.2k Aufrufe
Gefragt in Tabellenkalkulation von
Bearbeitet von halfstone
Hallo,

gibt es die Möglichkeit eine Text in der vba Textbox durch setzten des Hakens in der Checkbox Rot einzufärben?

Habe ein Liste erstellt in der die Eingaben des Userform immer wenn der Eintrag übernommen wird in eine freie Zeile schreibt.

vielleicht das noch zu Info.

Gruß

Markus

20 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Markus,

probiere es mal so:

Private Sub CheckBox1_Click()

Dim MyForm As MSForms.TextBox

Set MyForm = UserForm1.TextBox1

With MyForm

If CheckBox1 = True Then
    .ForeColor = RGB(255, 0, 0)      'Farbe rot, Haken gesetzt
  Else
    .ForeColor = RGB(0, 0, 0)      'Farbe schwarz, Haken nicht gesetzt
End If

End With

End Sub

Den Namen der Userform und der Textbox musst du natürlich noch anpassen.

Gruß

M.O.

0 Punkte
Beantwortet von

Private Sub CheckBox71_Lage_Click()   = hier kommt fehler ist Gelb hinterlegt wenn ich es starte!!!

Dim MyForm As MSFroms.TextBox

Set MyForm = Lagemeldung.TextBox2_Lagemeldung

With MyForm


If CheckBox71_Lage = True Then
   .ForeColor = RGB(255, 0, 0)   'Farbe rot, Haken gesetzt
 Else
   .ForeColor = RGB(0, 0, 0)      'Farbe schwarz, Haken nicht gesetzt
   
End If

End With

End Sub

0 Punkte
Beantwortet von
Hallo M.O.,

Textfeld heißt = TextBox2_Lagemeldung

CheckBox heißt = CheckBox71_Lage

hab ich da was falsch eingetragen?

Grüße

Markus
0 Punkte
Beantwortet von
Hatte ein Schreibfehler drin.

Wird jetzt in der Textbox Rot angezeigt. Wenn ich es aber in mein Tabellenbaltt übernehmen ist es nicht rot.

Gruß

Markus
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Markus,

ist die Textbox in einer Userform oder in einem Tabellenblatt?

Die Setanweisung musst du so aufbauen:

Set MyForm = Name der Userform / Name der Tabelle.Name der Textbox

Beachte auch, dass du den Namen angibst, der in den Objekteigenschaften im VBA-Editor steht.

Gruß

M.O.
0 Punkte
Beantwortet von
Die Textbox ist in der Userform
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Markus,

dass der Text im Tabellenblatt auch rot gefärbt werden soll, davon war nicht die Rede.
Das musst du machen, wenn du den Inhalt der Textbox in die Tabelle schreibst.
Beispiel:
With Cells(1, 1)
 .Value = Lagemeldung.TextBox2_Lagemeldung.Text
 .Font.Color = vbRed
End With
Gruß
M.O.
0 Punkte
Beantwortet von
Hi M.O.,

da hab ich mich vielleicht falsch ausgedrückt. Das muss dann in den Code für die TextBox oder?

Gruß

Markus
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Markus,

ich weiß leider gerade nicht, was du eigentlich willst.

Du hattest geschrieben:

Wird jetzt in der Textbox Rot angezeigt. Wenn ich es aber in mein Tabellenbaltt übernehmen ist es nicht rot.

Darauf hatte ich dann oben geantwortet.

Der Code gehört in den Teil, in dem du die Daten von deiner Userform in das Tabellen überträgst. Natürlich soll der Text im Tabellenblatt nur dann rot sein, wenn er es auch in der Checkbox ist. Daher hier der Codeteil mit einer entsprechenden Abfrage:

With Cells(1, 1)
 .Value = Lagemeldung.TextBox2_Lagemeldung.Text
 If Lagemeldung.CheckBox71_Lage = True Then .Font.Color = vbRed
End With

Gruß

M.O.

0 Punkte
Beantwortet von
Meinst die hier rein? Haben ein button für die übernahmen von der Userform in das Tabellenblatt erstellt.

Private Sub Button_Take_Click()

'Erste freie Zeile ausfindig machen

Dim last As Integer

last = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1

'Zeitpunkt der Meldung einfügen
ActiveSheet.Cells(last, 2).Value = Now

'Lagemeldungen übernehmen
ActiveSheet.Cells(last, 5).Value = TextBox2_Lagemeldung
...