Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Recente berichten

Pagina's: [1] 2 3 4 ... 10
1
Excel / Re: VBA : split en replace
« Laatste bericht door MollyVH Gepost op Vandaag om 18:11:37 »
@ Margriet,

Daar is nooit enige vraag naar geweest, maar dat terzijde.

in A1: 7/12/4022
in B1: 11/7/3302
in C1: =A1-B1 geeft 263124

Jouw natte vinger werkt echt heel matig (262976) en ik zag meteen waarom.
Ik zou ook niet weten waarom je daar zo een lange(re) code voor schrijft als dit volstaat.
Sub molly()
d1 = "11/7/1302"
arr = Split(d1, "/")
arr(2) = arr(2) + 2000
dagen = DateSerial(Year(Date) + 2000, Month(Date), Day(Date)) - CDate(Join(arr, "/"))
End Sub
2
Excel / Re: VBA : split en replace
« Laatste bericht door BlackDevil Gepost op Vandaag om 18:02:34 »
@Molly,

Uiteraard   ;D anders had ik het hier niet geplaatst  ;)

groetjes,
BlackDevil
3
Excel / Re: VBA : split en replace
« Laatste bericht door MollyVH Gepost op Vandaag om 17:57:08 »
Hoi BlackDevil,

Dat is vlug :thumbsup:
Is 't goed als ik het ook nog eens test? :)

Groetjes,
Molly
4
Excel / Re: programma voor opmaken voetbalkalender
« Laatste bericht door MollyVH Gepost op Vandaag om 17:50:58 »
@ Margriet,
Zoals wel vaker heb je niet begrepen of niet willen begrijpen wat ik wou aantonen, namelijk dat we geen websites nodig hebben om gemakkelijk iedereen tegen iedereen te laten spelen.
En waar ze dat doen, daar wil ik me, TS' communicatie indachtig, echt geen zorgen over maken. Ik noemde mijn werkstukje daarom ook een basis om, voor wie dat wil, mee verder te bouwen.
5
Excel / Re: VBA : split en replace
« Laatste bericht door BlackDevil Gepost op Vandaag om 17:46:37 »
*****UPDATE*****

Hey Molly,


Na succesvol testen van alle mogelijke scenario's is dit mijn eindresultaat :

Sub datums()
  '----- locatie datumveld met onmiddellijke omzetting "/" naar "-"
  dat = Replace("9/01/1945", "/", "-")
  '----- aanmaak array voor datumveld
  If UBound(Split(dat, " ")) = 0 Then
    deel = ""
    arr_dat = Split(dat, "-")
  Else
    deel = Split(dat, " ")(0) & " "
    arr_dat = Split(Split(dat, " ")(1), "-")
  End If
  If deel = "circa " Then deel = "ca. "
  '----- als datum zelf uit drie delen bestaat checken en eventueel aanpassen aantal cijfers dag-deel
  If UBound(arr_dat) = 2 Then dag = arr_dat(0)
  If Len(dag) = 1 Then arr_dat(0) = "0" & dag
  '------ gecorrigeerde waarde
  dat = deel & Join(arr_dat, "-")
End Sub


groetjes,
BlackDevil
6
Excel / Re: programma voor opmaken voetbalkalender
« Laatste bericht door Margriet1932 Gepost op Vandaag om 17:32:06 »
@Molly,
Meestal noem je de ontbrekende speler dan "BYE".
Wat je daar netjes omschrijft is wat al die sites die je een "Robin tournement" enkel of dubbel, aanbieden. Dat heeft dus niets met excel te maken, het is gewoon eerst random je namen uit de pot halen en dan die namen volgens een strak schema x keer wegschrijven. Het is pas als je in de problemen komt met je locaties, zie Club en Cercle Brugge kunnen niet gelijktijdig thuis spelen, dat je moet beginnen nadenken. 
7
Excel / Re: VBA : split en replace
« Laatste bericht door Margriet1932 Gepost op Vandaag om 17:17:00 »
rekenen met datums van voor 1900 maar na 100 v.C. kan makkelijk door er 2.000 jaar bij te tellen en dan met die datums te werken. Natuurlijk zijn er ergens in de Gregoriaanse kalender wel eens een paar keer dagen overgeslagen ivm. schrikkeljaren om de lente terug op 21 maart te krijgen, maar grof gerekend kan het er door.

Sub test()
     d1 = "11/7/1302"     'Guldensporenslag
     d2 = Format(Date, "mm/dd/yyyy")     'vandaag
     arr = DagenPre1900(d1, d2)
     MsgBox "het aantal dagen en werkdagen (zonder feestdagen) sinds de Guldensporenslag is " & vbLf & Format(arr(0), "#,###") & vbLf & Format(arr(1), "#,###"), vbInformation, UCase("natte vinger")
End Sub

Function DagenPre1900(sDatum1, sDatum2)
     Dim arr(1)
     sp1 = Split(sDatum1, "/")
     sp2 = Split(sDatum2, "/")
     arr(0) = CDbl(-DateSerial(sp1(2) + 2000, sp1(1), sp1(0)) + DateSerial(sp2(2) + 2000, sp2(1), sp2(0)))
     arr(1) = WorksheetFunction.NetworkDays_Intl(DateSerial(sp1(2) + 2000, sp1(1), sp1(0)), DateSerial(sp2(2) + 2000, sp2(1), sp2(0)))
     DagenPre1900 = arr
End Function
8
Excel / Re: programma voor opmaken voetbalkalender
« Laatste bericht door MollyVH Gepost op Vandaag om 16:56:10 »
@ allen,

Een beetje met de schrik om het hart stap ik ook maar eens in dit draadje :(

Heeft er al eens iemand geprobeerd om, laten we zeggen ZES spelers (maar dat kunnen dus ook teams zijn :D) zo in te delen dat iedereen één keer tegen iedereen moet spelen?
Dat is vanzelfsprekend een eitje, maar al wat moeilijker wordt het als iedereen telkens tegelijk aan het spelen moet zijn. Als je daar zomaar manueel aan begint loop je gauw vast.

Daarom hierbij een tamelijk universeel bruikbaar bestandje waarin ik, om de logica achter de formules (enkel simpele celverwijzingen) duidelijk te maken, het al heb gedaan voor 4, 6 en 8 spelers. Dit moet door iedereen gemakkelijk uit te breiden zijn naar een willekeurig aantal spelers.
Op rij 1 komt het aantal spelers en daarmee wordt op rij 2 berekend hoeveel wedstrijden er gespeeld moeten worden en dus tot waar de formules moeten reiken. In de gele vakken worden de spelers gezet, hier manueel gedaan maar kunnen uiteraard ook uit een lijstje komen. Om het uit te breiden naar meer dan 8 spelers best 2 nieuwe kolommen toevoegen, voldoende gele en groene rijen voorzien, de formules in de groene cellen zetten zoals in de voorbeelden, en dat ganse groene blok kopiëren zo ver als nodig.
En moet het nog gezegd? Voor een oneven aantal spelers één van de namen vervangen door een voor zichzelf sprekende tekst ('---', 'xx', 'vrij'…)

Ik heb zeker niet het idee TS hiermee van dienst te zijn, maar het kan misschien een basis zijn waarmee men vele kanten uit kan. Dus wat mij betreft moet het niet bij voetbal blijven, het mag ook worden gebruikt voor tennis, darts of schaken 0:-)

Mvg,
Molly
9
Excel / Re: VBA : split en replace
« Laatste bericht door BlackDevil Gepost op Vandaag om 14:58:31 »
Hey Molly,

Trouwens, alle datums, uit eender welke eeuw, die door een tekst worden voorafgegaan zijn ook gewoon tekst en kan je op dezelfde manier aanpakken.
Als er bv. een woord voor staat dat mag behouden blijven kan je dat ook onmiddellijk laten staan, en degene die moeten wijzigen met een 'replace' regelen, m.a.w. enkel de datums die door Excel als dusdanig worden beschouwd zullen een andere werkwijze vereisen, maar dat lukt wel?

Inderdaad, dat bedoelde ik met mijn zeer uitgebreide uitleg  ;D

En ja, ik denk wel dat ik met jouw voorbeeldje  _/-\o_ :thumbsup: al voor een groot stuk verder kan. Het is zoals je zegt een klein beetje puzzelwerk en dan vooral de juiste volgorde in elkaar puzzelen voor het uitfilteren van de diverse uitzonderingen met hun respectievelijke verwerking :-).

Ik ga er alvast mee aan de slag en als ik toch problemen tegen kom dan laat ik het hier wel eventjes weten.

groetjes,
BlackDevil
10
Excel / Re: programma voor opmaken voetbalkalender
« Laatste bericht door Margriet1932 Gepost op Vandaag om 14:56:48 »
bon, discussie over het geslacht van de engelen  :'(...

Beste Jos, ben je door 1 of meerdere bijdragen al met je neus richting een oplossing komen te staan ?
Zo ja welke, en wat scheelt er nog aan als prille start ?
Pagina's: [1] 2 3 4 ... 10


www.combell.com