Ich habe ein Excel-Blatt, das ich in eine MySQL-Datenbank zu bekommen versuche.
Die Sache ist, dass einige Zellen Zeichenfolgen haben, die durch Kommas getrennt sind, und auf der einen Seite des Kommas ist die Zeichenfolge schwarz, auf der anderen Seite ist sie blau (oder umgekehrt und es kann mehr Kommata und Zeichenfolgen in der Zelle geben).
was ich versucht habe
Ich kann die Strings mit der Funktion Split
in VBA extrahieren, aber die Formatierung der Zeichenfolge wird dadurch verloren.
Ich kann die Farbe einer Zelle mit Range("mycell").Font.ColorIndex
erhalten, aber das gibt NULL
zurück, wenn mehr als eine Farbe in der Zeichenfolge ist.
Ist es möglich, alle Farben einer Zeichenfolge zu erhalten?
Beispiel: Eine Zelle könnte die folgende Zeichenfolge enthalten
"W345, PO3244, 12309"
1. (W345) wäre schwarz (colorindex -4105),
2. (PO3244) wäre blau (colorindex 47)
3. (12309) wäre rot (Farbindex 3).
Ich würde .Font.Color
verwenden, um die RGB-Werte zu entfernen, aber Sie können es auch in ColorIndex ändern, wenn Sie möchten.
Sie können diese Strategie anpassen:
%Vor%Sie können Folgendes verwenden und dann ein Wörterbuch / eine Sammlung / ein Array erstellen, um die Farben zu speichern und nur eindeutige Werte oder die für Ihre Situation passende Lösung beizubehalten. Dies zeigt nur, wie Sie auf alle Farben zugreifen können.
%Vor%