Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 07:42:19
Kasimir
Hallo an alle!
Ich habe da ein Problem, bzw. eine Frage ob das was ich vorhabe überhaupt realisierbar ist. Angehängt habe ich mal eine Beispieldatei mit meinem momentanen Stand.
https://www.herber.de/bbs/user/84375.xlsm
Wenn man den Button im Tabellenblatt betätigt, öffnet eine UserForm mit einem Listenfeld. In das Listenfeld werden die Namen aus dem Bereich A25:A45 eingelesen. Außerdem lese ich in Spalte 1 der ListBox die Schriftfarben der Namen ein und es wird, sollte bereits in Zelle C25 etwas stehen, dieses in der ListBox markiert.
Betätigt man den Button in der UserForm, so werden die markierten Namen in Zelle C25 geschrieben. Das funktioniert bestens.
Wie man sehen kann, haben die Namen in Spalte A bestimmte Schriftfarben. Ich möchte nun die Farben der Namen mit in Zelle C25 übernehmen. Das habe ich auch schon versucht. Allerdings erhalte ich immer nur zwei Farben. Alles bis auf den letzten Namen erhält die Farbe von Teilnehmer 1, und der letzte Name erhält eine die richtige Farbe.
Meine Frage nun, geht das, was ich mir vorgestellt habe, also dass alle Namen in Zelle C25 die Schriftfarbe erhalten, wie diese in Spalte A vorhanden sind? Wenn das gehen sollte, wie stelle ich das an?
Danke Euch für Eure Hilfe,
Kasimir

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 07:58:16
Hajo_Zi
Hallo Kasimir,
Du musst alle Farben mit einmal zuweisen in der Art.
    With Range("C25")
.Characters(Start:=1, Length:=6).Font.Color = -16727809
.Characters(Start:=7, Length:=4).Font.Color = -16776961
.Characters(Start:=11, Length:=10).Font.Color = -16727809
.Characters(Start:=21, Length:=8).Font.Color = -16776961
.Characters(Start:=29, Length:=2).Font.Color = -16727809
.Characters(Start:=31, Length:=6).Font.Color = -14130609
End With

AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 08:03:43
Kasimir
Hallo Hajo!
Danke Dir für Deine Antwort. Dein Lösungsvorschlag funktioniert sicherlich. Allerdings stehen bei Dir ja feste Zahlen für Start und Length. Bei mir ist dies Variabel, da ich nicht vorher weiß, welche Namen ich auswähle. Wie setze ich dass denn nun für mein Vorhaben um?
Gruß,
Kasimir

Anzeige
AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 08:05:46
Hajo_Zi
Hallo Kasimir,
ich baue Dein Beispiel nicht um. Du musst die werte auf ein Array schreiben und Ubound()
Gruß Hajo

AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 08:12:41
Kasimir
Hallo Hajo!
Ich habe auch nicht verlangt, dass Du mein Beispiel umbauen sollst. Aber ist Dir eventuell mal die Idee gekommen, dass man ein paar Probleme hat, wenn mein Level (VBA nur mit Makrorecorder) nicht so ist wie Deiner, Deinen Vorschlag umzusetzen? Aus diesem Grund (niedriger Level) frage ich hier und dachte auch hier Hilfe zu bekommen. Das ist doch das Prinzip eines Forums? Wenn Du allerdings davon ausgeht, dass hier alle Deinen Level haben müssen, glaube ich, hast Du das Prinzip "Forum" nicht verstanden.
Sorry, dass ich mir Luft mache, aber das musste sein.
Eventuell gibt es hier ja jemanden anderes, dem es nichts ausmacht, sich mit meiner Testdatei zu beschäftigen und seine Lösungsvorschläge darauf bezieht?
Gruß,
Kasimir

Anzeige
AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 08:34:31
Hajo_Zi
Hallo Kasimir,
wir warten hier nich alle nur auf Deine Frage um da zig Zeit zu investieren. Es soll auch Leute geben die noch was anderes zu tun haben.
Gruß Hajo

AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 08:46:30
Kasimir
Hallo Hajo,
sorry, aber warum antwortest Du auf Beiträge, wenn Du gar keine Zeit hast, Dich damit zu beschäftigen. Wenn Du keine ausführliche Hilfe geben willst bei Leuten die sich noch nicht so gut mit VBA auskennen, dann las es doch einfach gleich bleiben und ignoriere solche Beiträge. Mir hilft es jedenfalls nicht weiter, wenn man mir ein paar Fetzen zuwirft, mit denen ich im Moment nichts anfangen kann, weil mir das Wissen fehlt.
Ich hoffe doch, dass es hier im Forum noch Helfer gibt, die Zeit haben und sich auch mit Leuten beschäftigen, die nicht den gleichen Wissensstand haben wie der Helfer selber? Denn Hajo hat ja keine Zeit und möchte sein Wissen nicht so richtig hergeben.
Gruß,
Kasimir

Anzeige
AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 09:12:18
Erich
Hi Kasimir,
probier mal

Private Sub CommandButton2_Click()
Dim i             As Integer
Dim jj            As Integer
Dim strText       As String
Dim lngFontColor  As Long
Dim intStart      As Integer
Dim intLength     As Integer
Dim arrLen()      As Long
ReDim arrLen(ListBox1.ListCount - 1, 1)
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
strText = strText & ", " & ListBox1.List(i)  ' hänge Wort an
arrLen(jj, 0) = Len(ListBox1.List(i))        ' merke Länge
arrLen(jj, 1) = ListBox1.List(i, 1)          ' merke Farbe
jj = jj + 1
End If
Next i
Range("C25") = Mid(strText, 3, Len(strText)) ' Text wird einmalig geschrieben
intStart = 1
For i = 0 To jj - 1                          ' Farbe wird stückweise gesetzt
Range("C25").Characters(Start:=intStart, _
Length:=arrLen(i, 0)).Font.Color = arrLen(i, 1)
intStart = intStart + arrLen(i, 0)
Next i
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Namen mit Farbe aus LisBox in Zelle eintragen?
15.03.2013 09:29:09
Kasimir
Hallo Erich!
Suuuper, danke Dir. Das war der hilfreiche Tipp. Ich musste zwar noch in der Zeile
arrLen(jj, 0) = Len(ListBox1.List(i)) ' merke Länge
die Länge mit "+ 2" am Ende, wegen dem Komma und dem Leerzeichen zwischen den Namen, verlängern, aber ansonsten ist das genau so, wie ich es mir vorgestellt habe.
Wünsche Dir noch einen schönen Tag,
Kasimir

Danke für deine Rückmeldung, und ...
15.03.2013 18:59:09
Erich
Hi Kasimir,
... natürlich hatte ich das mit den 2 Stellen für Komma und Leerzeichen absichtlich weggelassen
(aus didaktischen Gründen). ;-))
Na ja - ich wusste aber auch nicht, ob sich die Farbe eines Kommas nach dem Wort vor
oder dem Wort nach dem Komma richten soll. :-)
Danke für deine Wünsche, auch hier eine Retoure: Ich wünsch dir ein schönes Wochendende!
Rückmeldung ist nicht nötig, fehlt bei dir nie - Grüße aus Kamp-Lintfort von Erich
Anzeige

362 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige