Hallo Gemeinde,
ich finde die Ursache für die Meldung im Betreff nicht.
Den Code zwischen den beiden rem - N E U - Zeilen habe ich zuletzt eingefügt, davor ging alles was gehen sollte. Auch der EventListener…
Im Prinzip soll eine ansich gesperrte Zelle (Anzahl Gepäck) erst für die Eingabe entsperrt werden, wenn in einer Zelle (Anzahl Passagiere) daneben eine Zahl>0 steht, einfach um dem User das Weiterschalten zur nächsten Zelle mit TAB zu erleichtern.
rem ####################################################################################
rem Poolingart prüfen und bei „Gesamt“ die sortierten Gewichte einblenden
Sub CELL_chartDataChanged
oDoc = thisComponent
oDoc.LockControllers 'Bildschirmupdate reduzieren
oSheets = oDoc.getSheets()
oSheet = oSheets.getByName(„XBAG“)
ocell0 = osheet.getCellbyposition(0,0) 'Anzahl der Veränderungen in Zelle A1
oCell1 = oSheet.getCellbyposition(4,48) 'E49 Pooling-Auswahl (Zähler)
ocell2 = oSheet.getCellbyposition(5,45) 'F46 Gepäckstücke Gesamt
ocell3 = osheet.getCellbyposition(3,12) 'D13 Reiseklasse
ocell31= osheet.getCellbyposition(3,13)
ocell32= osheet.getCellbyposition(3,14)
ocell33= osheet.getCellbyposition(3,15)
ocell4 = osheet.getCellbyposition(3,18) 'D19 Strecke
ocell41= osheet.getCellbyposition(3,19)
ocell42= osheet.getCellbyposition(3,20)
ocell43= osheet.getCellbyposition(3,21)
oSL0paxe = osheet.getCellbyposition(3,37) 'D38 Paxe SL0
oSL1paxe = osheet.getCellbyposition(3,39)
oSL2paxe = osheet.getCellbyposition(3,41)
oSL3paxe = osheet.getCellbyposition(3,43)
oSL0bags = osheet.getCellbyposition(5,37) 'F38 Bags SL0
oSL1bags = osheet.getCellbyposition(5,39)
oSL2bags = osheet.getCellbyposition(5,41)
oSL3bags = osheet.getCellbyposition(5,43)
rem — N E U — N E U — N E U — N E U — N E U — N E U — N E U — N E U
oSL0lock = oSL0bags.cellprotection 'die Zellschutzobjekte der Bags-Felder
oSL1lock = oSL1bags.cellprotection
oSL2lock = oSL2bags.cellprotection
oSL3lock = oSL3bags.cellprotection
if oSL0paxe.value > 0 then
oSL0lock.IsLocked = false
odoc.currentcontroller.select(oSL0bags) else oSL0lock.IsLocked = true 'Zellschutz aufheben, wenn Paxe>0
if oSL1paxe.value > 0 then
oSL1lock.IsLocked = false
odoc.currentcontroller.select(oSL1bags) else oSL1lock.IsLocked = true
if oSL2paxe.value > 0 then
oSL2lock.IsLocked = false
odoc.currentcontroller.select(oSL2bags) else oSL1lock.IsLocked = true
if oSL3paxe.value > 0 then
oSL3lock.IsLocked = false
odoc.currentcontroller.select(oSL3bags) else oSL1lock.IsLocked = true
oSL0bags.cellprotection = oSL0lock 'Zellschutzobjekt zurückschreiben
oSL1bags.cellprotection = oSL1lock
oSL2bags.cellprotection = oSL2lock
oSL3bags.cellprotection = oSL3lock
msgbox oSL1lock.islocked
rem — N E U — N E U — N E U — N E U — N E U — N E U — N E U — N E U
'zählt die Veränderungen bei der Eingabe, bei 5 wird Blatt automatisch geschützt
counter = ocell0.value
counter = counter + 1
ocell0.value = counter
if ocell0.value = 5 then
ocell0.value = 0
call dokumentschuetzen
end if
'Ermitteln der Anzahl der nötigen Gewichtsfelder abhängig von Gepäckanzahl
if ocell2.value > 13 then Spalten = 30+(ocell2.value-13)*2 '.getrows '(startSpalte, startZeile, endSpalte, endZeile)
if ocell2.value 13 then oRange.isvisible = true
'Ausblenden
if ocell2.value ocell31.value or ocell3.value ocell32.value or ocell3.value ocell33.value then ocell3.value = ocell31.value
if ocell4.value ocell41.value or ocell4.value ocell42.value or ocell4.value ocell43.value then ocell4.value = ocell41.value
'Bildschirmupdate normal setzen
oDoc.UnlockControllers
end Sub
rem ####################################################################################
Ich habe mEn alle if-then-else-endif-Regeln beachtet und vermute die Fehlerursache im neu eingefügten (einkopiert und angepasst) Teil, habe aber keine Ahnung wo der Fehler sein soll.
LG, Masl