Hallo,
Ja, ich sehe jetzt was schief läuft...
OK, Du warst nun ganz bestimmt nicht faul und jeder macht am Anfang Fehler, bloß um Himmels Willen so schreibt man doch keine Makros.
Also es wäre nun schon trotzdem so gegangen wie Dir Thomas geraten hat, aber so kannst/solltest Du das nicht lassen.
Da das so sehr viel Code ist und ich keinen Fehler machen wollte habe ich erstmal nur den Code für Spalte B bis U neu geschrieben, ich nehme an das Andere bekommst Du dann auch selbst hin.
Der folgende Code macht genau das was Dein Makro (Deine Makros) für Spalte B bis U machen:
Code: Alles auswählen
Sub Main
dim document as object
Dim oSheets as Object
Dim oSheet as Object
Dim zelle as Object
oSheets = ThisComponent.Sheets
oSheet = oSheets.getByName("Noten")
x = 0: y = 0
For i = 1 to 20
For j = 1 to 13
zelle = oSheet.getCellByposition(i, j)
select case zelle.Value
case 0
r = 255: g = 255: b = 255
case < 1
x = x + 1
r = 0: g = 0: b = 0
case > 6
y = y + 1
r = 0: g = 0: b = 0
case <= 1,49
r = 0: g = 174: b = 0
case <= 2,49
r = 138: g = 255: b = 0
case <= 3,49
r = 230: g = 255: b = 0
case <= 4,49
r = 255: g = 218: b = 0
case <= 5,49
r = 255: g = 138: b = 0
case <= 6
r = 255: g = 0: b = 0
End select
zelle.CellBackcolor = RGB(r,g,b)
Next j
Next i
If x+y = 1 Then
msgbox "In der Deutschen Notengebung ist diese Note (siehe schwarzes Feld) nicht Vorhanden!!!!"
elseif x+y > 1 Then
msgbox "In der Deutschen Notengebung sind diese Noten (siehe schwarze Felder) nicht Vorhanden!!!!"
End if
End Sub
Du siehst es ist soviel kürzer das Du jetzt wahrscheinlich erschrocken bist bei der Arbeit die Du Dir gemacht hast.
Einzig das mit den Meldungsfenstern habe ich mal gleich geändert, sonst kommen ständig Fenster wenn viele falsche Werte da sind.
Ich würde sagen:
Sei doch bitte so freundlich und schau Dir meinen Code an und versuche dann Deinen restlichen Code entsprechend anzupassen und dann meldest Du Dich bei Fragen einfach wieder und wenn der Code fertig ist können wir das dann noch mit der Schaltfläche machen (im Moment zittert das ganze Bild wegen des mouse-over-Ereignisses).
Ja, also Du warst sehr fleißig und bist hoffentlich nicht zu sehr enttäuscht wie unnötig das war.
Gruß
Stephan