• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

numberformat voor maanden voor een excelversie <2016

cow18

Terugkerende gebruiker
Lid geworden
24 mei 2008
Berichten
4.621
Besturingssysteem
Windows
Office versie
Excel365
ik zoek even iemand die nog op een oude versie van excel werkt. Blijkbaar zou op dergelijke versie de onderstaande macro geen goed resultaat aanmaken, in plaats van een array zou die enkel één string maken. Ik kan het niet testen, dus welke goed ziel wil dit even doen. Vermoedelijk moet aMois1 in de fout gaan en misschien ook aMois2.
En zeg ook even op welke versie je het gedaan hebt, de oudste krijgt een bonus.🍰

Code:
Sub M_test()
     Dim aMois1, aMois2
     aMois1 = Evaluate(Replace("text(28*column(a1:L1),""#mmmm"")", "#", "[$-nl-nl]"))     'créer liste des mois
     aMois2 = Evaluate(Replace("text(28*column(a1:L1),""#mmmm"")", "#", "[$-413]"))     'créer liste des mois
     MsgBox Join(aMois1, vbLf)
     MsgBox Join(aMois2, vbLf)
End Sub
 
Code:
Sub M_snb()
   MsgBox Join([transpose(text(date(2026,row(1:12),1),"[$-413]mmmm"))], vbLf)
   MsgBox Join(Application.GetCustomListContents(4), vbLf)
   For j = 1 To 12
      c00 = c00 & MonthName(j) & vbLf
   Next
   MsgBox c00
End Sub

Ik betwijfel of de versie van Excel ertoe doet bij deze codes.
Getest op een Engelstalige versie 2010; wellicht anders bij een Vlaamstalige ? ;)
 
Laatst bewerkt:
ik dacht ook dat het versie-onafhankelijk was, maar het was zo'n "Jan met een korte achternaam", die het altijd beter weet, die zei dat het niet werkte op oudere. Maar nu ga ik sommigen tegen de borst stoten, wie gebruikt er nog versie ouder dan 2016 ?
En het was eigenlijk om voor tig talen te gebruiken, dus de "getcustomlistcontents" is nauwelijks van toepassing.
Toch bedankt.
 
Getest in Excel 2010.
Deze doet het ook nog steeds:
Code:
Sub M_snb()
   For j = 1 To 12
      c00 = c00 & Format(DateSerial(2026, j, 1), "mmmm") & vbLf
   Next
   MsgBox c00
End Sub

Maar ook het numberformat (de opmaak van de cel) funktioneert vlekkelings in allerlei talen.
 
Laatst bewerkt:
voor die versie 2010, moet je die nog opstarten met een zwengel of gaat dat ook al vlotter ?:cool:
Het ging er hem vooral over die evaluate-formules die van slag (array vs string) waren bij oudere versies en in 1 speciale uithoek van Frankrijk. Grappig, maar net die hoek die je ook in de strips van Asterix en Obelix tegenkomt. Het zal te maken hebben met die toverdrank van de druîde .
 
De code in jouw openingsvraag is fout, omdat je er in evaluate een array van moet maken: de gebeurt bijv. met transpose of index. Het heeft niets met de Excelversie te maken maar met de foutieve code. Die replace is, zoals je uit mijn voorbeeldcode kunt zien overbodig.

Code:
Sub M_test()
    MsgBox Join(Evaluate(Replace("transpose(text(28*row(1:12),""#mmmm""))", "#", "[$-413]")), vbLf)
' of
    MsgBox Join(Evaluate("transpose(text(28*row(1:12),""[$-413]mmmm""))"), vbLf)
End Sub

De specifikatie [$-nl-nl] werkt niet in Excel 2010; dan krijg ik slechts de engelstalige maandnamen.
Bericht automatisch samengevoegd:

De code in jouw openingsvraag is fout, omdat je er in evaluate een array van moet maken: dat gebeurt bijv. met transpose of index. Het heeft niets met de Excelversie te maken maar met de foutieve code. Die replace is, zoals je uit mijn voorbeeldcode kunt zien overbodig.

Code:
Sub M_test()
    MsgBox Join(Evaluate(Replace("transpose(text(28*row(1:12),""#mmmm""))", "#", "[$-413]")), vbLf)
' of
    MsgBox Join(Evaluate("transpose(text(28*row(1:12),""[$-413]mmmm""))"), vbLf)
End Sub

De specifikatie [$-nl-nl] werkt niet in Excel 2010; dan krijg ik slechts de engelstalige maandnamen.
 
Terug
Bovenaan Onderaan