1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Application.EnableEvents = False Dim Waarde As String If Not Intersect(Target, Range("A:A")) Is Nothing Then i = 0 Do i = i + 1 Waarde = Cells(i, 1).Value Waarde = Mid(Waarde, 1, Len(Waarde) - 3) Waarde = Val(Waarde) Cells(i, 1).Value = Waarde Loop Until Cells(i + 1, 1).Value = "" End If Application.EnableEvents = True End Sub |
En dan moet ik dit per cel invoegen?quote:Op vrijdag 3 april 2009 10:14 schreef DaFan het volgende:
Alt-F11, ga naar de Sheet waarin je de lijst plakt en plak dit in het witte gedeelte rechts:
[ code verwijderd ]
Verwijderd gewoonweg de laatste 3 karakters.
Nee. Dit is een code, geen formule!quote:Op vrijdag 3 april 2009 13:31 schreef kanovinnie het volgende:
[..]
En dan moet ik dit per cel invoegen?
Je kan ze importeren in word (samenvoegen) en daar de etiketlay-out e.d bepalen. Je kan ook kolommen aanwijzen.quote:Op vrijdag 3 april 2009 16:27 schreef Tim21 het volgende:
Hier Excel 2007, Nederlands.
Hoe kan ik uit een adressenbestand waarin de gegevens (logischerwijs) horizontaal zijn verwerkt per persoon, adresstickers stickers printen? Niet alle kolommen moeten verwerkt worden (Telefoon ed) en de cellen die nu naast elkaar staan moeten onder elkaar eruit komen.
Iemand?
Klikquote:Op vrijdag 3 april 2009 16:47 schreef Joooo-pi het volgende:
[..]
Je kan ze importeren in word (samenvoegen) en daar de etiketlay-out e.d bepalen. Je kan ook kolommen aanwijzen.
Ik zoek ff een linkje voor je op.
Excel help zegt mij ditquote:
Misschien dat dit werkt?quote:Dezelfde gegevens invoeren in andere werkbladen
Als u al gegevens op een werkblad hebt ingevoerd, kunt u de gegevens snel naar corresponderende cellen op andere bladen kopiëren.
Selecteer het blad dat de gegevens bevat en de bladen waar u de gegevens naartoe wilt kopiëren.
Selecteer de cellen met de gegevens die u wilt kopiëren.
Wijs naar de opdracht Doorvoeren in het menu Bewerken en klik op Naar groep.
Zoveel verstand heb ik er ook niet van, Waarschijnlijk is er een code waarmee je gegevens vanuit blad 1 in blad 2 kan zetten.quote:Op maandag 6 april 2009 08:52 schreef ruudtb205 het volgende:
Bedankt voor het meedenken, maar dat werkt niet. Ik heb het even uitgeprobeerd, maar Naar groep blijft bij mij grijs. Als ik de logica probeer te doorgronden lijkt me ok niet dat dit de oplossing is, want daarmee kopieer je het 1x naar een speciale kolom. Ik wil graag de kolom iedere maand opnieuw (met de nieuwe waarden) naar een volgende kolom hebben, en volgens mij kan dat niet op deze manier.
Ik denk dat je vraag te algemeen is. Het is meer een "project"quote:Op maandag 6 april 2009 08:23 schreef ruudtb205 het volgende:
Beste mensen,
Ik volg al een poos dit forum om een oplossing te vinden voor mijn probleem, maar ik kom er nog niet uit. Vooraf: ik gebruik Excel 2003, nederlandse versie.
Mijn vrouw werkt als gastouder en moet dus rekeningen versturen aan haar vraagouders. Daarvoor heb ik in Excel een formulier gemaakt waar de gegevens van de kinderen instaan en ze de uren per week kan invoeren.( Via een formule worden die uren opgeteld, en wordt er met een uurprijs een bedrag gemaakt, maar dat gebeurt in Word). Via samenvoegen worden deze gegevens in een Worddocument gezet en uitgeprint. Iedere maand worden de voorgaande gegevens overschreven, want de uiteindelijke rekeningen (waar alle gegevens ook in staan) worden ter controle bewaard. Werkt alemaal perfect.
Nu wilde ze alleen ook een jaaroverzicht geven aan de ouders. Daarvoor heb ik op blad 2 van de excelsheet 24 kolommen gemaakt, kolom A heeft als kop Namen (van de kinderen) en dan komen de kolommen januari uren, januari bedrag, februari uren, februari bedrag etc. Na december bedrag staat een kolom totaal uren en totaal bedrag. Die kolommen voeg ik dan weer samen in Word.
Nu kun je wel alles iedere maand kopieren en plakken speciaal doen, maar zo handig is mijn vrouw niet met Excel![]()
Het zou handig zijn als iedere maand de totaaluren van blad 1 naar de juiste kolom van de uren in blad2 overgezet zouden worden (het bedrag dat er bij hoort bereken ik dan weer met een simpele formule). Het schijnt te kunnen met een knop, of bij het wijzigen van het blad, maar ik kom er niet uit. Mag ik gebruik maken van jullie wijsheid om dit op te lossen? Ik weet een heel klein beetje van VB DotNet, maar code zelf schrijven is nog een brug te ver voor me......
Alvast bedankt voor het meedenken!
Je zou een schermafbeelding kunnen maken, met de knop printscreen (naast F12), die plakken in paint.quote:Op maandag 6 april 2009 14:15 schreef ruudtb205 het volgende:
OK, even wat informatie erbij. Ik ben misschien niet helemaal helder in mijn uitleg. Dat ik het snap wil niet zeggen dat het ook duidelijk is![]()
In blad 1 staan de kolomnamen voornaam, achternaam, adres, geboortedatum (+ nog een aantal soortgelijke tekstkolommen die verder alleen belangrijk zijn voor het samenvoegen in Word). Daarachter staan de kolommen week 1, week 2, week 3, week 4 en week 5. Hierin worden de uren per kind per week ingevoerd. Daarna komt een kolom met totaaluren: de som van week 1 t/m 5. Om die laatst kolom gaat het dus.
Alle kinderen hebben een eigen rij op werkblad 1, zo kun je keurig per week per kind invoeren. Als je klaar bent met invoeren heb je dus in de kolom Totaaluren een berekende waarde staan van het aantal uren dat een kind geweest is.
Op blad 2 staan de kolommen Naam kind, gevolgd door uren januari, bedrag januari, uren februari, bedrag februari etc. Na december volgt - zoals gezegd - totaal uren en totaal bedragen.De volgorde van de namen van de kinderen in de rijen is gelijk, m.a.w. als je kopieert en plakt vanuit de kolom totaaluren hoef je niet op een andere volgorde te letten (anders zou het wel eg ingewikkeld worden, denk ik)
Nu wil ik dus graag dat als ik de uren in de weekkolommen invul de uren die in de kolom totaaluren vanzelfin de juiste kolom (dus van de maand waar die uren over gaan) terecht komen. Normaal gesproken worden de uren ingevoerd in dezelfde maand dat ze gedraaid worden (al is dat soms op het nippertje.
Ik hoop dat het zo duidelijker is. Ik zou het voorbeeld wel ergens neer willen zetten, maar ik heb geen flauw idee hoe dat zou moeten op dit forum.
Schakel over naar '07, dan zijn de bestanden sowieso kleinerquote:Op maandag 6 april 2009 17:02 schreef sanger het volgende:
Ik heb een bestand in Excel dat nu 5 MB is. Kan ik dit ook verkleinen? Het is een werkbestand met een groot aantal regeltjes waar een sortering en subtotaal in is gegoten.
Excel '97 of 2003
Kijk deze plaatjes:quote:Op maandag 6 april 2009 14:15 schreef ruudtb205 het volgende:
OK, even wat informatie erbij. Ik ben misschien niet helemaal helder in mijn uitleg. Dat ik het snap wil niet zeggen dat het ook duidelijk is![]()
In blad 1 staan de kolomnamen voornaam, achternaam, adres, geboortedatum (+ nog een aantal soortgelijke tekstkolommen die verder alleen belangrijk zijn voor het samenvoegen in Word). Daarachter staan de kolommen week 1, week 2, week 3, week 4 en week 5. Hierin worden de uren per kind per week ingevoerd. Daarna komt een kolom met totaaluren: de som van week 1 t/m 5. Om die laatst kolom gaat het dus.
Alle kinderen hebben een eigen rij op werkblad 1, zo kun je keurig per week per kind invoeren. Als je klaar bent met invoeren heb je dus in de kolom Totaaluren een berekende waarde staan van het aantal uren dat een kind geweest is.
Op blad 2 staan de kolommen Naam kind, gevolgd door uren januari, bedrag januari, uren februari, bedrag februari etc. Na december volgt - zoals gezegd - totaal uren en totaal bedragen.De volgorde van de namen van de kinderen in de rijen is gelijk, m.a.w. als je kopieert en plakt vanuit de kolom totaaluren hoef je niet op een andere volgorde te letten (anders zou het wel eg ingewikkeld worden, denk ik)
Nu wil ik dus graag dat als ik de uren in de weekkolommen invul de uren die in de kolom totaaluren vanzelfin de juiste kolom (dus van de maand waar die uren over gaan) terecht komen. Normaal gesproken worden de uren ingevoerd in dezelfde maand dat ze gedraaid worden (al is dat soms op het nippertje.
Ik hoop dat het zo duidelijker is. Ik zou het voorbeeld wel ergens neer willen zetten, maar ik heb geen flauw idee hoe dat zou moeten op dit forum.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | col = 0 i = 1 Do i = i + 1 If Worksheets(2).Cells(1, i).Value = Worksheets(1).Range("E1").Value Then col = i Loop Until Worksheets(2).Cells(1, i).Value = "" If col = 0 Or col > 13 Then MsgBox "Maand niet gevonden!" Exit Sub End If Range("N3:N31").Select Selection.Copy Sheets(2).Select Worksheets(2).Cells(2, col).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Sheets(1).Select Range("B3:M31").Clear Range("A1").Select End Sub |
Maar dan vrget ik dus iedere week de helft.quote:Op maandag 6 april 2009 21:43 schreef Deetch het volgende:
tja daar kun je excel ook voor gebruiken. Ik zou gewoon pen en papier doen trouwens
Op zich geen slecht idee. Misschien gewoon op mijn laptop verder bewerken.quote:Op maandag 6 april 2009 17:13 schreef qu63 het volgende:
[..]
Schakel over naar '07, dan zijn de bestanden sowieso kleiner
Misschien dat het wel werkt (technisch gezien) maar praktisch is dat weer omslachtig (helaas).quote:Geen idee of het helpt om inverschillende tabbladen te werken eigenlijk..
Hoe je de data op blad 5 krijgt=quote:Op maandag 6 april 2009 21:34 schreef PPL het volgende:
Ik ben een standaard boodschappenlijstje aan het (proberen te) maken.
Op tabblad 1 tot en met 4 benoem ik de winkels.
Per winkel vul ik op het sheet in welke artikelen ik daar koop.
Daar wil ik dan op invullen hoeveel ik komende week van dat artikel nodig heb.
Op tabblad 5 wil ik dan een lijstje met wat ik moet kopen.
Gesorteerd per winkel en vervolgens categorie.
Dit zodat ik per winkel niet hoef te kris-krassen en niets vergeet en weer terug moet naar de vorige winkel.
Mijn gedachte is een macro en zoekende op actieve cellen met waarde groter dan 0 (want waarde 0 hoef ik niet te kopen) en dan tenslotte op tabblad 5 een sorteerfunctie.
Hoe kan ik dit het beste aanpakken.
Dit moet volgens mij wel al bestaan en ik heb geen zin en gen tijd om het wiel uit te vinden eerlijk gezegd.
Merci.
@Joooo-pi : Bedankt, dat ziet er uit als een heel goed begin. Ik ga eens even uitproberen of het precies doet wat ik wil. Als ik de code zo bekijk komt het in ieder geval een heel eind in de richting!quote:
Macro opnemen....quote:Op dinsdag 7 april 2009 10:23 schreef McGilles het volgende:
Ik zou graag een knop/hyperlink willen maken waarmee ik automatisch het geopende excel bestand als een bijlage in een mail krijg.
Natuurlijk kan ik via, 'bestand' --> 'verzenden naar' --> 'email adres (als bijlage)' dit voor elkaar krijgen, maar die optie wil ik dus graag in een knop/hyperlink.
Iemand hier zo snel de oplossing?
Graag ook gelijk een standaardemailadres ingevuld als het mogelijk is.
1 2 3 4 5 | Application.Dialogs(xlDialogSendMail).Show End Sub |
1 2 3 4 5 6 | - Oranjetopic - 122 - Tong80topic - 252 - DIG - iPhonetopic - 344 - UVT - Awakenings - 233 - Technotopic - 15 |
1 2 3 4 5 6 | Fok - VBL - Oranjetopic - 122 Fok - VBL- Tong80topic - 252 Fok - DIG - iPhonetopic - 344 Fok - UVT - Awakenings - 233 Fok - UVT - Technotopic - 15 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Dim ws As Worksheet j = 0 l = 1 For Each ws In Worksheets If ws.Name <> "Overzicht" Then i = 1 k = 0 Do i = i + 1 If ws.Cells(i, 2).Value > 0 Then If k = 0 Then Sheets("Overzicht").Range("A" & l).Value = ws.Name k = 1 End If Boodschap = ws.Cells(i, 1).Value Hoeveelheid = ws.Cells(i, 2).Value j = j + 1 l = l + 1 Sheets("Overzicht").Range("B" & j).Value = Boodschap Sheets("Overzicht").Range("C" & j).Value = Hoeveelheid End If Loop Until ws.Cells(i + 1, 1).Value = "" End If Next End Sub |
Als je een macro opneemt krijg je dit:quote:Op dinsdag 7 april 2009 10:23 schreef McGilles het volgende:
Ik zou graag een knop/hyperlink willen maken waarmee ik automatisch het geopende excel bestand als een bijlage in een mail krijg.
Natuurlijk kan ik via, 'bestand' --> 'verzenden naar' --> 'email adres (als bijlage)' dit voor elkaar krijgen, maar die optie wil ik dus graag in een knop/hyperlink.
Iemand hier zo snel de oplossing?
Graag ook gelijk een standaardemailadres ingevuld als het mogelijk is.
1 2 3 4 5 6 7 8 9 | ' ' Macro2 Macro ' De macro is opgenomen op 7-4-2009 door Joooo-pi ' ' ActiveWorkbook.Save Application.Dialogs(xlDialogSendMail).Show End Sub |
2008quote:1000
1050
1100
1150
1200
1250
1300
Zoals je kan zien staan hierboven veel dubbele getallen. Is het mogelijk om via een formule een lijst te maken met alle unieke getallen o.b.v. deze twee lijsten?quote:1000
1050
1100
1150
1160
1170
1180
1190
1200
1250
1300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Dim OutApp As Object Dim OutMail As Object Dim address As String ActiveWorkbook.Save address = Range("A1") Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon Set OutMail = OutApp.CreateItem(olMailItem) On Error Resume Next With OutMail .to = address .Subject = "Mailtje" .Body = ActiveWorkbook.FullName Set myAttachments = OutMail.Attachments myAttachments.Add ActiveWorkbook.FullName .Send End With On Error GoTo 0 MsgBox "Email sent to " & address Set OutMail = Nothing Set OutApp = Nothing End Sub |
quote:Op dinsdag 7 april 2009 11:20 schreef DaFan het volgende:
PPL ik heb een opzetje gemaakt.
Sheetnamen zijn winkelname (in mijn geval AH en Aldi gedaan). Daar staat gewoon een lijst met links producten in kolom A (met header!) en in kolom B de hoeveelheden (met header). Idem voor de sheet Aldi.
Ik heb op de eerste sheet een knop gezet maar die kan je ook verplaatsen, en deze macro erin geplaatst:
[ code verwijderd ]
Ik krijg nu op de laatste sheet (die "Overzicht" heet) een lijstje met in de linkerkolom de naam van de winkel, en in de rechterkolom een lijstje met de producten en hoeveelheden.
Als je het gemaild wil hebben moet je je mailadres maar even pmen oid.
Geeft nietquote:Op dinsdag 7 april 2009 12:25 schreef Joooo-pi het volgende:
DaFan! Wij komen wel met dezelfde antwoorden zo nu en dan![]()
Edit: Ik zie dat je wel veel eerder was, maar ik had je post over het hoofd gezien.![]()
Valt mee hoor. Ik zou eerst ook niet verder aan een antwoord werken. Ik wilde alleen even proberen of het toevoegen van ".attachment = ActiveWorkbook.Fullname" in de post waar ik naar verwees, genoeg zou zijn. Het werkte net niet, maar na het raadplegen van de help van Outlook, was ik er snel uit.quote:Op dinsdag 7 april 2009 15:15 schreef DaFan het volgende:
[..]
Geeft niet
Jij hebt meer tijd om een compleet antwoord te geven lijkt het
Het gemiddelde neem ik aan? anders een grafiek gebruiken.quote:Op woensdag 8 april 2009 09:00 schreef Cuegirllie het volgende:
Ik heb een klein vraagje over extrapolatie in excel.
Ik heb over 10 weken cijfers
1: 10.000
2: 9500
3: 8500
4: 8000
5: 9800
6: 9300
7: 8300
8: 8800
9: 9600
10: 8500
Hoe kan ik in excel bepalen wat de verwachte cijfers zullen zijn voor de aankomende tien weken?
(heb Excel 2003 in Nederlands)
Met de functie FORECAST.quote:Op woensdag 8 april 2009 09:00 schreef Cuegirllie het volgende:
Ik heb een klein vraagje over extrapolatie in excel.
Ik heb over 10 weken cijfers
1: 10.000
2: 9500
3: 8500
4: 8000
5: 9800
6: 9300
7: 8300
8: 8800
9: 9600
10: 8500
Hoe kan ik in excel bepalen wat de verwachte cijfers zullen zijn voor de aankomende tien weken?
(heb Excel 2003 in Nederlands)
Of de komende 2/3 weken mag ook.quote:Op woensdag 8 april 2009 09:10 schreef DaFan het volgende:
Met de functie FORECAST.
10 weken is niet echt een goede basis voor nog eens 10 weken forecasting.
control+pagedown en control+pageupquote:Op donderdag 9 april 2009 11:23 schreef Cuegirllie het volgende:
Is er trouwens een sneltoets via toetsenbord om tussen de tabbladen van een excelmap te springen?
Ik kan alleen maar die vinden tussen verschillende excelmappen
specifieke getallen uit een tabel...quote:Op donderdag 9 april 2009 17:14 schreef Deetch het volgende:
hoe worden je error bars gemaakt? Zijn het vaste waarden, een vast percentage van de meetwaarde of specifieke getallen uit een tabel?
geef eens een klein deel van je data, dat praat wat makkelijker.quote:Op vrijdag 10 april 2009 01:05 schreef maniack28 het volgende:
[..]
specifieke getallen uit een tabel...
Duhquote:Op vrijdag 10 april 2009 10:16 schreef Deetch het volgende:
de waarden van de Y-error bars moeten wel het verschil zijn ten opzichte van de meetwaarde. Voor de minima hoef je dus niet -1oid in te vullen want dan komt hij - -1 dus +1 dus boven de y-waarde
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | -18,5 526,7825 729,513 0 0 -17,5 1023,1184 1574,3916 874,02643 1255,6757 -16,5 1291,2629 2154,0955 902,75611 1732,0488 -15,5 1142,6284 1680,8137 625,25938 1417,4396 -14,5 1466,04 2317,6192 1021,5296 2033,9102 -13,5 1487,7315 2219,6034 1117,4483 2059,2581 -12,5 1728,8095 2522,1187 1608,9021 2618,0033 -11,5 1698,1578 2677,0718 1476,4634 2484,1597 -10,5 1706,8493 2545,4853 1470,6236 2425,2449 -9,5 1739,7061 2561,7151 1478,9984 2296,9521 -8,5 1718,6681 2428,2981 1406,4411 2195,3171 -7,5 1711,995 2362,4395 1424,8286 2150,4955 -6,5 1669,6711 2358,0995 1441,2325 2081,8661 -5,5 1629,6963 2376,4562 1436,7374 2044,4289 -4,5 1589,1191 2487,3518 1412,6021 2212,2418 -3,5 1676,7831 2774,1953 1472,9662 2525,0619 -2,5 1658,7803 2797,2937 1512,3788 2535,7464 -1,5 1655,124 2993,0559 1625,451 2429,8887 -0,5 1681,8561 2943,7486 1562,4437 2286,8696 0,5 1690,2288 3019,1526 1598,9254 2612,5752 1,5 1807,535 3441,3258 1796,4882 3005,7912 2,5 1752,4091 3620,9226 1652,7897 3087,3361 3,5 1722,9421 3736,7741 1712,5205 3407,0881 4,5 1667,683 3574,3 1524,551 3077,1358 5,5 1693,177 3542,2974 1621,3014 2835,2704 6,5 1822,9331 4076,124 1826,6977 3308,6881 7,5 1624,2091 3440,5304 1596,724 2851,2371 8,5 1846,467 4035,0052 1610,0168 3052,765 9,5 1655,3329 3954,7385 1552,518 3479,7385 10,5 1831,3043 4612,0833 1889,8869 3683,1887 11,5 1862,2843 4246,1624 1990,745 4302,9974 12,5 1571,8037 4854,9251 1537,1725 3817,4778 13,5 1958,3974 6103,011 1890,0747 6342,5214 14,5 1808,9295 4990,5699 1987,7711 5191,8278 15,5 1644,3516 4969,8418 1711,2216 4057,3973 16,5 1706,9632 4590,3087 1826,7164 3985,1427 17,5 1830,7772 4939,0153 1705,6821 4345,431 18,5 1924,5073 5398,7729 2011,0789 4188,7588 19,5 1948,7595 5569,3268 1765,5972 4880,1014 20,5 1794,8704 5289,4117 1931,8686 4552,5796 21,5 2263,7836 5722,9258 1888,8512 4407,607 22,5 1388,3598 4619,4869 1419,9651 3821,8469 23,5 1951,683 6003,0082 1805,0081 5010,276 24,5 1922,6651 5007,2393 1964,6384 4733,0024 25,5 1966,4197 5976,5423 1661,14 4157,262 26,5 1946,5489 5599,1324 1946,4134 5705,3246 27,5 2340,7276 4766,9584 2036,0108 4498,3891 28,5 2126,6207 5737,5183 2003,039 4365,6788 29,5 1810,1841 5744,6787 1545,8428 6444,8178 30,5 1992,6411 6468,7109 1303,1198 5888,842 31,5 2308,2251 6379,0372 1633,1696 4806,1542 32,5 2411,2313 6063,7748 1957,3919 4577,2592 33,5 1793,9978 8200,8558 1347,6963 8157,6151 34,5 1531,0835 5026,0105 1452,6572 3846,8863 35,5 2082,0428 8865,6768 1627,0162 8154,174 36,5 2242,349 6486,2636 1424,1571 5943,9286 37,5 2550,5436 10683,961 2006,2605 8547,8387 38,5 1258,3311 9073,59 1037,2771 5030,3077 39,5 1746,0625 11224,509 1703,0269 10398,898 40,5 1700,4425 4319,658 1148,3675 2188,3827 41,5 2958,2518 12226,598 1699,6763 9748,7188 42,5 2480,753 4247,012 766,943 1494,228 43,5 3059,985 12355,942 1096,092 13741,647 44,5 3001,8381 14414,589 1099,8061 13710,202 45,5 3869,6163 4348,2563 579,79449 963,07807 46,5 3254,1012 12787,888 921,07475 13673,413 47,5 2504,7125 6760,2225 861,78867 2458,6525 48,5 2614,3183 8855,3167 658,77185 2849,964 |
Maar mijn probleem is dan natuurlijk dat dat unieke gekozen nummer opnieuw gekozen zal worden voordat alle nummers 'aan de beurt' zijn geweest. Weet iemand misschien hoe dit opgelost kan worden?quote:=RANDBETWEEN(1,1618)
1 2 3 4 5 6 7 8 9 | Cells.Clear For i = 1 To 70 Cells(1, i).Value = "Groep " & i Next i End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Dim max_index, temp, a, b, c, i, j, k As Integer Dim arrValues(1 To 1618) As Variant a = 1 b = 1 c = 1 i = 1 j = 0 k = 1 max_index = 1618 For k = 1 To 1618 arrValues(k) = k Next k For i = 1 To max_index j = Int((max_index * rnd) + 1) temp = arrValues ![]() arrValues ![]() arrValues(j) = temp Next i For a = 1 To 1618 b = b + 1 If a Mod 23 = 0 Then c = c + 1 b = 2 End If Cells(b, c).Value = arrValues(a) Next a End Sub |
1 2 3 | arrValues(k) = k Next k |
1 2 3 4 5 6 | j = Int((max_index * rnd) + 1) temp = arrValuesi arrValuesi = arrValues(j) arrValues(j) = temp Next i |
1 2 3 4 5 6 7 8 9 | b = b + 1 If a Mod 23 = 0 Then c = c + 1 b = 2 End If Cells(b, c).Value = arrValues(a) Next a |
quote:Op maandag 13 april 2009 13:26 schreef DaFan het volgende:
Zo maar even...
Ik heb eerst een macro gemaakt (aan een button gehangen) die 70 groepen maakt en de cellen leegt. Was even handig voor mezelf maar ik zet hem er maar even bij:
[ code verwijderd ]
Daarna de hoofdcode aan een andere button.
[ code verwijderd ]
Nu heb ik 70 groepen van 23 nummers, en nog eens 9 losse nummers (1618 is niet deelbaar door 23)
In mijn volgende post zal ik uitleggen wat de macro doet.
Mooi gemaaktquote:Op maandag 13 april 2009 13:26 schreef DaFan het volgende:
Zo maar even...
Ik heb eerst een macro gemaakt (aan een button gehangen) die 70 groepen maakt en de cellen leegt. Was even handig voor mezelf maar ik zet hem er maar even bij:
[ code verwijderd ]
Daarna de hoofdcode aan een andere button.
[ code verwijderd ]
Nu heb ik 70 groepen van 23 nummers, en nog eens 9 losse nummers (1618 is niet deelbaar door 23)
In mijn volgende post zal ik uitleggen wat de macro doet.
Dat doet deze regel:quote:Op maandag 13 april 2009 19:13 schreef Joooo-pi het volgende:
[..]
Mooi gemaakt![]()
moet de term "Randomize" nog ergens tussen?
yep, ik heb het gelezen. Maar ik dacht dat je vooraf de random generator reset met "Randomize".quote:Op maandag 13 april 2009 19:40 schreef DaFan het volgende:
[..]
Dat doet deze regel:
j = Int((max_index * rnd) + 1)
rnd = random getal tussen 0 en 1. Max_index is het hoogste getal, en Int rond het getal af.
1 2 3 4 | TextBox1.Text = Sheet3.range("L2:T10").Find(What:=ComboBox1.Value).Offset(0, 1) End Sub |
Beste mensen,quote:Op maandag 6 april 2009 20:03 schreef Joooo-pi het volgende:
[..]
Kijk deze plaatjes:
Blad1:
Klik
Blad2:
Klik
Achter die ene knop staat de volgende code:
[ code verwijderd ]
Aan het einde van de maand klik je op die knop en je veld op blad 1 wordt geleegd en de gegevens gaan naar blad 2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | col = 0 i = 1 Do If Worksheets("Blad2").Cells(2, i).Value = "0" Then col = i i = i + 1 Loop Until Worksheets("Blad2").Cells(2, i).Value = "" If col = 0 Or col > 26 Then MsgBox "Maand niet gevonden!" & col Exit Sub End If Worksheets("Blad1").Range("N2:N13").Select Selection.Copy Worksheets("Blad2").Select Worksheets("Blad2").Cells(2, col).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Sheets(1).Select 'Range("B3:M31").Clear Range("A1").Select MsgBox "overzetten klaar" End Sub |
Dat werkt gedeeltelijk: hij kopieert het nu wel naar de kolom waar de waarde 0 staat in cel 2, maar hij doet dat naar cel Y2. De eerste cel waar de waarde 0 staat is echter(op dit moment) i2. Als ik de knop meerder malen achter elkaar indruk worden achtereenvolgens de kolommen Y, W, U,S (in die volgorde) gevuld, in plaats van de kolommen i, K, M etc. Het lijkt alsof de loop achteraan begint met zoeken, maar ik zie niet waarom en ook niet of ik de zoekvolgorde kan omdraaien. Het zal wel logisch zijn, maar voor mij even niet......quote:Op dinsdag 14 april 2009 15:15 schreef DaFan het volgende:
Then col = i - 1
Gewoon ergens 1 vanaf trekken is altijd lekker makkelijk
1 |
Dat vergeet ik inderdaad altijdquote:Op dinsdag 14 april 2009 17:48 schreef DaFan het volgende:
Kan je ook beter met een VLOOKUP doen. Zal zo even uitleggen hoe, ga eerst ff hapje eten.
(IF werkt prima als je maar 2 waardes hebt, dan is het niet de moeite, maar als je er 100 hebt...tja).
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |