Ohjaquote:Op donderdag 26 februari 2009 21:02 schreef Dr_Flash het volgende:
Quuuuu
Vooral namens Marcb1974 overigens, het was ZIJN probleem wat je hiermee oplost
In een andere kolom ernaast de formule rang() gebruiken. En dan sorteren op die kolom.quote:Op vrijdag 27 februari 2009 09:24 schreef Hi_flyer het volgende:
Vraagje: uit een lijst met zo'n 6000 getallen wil ik de 10 grootste en 10 kleinste halen. Hoe krijg ik dat voor elkaar? Met de max-functie kom je niet ver....
Je kan ook met voorwaardelijke opmaak werken, dan krijgen de hoogste 10 een groene kleur, en de laagste 10 een rode (bijvoorbeeld)quote:Op vrijdag 27 februari 2009 09:24 schreef Hi_flyer het volgende:
Vraagje: uit een lijst met zo'n 6000 getallen wil ik de 10 grootste en 10 kleinste halen. Hoe krijg ik dat voor elkaar? Met de max-functie kom je niet ver....
Nee dat is toch geen oplossing man. Beetje in aanpasbare ranges denkenquote:Op vrijdag 27 februari 2009 12:16 schreef Metal_Jag het volgende:
TVP
Over het max / min verhaal:
Ik zou gewoon resp. oplopend en aflopend sorteren.
Selecteer de regels. Kopieren. Selecteer de eerste cel van je nieuwe bereik. Plakken.quote:Op zondag 1 maart 2009 19:55 schreef hendrik2009 het volgende:
Hallo, ik hoop dat jullie mij met het volgende kunnen helpen:
Ik heb een sheet met gegevens, oplopend gesorteerd per week.
In kolom A staat het weeknummer in format 0906, zijnde de 6e week uit het jaar 2009.
Per week gaat het om meerdere regels, soms 8, soms 9, soms 6.
Bepaalde gegevens zijn gedurende een aantal weken gelijk.
Nu lijkt het mij handig een macro te hebben die de gegevens van de laatste week kopieert en onder de vorige week zet, liefst met wijziging van het weeknummer.
Voorbeeld:
De laatst ingevoerde week is 0906. Deze staat in de regels 200 t/m 208.
De kolommen A t/m F bevatten informatie over de betreffende week.
In dit geval zou de macro de laatst gevulde range van één week (A200:F208) moeten selecteren en plakken in cel A209, liefst met automatische wijziging van het weeknummer (0907).
Wie kan en wil mij hiermee helpen?
Alvast bedankt.
Groet,
Hendrik
Week 6 voor week 7? Gewoon oplopende volgorde en historie blijft bewaard.quote:Op zondag 1 maart 2009 19:58 schreef DaFan het volgende:
Maar je wil dus week 6 in de lijst voor week 7? Waarom zou je dat doen dan moet je dat weer aanpassen of denk ik nou krom?
De macro is natuurlijk geen noodzaak. Ik vind het gewoon leuk en handig om zoveel mogelijk te automatiseren en daarmee de mogelijkheden van excel te benutten.quote:[..]
Selecteer de regels. Kopieren. Selecteer de eerste cel van je nieuwe bereik. Plakken.
Daar hoef je geen macro voor toch?
Dan kun je ook nog zoeken/vervangen doen om de week aan te passen.
1 2 3 4 5 6 | Jan 23-02-2009 Piet 11-01-2009 Klaas 26-02-2009 Leo 09-02-2009 Henk 19-01-2009 |
1 |
Als je in Blad2 in B1 jouw formule zet, dan kun je met de volgende macro werken. Zet deze code achter Blad1 in de script-editor (ivm de event Change).quote:Op maandag 2 maart 2009 15:07 schreef FunnyDealer het volgende:
Hallo,
kunnen jullie me helpen met het volgende probleem in excel 2003.
Ik heb een rijtje namen en daarbij een datum:
[ code verwijderd ]
Nu wil ik op een ander blad alleen de namen hebben, waarvan de datum langer dan 30 dagen geleden is
Dus ik moet als uitkomst Piet en Henk hebben.
het lukt me wel om de vergelijking te maken, maar ik wil eigenlijk een variabele lijst met alleen de namen die ik nodig heb
[ code verwijderd ]
en dat lukt met bovenstaande code niet, want dan krijg ik er nul waardes tussen, weet iemand een oplossing?
PS: (de variabele lijst moet automatisch updaten als de data's veranderen)
1 2 3 4 5 6 7 8 9 10 11 12 | Sheets("Blad2").Select ActiveSheet.Range("B1").Select ActiveCell.FormulaR1C1 = "=IF(Blad1!RC<TODAY()-30,Blad1!RC[-1],"""")" Selection.AutoFill Destination:=ActiveSheet.Range("B1:B40"), Type:=xlFillDefault ActiveSheet.Columns("B:B").Select Selection.Sort Key1:=ActiveSheet.Range("B1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ActiveSheet.Range("B2").Select Sheets("Blad1").Select End Sub |
1 2 3 | TextBox& i&.Text = Sheet7.Range("B" & i).Value Next i |
Het werkt! Al had ik het liever wel gezien zonder script editor, maar het updaten maakt het ook lastigquote:Op maandag 2 maart 2009 15:45 schreef Metal_Jag het volgende:
[..]
Als je in Blad2 in B1 jouw formule zet, dan kun je met de volgende macro werken. Zet deze code achter Blad1 in de script-editor (ivm de event Change).
[ code verwijderd ]
Dit is een snel in elkaar gezet macro'tje en het past Blad2 aan op het moment dat je Blad1 wijzigt. Het gebruikt jouw formule en sorteert de hele kolom vervolgens, zodat de namen bovenaan komen.
Het is geen meesterwerk, maar het werkt wel.
Ohja, het gaat tot 40 namen, maar dat kun je simpel aanpassen tot meer, door de range in het script aan te passen.
Onderstaande code zou het moeten doen, de "step 1" kun je weglaten want excel vba gaat standaard uit van een stap van 1quote:Op maandag 2 maart 2009 16:15 schreef Hi_flyer het volgende:
Beste medeforummers. Stel dat je een userform hebt met heeeel veel tekstvakken. Is het mogelijk om al die tekstvakken in een loopje te vullen, ongeveer zoals onderstaande code?
[ code verwijderd ]
Dit lukt dus niet, weet iemand een manier die wel lukt? Anders moet ik iets van 100 tekstvakjes per stuk gaan aanspreken. ;(
1 2 3 4 5 6 7 8 | For i = 1 To 67 sName = "TextBox" & i Me.Controls(sName).Text = Sheet7.Range("B" & i).Value Next i End Sub |
Thanks, ziet er werkbaar uit, morgen zal ik het eens proberen. Step 1 is inderdaad overbodig, ik gebruik het omdat vroegah in C++ het wel verplicht was (als ik het goed heb).quote:Op dinsdag 3 maart 2009 15:10 schreef Deetch het volgende:
[..]
Onderstaande code zou het moeten doen, de "step 1" kun je weglaten want excel vba gaat standaard uit van een stap van 1
[ code verwijderd ]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |