Hej excel använder väl en pallett så du får nog så snällt testa dig fram till vilket nummer som är svart Roggan har korrekt. Excel har en fast palette som du får använd dig av, dvs du anger färgerna med ett heltal från 1 och uppåt. Jag vet att RGB(0,0,0) ger svart färg, och att man när man vill fylla hela cellen kan skriva: För det första borde väl frågan ligga i Office-forumet, då det är det det handlar om mest. ColorIndex=0 är alltid svart som default. Först av allt, tack för svaren. Som jag tydligt skrev i mitt första inlägg så var jag inte säker på var det här inlägget skulle ligga. Sedan läste jag noga alla svar, men jag ber om ursäkt för att jag faktiskt inte fattade palett-svaret. Sarkasm (eller vad det nu var) är inte särskillt snällt mot oss ovetande!Excel
Jag vet inte om den här frågan ska ligga här eller under Office, men jag testar här.
Jag är verkligen ute på djup vatten...
Jag exporterar data till ett Excelark, och det fungerar bra, men sedan ska det vara en svart tjock linje som avgränsar vissa rader. Jag använder den "ram" man kan ha runt sina celler. Det fungerar nästan... Eller i alla fall verkar det så. Problemet man min svarta tjocka linje är gul!
Jag har provat att sätta Color på MÅNGA olika sätt, men det bryr sig Excel inte om... I koden nedan försöker jag inte ens sätta Color till något, för jag har egentligen ingen aning om hur man gör.
Private Sub svartaLinjer(ByRef rng_line As Excel.Range, ByRef ThisWorkbook As Excel.Workbook)
Const STYLE_NAME_LINE As String = "PropertyBorderLine"
Dim sty_line As Excel.Style
Try
sty_line = ThisWorkbook.Styles(STYLE_NAME_LINE)
Catch
sty_line = ThisWorkbook.Styles.Add(STYLE_NAME_LINE)
End Try
sty_line.Font.Bold = True
sty_line.Borders.Item(Excel.XlBordersIndex.xlEdgeBottom).Weight = xlThick
sty_line.Borders.Item(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = xlDouble
rng_line.Style = STYLE_NAME_LINE
rng_line.Columns.AutoFit()
End Sub
Som vanligt tacksam för alla förslag!
/A-KSv: Excel
Sv: Excel
Sv: Excel
sty_line.Interior.Color = ColorTranslator.ToOle(Color.Black)
men inget av dem fungerar. En del av de varianter jag testat är:
sty_line.Borders.Item(Excel.XlBordersIndex.xlEdgeBottom).Color = ColorTranslator.ToOle(Color.Black)
sty_line.Borders.Item(Excel.XlBordersIndex.xlEdgeBottom).Color = RGB(0,0,0)
sty_line.Borders.Color = ColorTranslator.ToOle(Color.Black)
sty_line.Borders.Color = RGB(0,0,0)
Inget av dem fungerade för mig. Jag tänker att jag kanske gör något annat fel som jag inte fattar, för det här är inget jag gjort förut och jag har letat i timmar på webben utan att hitta något som exakt passar in på det här.
/A-KSv: Excel
För det andra: Läste du inte vad Andreas och Roggan skrev?
Du kan inte använda den principen, då färgen är på en pallett. Det är därför ingen av dem funkar.
Det absolut enklaste sättet att få fram färgen är att spela in ett makro i Excel som gör just det du vill, kolla på koden, och sen sno delen av koden som styr färgen.
Om du till exempel skulle skriva rgb(255,255,255), så borde du få vitt, eller hur?
Jag tror att du kommer få en krasch om du skriver så.Sv: Excel
Detta borde därför fungera:
<CODE>
rng_Line.Borders.ColorIndex = 0
</CODE>
/PelleSv: Excel
Hur som helst så har jag löst mitt problem.
Jag hade ju gjort en Excel.Style som jag försökte använda. Nu vet jag inte om det är för att jag har en annan Excel.Style (med ett annat namn) som jag använder på rader som jag vill ska ha svart bakgrund, men min svarta tjocka linje började fungera när jag istället använde den här koden:
Private Sub svartaLinjerl(ByVal radraknare As Integer, ByRef ThisApplication As Excel.Application)
ThisApplication.Range("A" & CStr(radraknare), "L" & CStr(radraknare)).Select()
ThisApplication.Selection.Borders(xlEdgeBottom).Weight = xlThick
ThisApplication.Selection.Borders(xlEdgeBottom).ColorIndex = xlAutomatic
End Sub
För mig som inte är speciellt van att hålla på med sådan här programmering så tycker jag att det ser ut att vara två olika sätt att göra samma sak, men tydligen är det skillnad.
/A-K