abonnement Unibet Coolblue
  dinsdag 16 januari 2007 @ 21:16:14 #76
85514 ralfie
!Yvan eht nioj
pi_45419086
@Chav: zet eens een spatie tussen 'sub' en 'knop' op die regel

@meeldraad: dat kan niet in een keer, wel met een tussencel
Als je de datum in cel C9 invoert:
1=DATUM(DEEL(C9;5;4);DEEL(C9;3;2);DEEL(C9;1;2))

die andere functie moet je nog "" om ja en nee zetten, aldus
1=ALS(F16>DATUMWAARDE("31-12-1947");"ja";"nee")

als je de eerste formule in F16 heb gezet

mocht je deze datum nergens anders nodig hebben, kun je het ook in 1 keer doen
1=ALS(DATUM(DEEL(C9;5;4);DEEL(C9;3;2);DEEL(C9;1;2))>DATUMWAARDE("31-12-1947");"ja";"nee")


EDIT: of wat arcee zegt
  FOK!-Schrikkelbaas dinsdag 16 januari 2007 @ 21:18:53 #77
862 Arcee
Look closer
  dinsdag 16 januari 2007 @ 21:36:26 #78
85514 ralfie
!Yvan eht nioj
pi_45419890
quote:
Op dinsdag 16 januari 2007 21:18 schreef Arcee het volgende:
Nederlandse versies.
ach, 't was gratis
  dinsdag 16 januari 2007 @ 22:02:25 #79
165854 Meeldraad
Lekker doorstampen
pi_45420930
Oké, via Celeigenschappen => aangepast => 00-00-0000 krijg ik wel automatisch streepjes, maar dan herkent ie het niet als datumwaarde. En als ik dan inderdaad overal waar in een rekencel B3 staat dit neerzet: DATUMWAARDE(TEKST.SAMENVOEGEN(LINKS(B3;2);"-";DEEL(B3;3;2);"-";RECHTS(B3;4)) dan rekent ie er mee, maar omdat overal te veranderen is echt, echt een ontzettend @#$$-werk (excuse my French). Bovendien leiden kleine vertikkingen in B3 tot vreemde uitkomsten, omdat ie 'm niet automatisch als datum herkent. Het is een oplossing, dus dank voor de inspiratie en als het niet simpeler kan dan wordt dit inderdaad dé oplossing, maar ideaal is het niet. Zou het niet te regelen zijn via een macro??

Het enige wat die macro feitelijk moet doen is die cel als datum aanmerken en er streepjes zetten als ze er nog niet staan, staan ze er wel, dan moet ie ze laten staan en er geen rare dingen meedoen. Iets zegt me dat dit met een simpele macro moet kunnen. Maar aangezien ik daar helemaal niet in thuis ben, kan ik ook wel voorgelogen worden...
Contemnunt spinam cum rosae deliberant
  FOK!-Schrikkelbaas dinsdag 16 januari 2007 @ 22:09:07 #80
862 Arcee
Look closer
pi_45421157
=ALS(B3>DATUM(1947,12,31);"ja";"nee")

Dat werkt niet?

Je kunt wel rechtstreeks met die datum in B3 werken, hoor. Daar heb je niet die tussenstap voor nodig.
  FOK!-Schrikkelbaas dinsdag 16 januari 2007 @ 22:10:58 #81
862 Arcee
Look closer
pi_45421217
quote:
Op dinsdag 16 januari 2007 22:02 schreef Meeldraad het volgende:
Oké, via Celeigenschappen => aangepast => 00-00-0000
Dat moet dd-mm-jjjj zijn, niet die nullen.
  woensdag 17 januari 2007 @ 00:47:45 #82
165854 Meeldraad
Lekker doorstampen
pi_45426122
Als ik ipv 00-00-0000 er dd-mm-jjjj van maak voegt ie niet automatisch streepjes toe. En ik kan inderdaad wel rechtstreeks met een DATUM in B3 werken, maar dan wel een datum zonder streepjes. Wil ik iets met automatisch toegevoegde streepjes dan kan dat dus alleen via aangepast en 00-00-0000, maaar dan herkent ie het niet automatisch als datum. Het is echt tenenkrommend!

Voor wie het wil uitproberen zet ik hieronder twee bewerkingen van cellen die uit m'n sheet komen:

B3 => celeigenschappen => aangepast => 00-00-0000
B4 =>
1=ALS((C7+C8+F8-F9+F10)>0;ALS(OF(b3=0;b3>DATUMWAARDE("31-12-1941"));1990;P5);0)


Om automatisch streepjes te krijgen in B3 als je 31121941 intypt, moet in elke rekencel waar een datumvergelijking komt, B3 vervangen worden door: DATUMWAARDE(TEKST.SAMENVOEGEN(LINKS(B3;2);"-";DEEL(B3;3;2);"-";RECHTS(B3;4))). Dus dan krijg je

B4 =>
1=ALS((C7+C8+F8-F9+F10)>0;ALS(OF(B3=0;DATUMWAARDE(TEKST.SAMENVOEGEN(LINKS(B3;2);"-";DEEL(B3;3;2);"-";RECHTS(B3;4)))>DATUMWAARDE("31-12-1941"));1990;P5);0)


Maar stel dan dat je 731121941 invoert per ongeluk dan krijg je wel een antwoord in de rekencel, terwijl de datum niet juist is. Dit is ook weer niet de bedoeling, dat leidt tot werken met foutieve informatie. (Overigens nu ik het nog een keer probeer krijg ik wel een foutmelding wat in dit geval wenselijk is, zodat je niet met die foutieve info doorwerkt). En als je er al wél gelijk streepjes tussen typt, snapt ie er weer niks van. Maar goed, op zich werkt ie zo wel enigszins, maar hier moet toch een elegantere oplossing voor zijn...
Contemnunt spinam cum rosae deliberant
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 01:04:13 #83
862 Arcee
Look closer
pi_45426407
Voer je de datum wel als datum in B3 in?

Dus bijvoorbeeld vandaag invoeren als 1/17/2007 en dat Excel 't dan afbeeldt als 17-01-2007 door dd-mm-jjjj bij celeigenschappen in te vullen.

Dus niét 17-01-2007 intypen, want dan maakt Excel er een tekst-type van.

[ Bericht 0% gewijzigd door Arcee op 17-01-2007 01:15:24 ]
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 01:18:30 #84
862 Arcee
Look closer
pi_45426451


Dit zou 't toch moeten zijn. In de linker kolom een rij willekeurige datums die als datum zijn ingevoerd en als dd-mm-jjjj worden afgebeeld. In de tweede kolom de formule zoals ik 'm al een paar keer heb genoemd (deze is alleen in het Engels). Geen tussencellen met extra formules nodig dus.
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 01:26:33 #85
862 Arcee
Look closer
pi_45426558
Of wil je het per se ook met streepjes in kunnen voeren?
  woensdag 17 januari 2007 @ 09:23:22 #86
15967 Frollo
You know I am a righteous man
pi_45428888
quote:
Op woensdag 17 januari 2007 01:26 schreef Arcee het volgende:
Of wil je het per se ook met streepjes in kunnen voeren?
Hij wil het juist zonder streepjes invoeren, ik denk dat daar het probleem zit.

Want stel dat ik '112007' invoer, hoe moet Excel dan weten of ik a) 1 januari 2007 bedoel, b) een datum in november 2007 waarvan ik de dag vergeten ben in te voeren, of c) een elfde dag ergens in 2007 waarvan ik de maand vergeten ben?
pi_45430007
Het handigste is denk ik een extra kolom toe te voegen naast B3 met de onderstaande formule zodat in die kolom je streepjesdatum komt.

=DATE(MOD(B3;10000);((MOD(B3;1000000)-MOD(B3;10000))/10000);TRUNC(B3;-6)/1000000)

of in het nederlands (volgens http://cherbe.free.fr/traduc_fonctions_xl97.html)

=DATUM(REST(B3;10000);((REST(B3;1000000)-REST(B3;10000))/10000);GEHEEL(B3;-6)/1000000)

Vervolgens de kolom ernaast de functie
=ALS(C3>DATUM(1947;12;31);"ja";"nee")

Het kan zijn dat ; vervangen moet worden door , maar dat verschilt per taal wat trouwens de grootste stommiteit is die MS ooit heeft begaan, net als het vertalen van alle functies in de spreadsheet.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  woensdag 17 januari 2007 @ 10:22:02 #88
15967 Frollo
You know I am a righteous man
pi_45430147
quote:
Op woensdag 17 januari 2007 10:17 schreef Deetch het volgende:
dat verschilt per taal wat trouwens de grootste stommiteit is die MS ooit heeft begaan, net als het vertalen van alle functies.
Het gekke is dat als je een bestand tussen verschillende taalversies uitwisselt, dus bijvoorbeeld in een Engelse Excel een bestand maken en in een Nederlandse Excel weer inlezen, dat de vertaling van de functies en de leestekens gewoon goed gaat.
Hij KAN het dus wel! Maar waarom kan ik dan in mijn Nederlandse Excel niet gewoon meteen =SUM(A1:B1) intypen als ik dat zou willen?
pi_45430252
Je kunt kolom B fixeren op een tekstlengte van 8 tekens. data validatie, tekstlengte, min 8, max 8.

Dan moet je echter de formule in C3 ook aanpassen naar:
=DATUM(REST(WAARDE(B3);10000);((REST(WAARDE(B3);1000000)-REST(WAARDE(B3);10000))/10000);GEHEEL(WAARDE(B3);-6)/1000000)
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45430409
quote:
Op woensdag 17 januari 2007 10:22 schreef Frollo het volgende:

[..]

Het gekke is dat als je een bestand tussen verschillende taalversies uitwisselt, dus bijvoorbeeld in een Engelse Excel een bestand maken en in een Nederlandse Excel weer inlezen, dat de vertaling van de functies en de leestekens gewoon goed gaat.
Hij KAN het dus wel! Maar waarom kan ik dan in mijn Nederlandse Excel niet gewoon meteen =SUM(A1:B1) intypen als ik dat zou willen?
omdat MS "klantvriendelijk" wil zijn voor gebruikers zonder enige voorkennis en de functies graag intuititef wil laten aanvoelen. Zodra je echter al programmeerkennis hebt of in een andere taal hebt gewerkt ben je dus mooi zuur.
Met Excel95 (geloof ik) was het zelfs zo erg dat de visual basic in excel ook vertaald was.

dan kreeg je dus macro met "indien .. dan .. anders" etc, gelukkig zijn ze daar snel van afgestapt. Ik meen mij te herinneren dat er wel een spreadsheet was waarin de functies vertaald werden. Ik zal eens even zoeken.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45431040
Gratis vertaal plugin voor excel functies. Je krijgt een werkbalk met de functie in je geinstalleerde taal, de functie in een andere taal en een taalkeuze. Je kunt dus alle functies van en naar je geinstalleerde taal naar een andere taal vertalen.

http://members.chello.nl/jvolk/keepitcool/files/TranslateIT.zip
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  woensdag 17 januari 2007 @ 11:00:35 #92
15967 Frollo
You know I am a righteous man
pi_45431171
quote:
Op woensdag 17 januari 2007 10:30 schreef Deetch het volgende:

[..]

omdat MS "klantvriendelijk" wil zijn voor gebruikers zonder enige voorkennis en de functies graag intuititef wil laten aanvoelen.
Wat lief van MS!

Toch blijft het typisch dat ik niet zelf Engelse functies kan typen in mijn Nederlandse Excel, want dan houdt hij zich van den domme, maar dat hij diezelfde functies ineens wel begrijpt bij het inlezen.
quote:
Zodra je echter al programmeerkennis hebt of in een andere taal hebt gewerkt ben je dus mooi zuur.
Met Excel95 (geloof ik) was het zelfs zo erg dat de visual basic in excel ook vertaald was.

dan kreeg je dus macro met "indien .. dan .. anders" etc, gelukkig zijn ze daar snel van afgestapt.
Juist. Hier op het werk hebben we nog steeds af en toe macro's nodig die in Word 95 zijn geschreven, in fraai Nederlands WordBasic dus, en nu heb ik pas geleden te taak gekregen om dat om te zetten naar VBA. Leuke klus.
quote:
Op woensdag 17 januari 2007 10:55 schreef Deetch het volgende:
Gratis vertaal plugin voor excel functies. Je krijgt een werkbalk met de functie in je geinstalleerde taal, de functie in een andere taal en een taalkeuze. Je kunt dus alle functies van en naar je geinstalleerde taal naar een andere taal vertalen.

http://members.chello.nl/jvolk/keepitcool/files/TranslateIT.zip
Zo, da's handig!
  woensdag 17 januari 2007 @ 11:05:52 #93
85514 ralfie
!Yvan eht nioj
pi_45431289
een andere mogelijkheid is via een worksheet_onchange macro. wordt wel wat makkelijker om niet legale datums in te voeren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A1:A100"), Target) Is Nothing Then
        On Error GoTo wrong
        Dim vale As String
        For Each cell In Target
            If Not Len(cell.Value) = 10 And Not Len(cell.Value) = 0 Then
                vale = cell.Value
                cell.Value = Left$(vale, 2) & "-" & Mid$(vale, 3, 2) & "-" & Right$(vale, 4)
                vale = DateValue(cell.Value)
            End If
        Next cell
    End If
    Exit Sub
wrong:
    MsgBox "De ingevulde waarde: '" & vale & "' is geen geldige datum!"
End Sub
Het enige wat je moet doen is de range ("A1:A100") aanpassen aan jouw wensen en de cellen in deze range de TEXT-NOTATIE geven, anders werkt het niet.

Mocht de macro vastlopen, gebruik dan ctr+pause/break. Hij kan in een oneindige lus komen omdat de macro de celwaarde aanpast en deze aanpassing de macro zelf weer oproept
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 11:12:50 #94
862 Arcee
Look closer
pi_45431469
quote:
Op woensdag 17 januari 2007 09:23 schreef Frollo het volgende:
Hij wil het juist zonder streepjes invoeren, ik denk dat daar het probleem zit.

Want stel dat ik '112007' invoer, hoe moet Excel dan weten of ik a) 1 januari 2007 bedoel, b) een datum in november 2007 waarvan ik de dag vergeten ben in te voeren, of c) een elfde dag ergens in 2007 waarvan ik de maand vergeten ben?
Ja, daarom zei ik ook voer 't als datum in:
quote:
Op woensdag 17 januari 2007 01:04 schreef Arcee het volgende:
Voer je de datum wel als datum in B3 in?

Dus bijvoorbeeld vandaag invoeren als 1/17/2007 en dat Excel 't dan afbeeldt als 17-01-2007 door dd-mm-jjjj bij celeigenschappen in te vullen.

Dus niét 17-01-2007 intypen, want dan maakt Excel er een tekst-type van.
Dat kun je uitproberen door het veld iets breder te maken. Als je de datum invoert en het wordt naar rechts uitgelijnd dan is het een datum, blijft het links staan dan is het tekst en niet goed dus.



16-10-1934 is dus niet als datum ingevoerd, de rest wel.
  woensdag 17 januari 2007 @ 13:22:05 #95
165854 Meeldraad
Lekker doorstampen
pi_45435225
@ Deetchs oplossing:
Andere cellen gebruiken zijn geen goede optie, het is te bewerkelijk. Kolommen toevoegen ook niet want ik wil met minimale invul van data, maximale overzichtelijkheid.

@ Arcees oplossing:
Celeigenschappen => aangepast => dd-mm-jjj. Dit is hoe ik het nu ook laat werken, maar dit leidt niet tot de automatische tussenvoeging van streepjes.

@ Ralphies oplossing:
Hoe maak ik een worksheet_onchange macro? Dit is hoe ik het geprobeerd heb: Extra => Macro => Nieuwe macro opnemen => naamgeven, OK => stopknop. Vervolgens in Macro's bewerken heb ik alles geselecteerd en jouw scriptje eroverheen geplakt. Daarna heb ik A1:A100 vervangen door B3 (aangezien er maar een cel is waarin je de geboortedatum moet invullen). Misschien heb ik een fout gemaakt, maar het resultaat is in ieder geval geen streepjes en de rekencellen rekenen er niet mee. Een voorbeeld van een rekencel is dit:

1=ALS((C23+C24+F24-F25+F26)>0;ALS(OF(B3=0;B3>DATUMWAARDE("31-12-1947"));1894;P22);0)


Als ik nu in bijv C23 19000 invul en in B3 30061950 invul, zou er dus 1894 moeten komen te staan.

Maar ik ben wel meer en meer tot de overtuiging gekomen dat een macro de oplossing is. Ik heb feitelijk maar drie eisen aan wat die macro moet kunnen:

1. Als ik in een cel 31121947 invoer, moet er automatisch 31-12-1947 komen te staan.
2. Als ik er 31-12-1947 invoer, moet dat ook herkend worden en moet er 31-12-1947 blijven staan.
3. De cel moet als datumwaarde gelden.

Vereiste 2 is een bonus als het lukt, maar de minst belangrijke van de drie. Als de heren excelgoeroes zich eens in die richting zouden willen experimenteren... :s)
Contemnunt spinam cum rosae deliberant
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 13:25:13 #96
862 Arcee
Look closer
pi_45435331
quote:
Op woensdag 17 januari 2007 13:22 schreef Meeldraad het volgende:
@ Arcees oplossing:
Celeigenschappen => aangepast => dd-mm-jjj. Dit is hoe ik het nu ook laat werken, maar dit leidt niet tot de automatische tussenvoeging van streepjes.
Voer je de datum wel als echte datum in? Dus niét 31121947, maar 12/31/1947, of hoe die Nederlandse versie van Excel het ook maar wil hebben.

Ik zou 't gewoon als datumveld invoeren. Dan maakt Excel er zelf wel 31-12-1947 van.

Nogmaals:



Datums zijn als datum ingevoerd en worden correct met streepjes afgebeeld.
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 13:31:06 #97
862 Arcee
Look closer
pi_45435511
In mijn Engelse versie zien de celeigenschappen van de datumvelden er zo uit:



Misschien moet jij ook yyyy gebruiken? In ieder geval 4 letters, in je post noemde je er 3 (jjj).

Maar in de Nederlandse versie zou het dd-mm-jjjj moeten zijn, lijkt me.
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 13:42:16 #98
862 Arcee
Look closer
pi_45435900
quote:
Op woensdag 17 januari 2007 13:25 schreef Arcee het volgende:
Datums zijn als datum ingevoerd en worden correct met streepjes afgebeeld.
Wat je kunt zien als ik op zo'n cel sta:



04-02-1919 is dus ingevoerd als 2/4/1919.
  woensdag 17 januari 2007 @ 13:43:03 #99
165854 Meeldraad
Lekker doorstampen
pi_45435918
Haha, nee mijn jaartelling is begonnen met de Vrede van Munster en dus is het pas 358 n.VvM en heb ik maar drie j's nodig..... Oké, oké, het was een foutje....
Maar inderdaad celeigenschappen => aangepast => dd-mm-jjjj. Maar die slashforwards zijn niet echt een oplossing, want dan kan ik net zo goed gelijk streepjes neerzetten. Nee, het is me er juist om te doen om zo snel mogelijk een datum in te kunnen voeren door 31101947 in te vullen en dat excel er dan vervolgens zélf een datumwaarde met streepjes van maakt.
Contemnunt spinam cum rosae deliberant
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 13:47:57 #100
862 Arcee
Look closer
pi_45436090
quote:
Op dinsdag 16 januari 2007 22:02 schreef Meeldraad het volgende:
Oké, via Celeigenschappen => aangepast => 00-00-0000 krijg ik wel automatisch streepjes, maar dan herkent ie het niet als datumwaarde. En als ik dan inderdaad overal waar in een rekencel B3 staat dit neerzet: DATUMWAARDE(TEKST.SAMENVOEGEN(LINKS(B3;2);"-";DEEL(B3;3;2);"-";RECHTS(B3;4)) dan rekent ie er mee, maar omdat overal te veranderen is echt, echt een ontzettend @#$$-werk (excuse my French).
Dan was dit toch gewoon goed?

Je moet die formule dan af en toe even kopiëren. Dat kun je makkelijk doen door te dubbelklikken op het kleine vierkantje rechtsonderin de cel die je wilt kopiëren.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')