nederlandse dagnotatie op engelse office

Status
Niet open voor verdere reacties.

titsken

Gebruiker
Lid geworden
14 dec 2009
Berichten
7
Ik heb een soort kalender gemaakt om mijn shiftshema te kunnen afdrukken voor alle jaren die ik kies maar op het werk staat er een Engelse office op de pc's. In mijn kalender gebruik ik de verkorte versie van de dagnototie nl "ma, di, wo, do,...) maar op de Engelse pc wordt dit dan omgezet naar " mon, thu, wed, ..." maar dan werkt in mijn macro men voorwaardelijke opmaak niet meer en passt het niet meer op men afdruk. Zie code.
Code:
Range("AE8:AE9").FormatConditions.Delete
    Range("AE8:AE9").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="=""zo"""
    Range("AE8:AE9").FormatConditions(1).Interior.ColorIndex = 16
    Range("AE8:AE9").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="=""za"""
    Range("AE8:AE9").FormatConditions(2).Interior.ColorIndex = 16
    Range("AE8:AE9").FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ISfout($AE$8:$AE$9)"
    Range("AE8:AE9").FormatConditions(3).Font.ColorIndex = 1
    Range("AE8:AE9").FormatConditions(3).Interior.ColorIndex = 1

hoe kan ik dit oplossen? Ik wil steeds de Nederlandse notatie krijgen indien mogelijk.
 
titsken,

Ik weet het niet zeker maar probeer dit eens.

Code:
[AE8:AE9].Formula = "zo"
 
titsken,

Ik weet het niet zeker maar probeer dit eens.

Code:
[AE8:AE9].Formula = "zo"

Zo simpel is het helaas niet, mijn kalender wordt aangepast aan de hand van de gekozen ploeg en het jaartal dus achter de notatie "za, zo, ..." staat wel een datum en dit wordt in de Engelse dus office omgezet. Ik zou op een of andere manier al de dagen in het Engels moeten kunnen laten opzoeken en dan laten omzetten naar de Nederlandse notatie.
 
titsken,

Als ik de formule in een Module zet werkt hij.
Heb je al geprobeerd om het met de macro recorder op te nemen?
 
Ik zal het ik men code plaatsen en morgen op het werk op de Engelse pc's eens uittesten, maar dan zet hij volgens mij toch maar gewoon "zo" in die cel en maakt het voor hem niet uit welke dag er zou moeten staan.
 
Ik zal het ik men code plaatsen en morgen op het werk op de Engelse pc's eens uittesten, maar dan zet hij volgens mij toch maar gewoon "zo" in die cel en maakt het voor hem niet uit welke dag er zou moeten staan.
Ik denk dat je daar gelijk in heb.
Kun je hier wat mee?

With Sheets("Conversie").Range("K:L")
.Replace "Sun ", "zo", xlValue, xlPart
End With
 
Dat kan al beter lukken.
Dit is nog iets wat ik geprobeerd heb maar niet werkt omdat voor de macro za of zo eigenlijk een datum is denk ik.
Code:
Sub vervang()
    Range("C6").Select
    ActiveCell.CurrentRegion.Select
        Selection.Replace what:="Mon", replacement:="ma"
        Selection.Replace what:="Thu", replacement:="di"
        Selection.Replace what:="wed", replacement:="wo"
        Selection.Replace what:="tur", replacement:="do"
        Selection.Replace what:="fri", replacement:="vr"
        Selection.Replace what:="sat", replacement:="za"
        Selection.Replace what:="sun", replacement:="zo"
    Range("B5").Select
End Sub
 
Ik heb in men code eens alles omgedraaid en geprobeerd alles naar de Engelse notatie om te zetten en dit lukt ook niet. Het is dus wel degelijk het probleem dat die "ma" eingenlijk een datum is, het is enkel een andere opmaak van het datumformaat. Als ik in een cel gewoon manueel "ma" heb getypt zet hij het wel mooi om naar "Sun".
 
Laatst bewerkt:
titsken,

Zet deze code achter het blad, pas het bereik aan.
Als je nu op het blad dubbelklikt moet hij het veranderen.
Hij zet toch alleen "sun" zonder de " neer?

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  With Range("K:L")
    .Replace "sun", "zo", xlValue, xlPart
    .Replace "sat", "za", xlValue, xlPart
    .Replace "mon", "ma", xlValue, xlPart    
  End With
End Sub

Als het niet lukt, zou ik het niet verder weten.
 
Laatst bewerkt:
Ik denk dat ik het probleem ongeveer heb opgelost.

Als ik de datum ( in weekdagnotatie (za, zo, ma,...)) omzet naar zijn seriële getal en dit deel door 7 en hiervan de restwaarde opvraag dan krijg ik een getal van 0 tot en met 6 waarbij elk getal staat voor een weekdag
formule = REST(seriëledatum;7)
nu wil ik dus voor elke cel in mijn range die restwaarde controleren met de formule, en dan in diezelfde cel de overeenkomstige weekdag plaatsen.
Ik heb niet gevonden hoe ik dit moet doen.

Kan er nog iemand mij helpen hiermee?

Alvast bedankt voor de moeite.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan