mispelhage
Gebruiker
- Lid geworden
- 27 okt 2010
- Berichten
- 53
hoi,
deze vraag ging vooraf door een vraag in het excel-forumdeel. Inhoudelijk werkt het op excel, maar ik krijg het niet werkend in LibreOffice Calc.
https://www.helpmij.nl/forum/showthread.php/963339-gebruik-van-celwaarde-met-kleurcode-voor-celkleur?highlight=openoffice
De opdracht is om de lijst met HTML kleurcoden ( https://nl.wikipedia.org/wiki/Lijst_van_HTML-kleuren ) te gebruiken om in een spreadsheet de celkleur te definiëren. Dus als ik een bloemensoort, bijvoorbeeld Aster, met in de kolom 'kleur' de waarde 'violetblauw' heb ingevoerd, dan wil ik dat dat bepalend wordt voor de kleur van de cellen in de 12 kolommen daarachter (bloeimaanden).
Eén van de antwoorden heb ik als voorbeeldbestand bijgevoegd. Afgezien dat niet verwezen wordt naar de juiste kleurcode in tabblad 'Kleur', werkt deze zoals ik voor ogen had. De macro gaat als volgt:
Hoe zou je dit vertalen naar een macro taal die gebruikt wordt in LibreOffice Calc ?
deze vraag ging vooraf door een vraag in het excel-forumdeel. Inhoudelijk werkt het op excel, maar ik krijg het niet werkend in LibreOffice Calc.
https://www.helpmij.nl/forum/showthread.php/963339-gebruik-van-celwaarde-met-kleurcode-voor-celkleur?highlight=openoffice
De opdracht is om de lijst met HTML kleurcoden ( https://nl.wikipedia.org/wiki/Lijst_van_HTML-kleuren ) te gebruiken om in een spreadsheet de celkleur te definiëren. Dus als ik een bloemensoort, bijvoorbeeld Aster, met in de kolom 'kleur' de waarde 'violetblauw' heb ingevoerd, dan wil ik dat dat bepalend wordt voor de kleur van de cellen in de 12 kolommen daarachter (bloeimaanden).
Eén van de antwoorden heb ik als voorbeeldbestand bijgevoegd. Afgezien dat niet verwezen wordt naar de juiste kleurcode in tabblad 'Kleur', werkt deze zoals ik voor ogen had. De macro gaat als volgt:
Code:
Option VBASupport 1
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c2:n20]) Is Nothing Then
If Target.Count = 1 Then
If Target.Value = "x" Then
If Cells(Target.Row, 2) <> "" Then
With Sheets("kleur")
Set kleur = .[a2:a143].Find(Cells(Target.Row, 2).Value)
If Not kleur Is Nothing Then
Target.Interior.Color = kleur.Offset(, 2).Interior.Color
Else
MsgBox "De Nederlandstalige naam van de kleur staat niet in de lijst"
End If
End With
End If
Else
Target.Interior.Pattern = xlNone
End If
Else
Target.Interior.Pattern = xlNone
End If
Else
Target.Interior.Pattern = xlNone
End If
End Sub
Hoe zou je dit vertalen naar een macro taal die gebruikt wordt in LibreOffice Calc ?
Bijlagen
Laatst bewerkt: