jetzt verstehe ich die Excel Welt gar nicht mehr
01.07.2023 12:03:27
Christian
https://www.herber.de/bbs/user/159783.xlsm
ich habe jetzt zuerst dieses Makro benutzt
Option Explicit
Private Sub Workbook_Open()
With Sheets(1).Range("F1") 'Tabellenblattindex, die 1 in (), anpassen, wenn Kontrolldatum in anderem Tabellenblatt stehen soll; Zelle A1 anpassen, wenn Kontrolldatum in anderer Zelle stehen soll
If .Value > Date Then
.Range("D1").Interior.Color = RGB(Range("B1").Value, Range("B2").Value, Range("B3").Value)
.Range("F1").Value = Date
Else
ThisWorkbook.Close False
End If
End With
End Sub
und wie du siehst noch eine Zeile eingefügt, damit auch weiterhin das gemacht wird, was schon vorher beim Öffnen der Datei gemacht wurde (und auch vorher funktioniert hat, daher ist das bislang bei dieser Anfrage nicht zur Sprache gekommen)- Aber da steht doch Range("F1").Value = Date das Datum wird aber in K1 geschrieben, sowie .Range("D1").Interior.Color es wird jedoch statt D1 die Zelle I1 gefärbt und dazu noch in einer Farbe, die nicht dem Farbcode aus Spalte B entspricht.
Das Problem mit den falschen Zellen habe ich jetzt noch beheben können, indem ich das Makro etwas umgeschrieben habe:
Option Explicit
Private Sub Workbook_Open()
With Worksheets("Tabelle1")
If .Range("F1").Value > Date Then
.Range("D1").Interior.Color = RGB(Range("B1").Value, Range("B2").Value, Range("B3").Value)
.Range("F1").Value = Date
Else
ThisWorkbook.Close False
End If
End With
End Sub
Aber das Farbproblem besteht immer noch, die Füllfarbe entspricht nicht den Farbcodes in Spalte B, wie als wenn die Zufallszahlen nach dem Füllen der Zelle nochmals neu berechnet werden. Das war vorher, als das das Füllen der Zelle das einzige war was das Startmakro gemacht hat, kein Problem, da war die Farbe mit den Zahlen identisch.
Habe es dann noch mit
Option Explicit
Private Sub Workbook_Open()
With Worksheets("Tabelle1")
If .Range("F1").Value > Date Then
.Range("D1").Interior.Color = RGB(Range("B1").Value, Range("B2").Value, Range("B3").Value)
Application.Calculation = xlCalculationManual
.Range("F1").Value = Date
Else
ThisWorkbook.Close False
End If
End With
End Sub
probiert, dann wurden auch die richtigen Zahlen angezeigt.
Aber ein Problem ist noch übrig, das ich nicht lösen konnte. Das Makro schließt die Arbeitsmappe, aber nicht Excel, es bleibt ein leeres Excel Fenster offen.
Gruß
Christian