SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Bij macro's die een bepaalde, merkbare, tijd nodig hebben om hun werk te doen is het van belang de gebruiker een idee te geven van wat er gebeurt, zeker met macro-optimalisatie aan kan het lijken alsof Excel is vastgelopen. Je kan bijvoorbeeld de statusbar een waarde geven, met eventueel een percentage van de reeds uitgevoerde code.SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Mooi, grappig en cool
Een uitgebreide site met nuttige en minder nuttige excelsheetjes. Van kekke grafieken om je manager of leraar te betoveren via oscillogrammen en simulatoren tot pong voor als het weer een typische vrijdagmiddag is: Excelunusual
Verder
Alle vorige topics zijn hier terug te vinden.
Nieuw topic? Haal de OP uit de wikiIt's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
quote:Op maandag 18 juni 2012 12:42 schreef xyntarsus het volgende:
thx voor de hulp.
kan dit trouwens ook zonder dat ik het menu krijg (dat ie automatisch cel B2 pakt?)
Of als je alle sheets van je workbook in 1 keer wilt doen:quote:Op maandag 18 juni 2012 13:09 schreef qu63 het volgende:
[..]
Dan krijg je
[code]
Sub fok()
If Range("B2").Value <> "" Then ActiveSheet.Name = Range("B2").Value
End Sub
[/code]
als ik t goed heb..
1 2 3 4 5 6 7 8 | Sub fok() For Each sh In ActiveWorkbook.Worksheets sh.Activate If Range("B2").Value <> "" Then ActiveSheet.Name = Range("B2").Value Next sh End Sub |
ja maar die formule klopt dus nietquote:Op dinsdag 19 juni 2012 10:56 schreef ralfie het volgende:
hmm? je kunt toch gewoon rechtsklikken op de trendlijn en dan bij eigenschappen 'vergelijking in grafiek weergeven' aanvinken? Mocht je specifieke waarden nodig hebben gebruik je die formule om dat te berekenen
waarschijjnlijk moet je de datum waarvan je een waarde wilt weten nog omrekenen naar de seriele datum. Excel slaat een datum nl op als zoveel dagen na 0-januari-1900.quote:Op dinsdag 19 juni 2012 11:19 schreef andreas612 het volgende:
[..]
ja maar die formule klopt dus niet
Hier de code van vogeltjesdansquote:Op woensdag 20 juni 2012 10:32 schreef vogeltjesdans het volgende:
Het gaat om een excel document. Ik weet dat er een apart excel topic is, maar hier moet ook VBA code in dus ik post het even apart.
Waar het om gaat is het volgende. Ik heb een lijst met kolommen:
datum omschrijving behandelaar status
op deze kolommen pas ik een filter toe, waardoor ik makkelijk kan sorteren.
Wat ik wil is het volgende:
* selecteren op behandelaar
* afdrukbereik bepalen op behandelaar
* dit afdrukken
Dit heb ik in een macro gestopt (relatieve verwijzinng aangezet) met als volgend resultaat.
[ code zie onder ]
Dit werkt, maar de behandelaar heeft een telkens wisselend aantal rijen. Dus ik wil dat het afdrukbereik bepaald wordt op de rijen waar de betreffende behandelaar staat. Een soort =ALS functie, maar ik weet niet hoe ik dat in deze code moet invoeren.
Iemand?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub Sorteren() ActiveCell.Offset(5, 4).Range("A1").Select ActiveWorkbook.Worksheets("blad1").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("blad1").AutoFilter.Sort.SortFields.Add Key:= _ ActiveCell.Offset(-3, 0).Range("A1"), SortOn:=xlSortOnValues, Order:= _ xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("blad1").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveCell.Offset(-1, -5).Range("A1:J17").Select Selection.PrintOutCopies:=1, Collate:=True, IgnorePrintAreas:=False End Sub |
Het eerste probleem wat ik zie is dat deel() meerdere argumenten nodig heeft. Het tweede probleem is dat vind.alles (bij mij althans) slechts één tekst zoekt, en dus niet 1 of 2 of 3 of ...quote:Op woensdag 20 juni 2012 10:32 schreef jakees het volgende:
Ik probeer de eerste positie van een getal te vinden in een string. Ik gebruik office 2007 taal = NL. Nu heb ik de volgende functie gevonden
=als(deel(vind.alles({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))>LENgte(A1);0;deel(vind.alles({0;1;2;3;4;5;6;7;8;9};A1 &"0123456789")))
op 1 of andere manier werkt die formule niet. Kunnen jullie even kijken? Ik ben al een tijdje bezig en heb ook veel gezocht op internet, vind wel dingen maar die lukken op eoa. manier niet. Thx alvast!
1 2 3 | B1 = A1 & "1234567890" C1 = MIN(VIND.SPEC(1;B1);VIND.SPEC(2;B1);VIND.SPEC(3;B1);VIND.SPEC(4;B1);VIND.SPEC(5;B1);VIND.SPEC(6;B1);VIND.SPEC(7;B1);VIND.SPEC(8;B1);VIND.SPEC(9;B1);VIND.SPEC(0;B1)) D1 = ALS(C1>LENGTE(A1);-1;C1) |
Eerste positie van een getal (onderstaande functie bevestigen met CTRL+SHIFT+ENTER)quote:Op woensdag 20 juni 2012 10:32 schreef jakees het volgende:
Ik probeer de eerste positie van een getal te vinden in een string. Ik gebruik office 2007 taal = NL. Nu heb ik de volgende functie gevonden
=als(deel(vind.alles({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))>LENgte(A1);0;deel(vind.alles({0;1;2;3;4;5;6;7;8;9};A1 &"0123456789")))
op 1 of andere manier werkt die formule niet. Kunnen jullie even kijken? Ik ben al een tijdje bezig en heb ook veel gezocht op internet, vind wel dingen maar die lukken op eoa. manier niet. Thx alvast!
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
[ Bericht 16% gewijzigd door Deetch op 20-06-2012 11:23:49 ]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
Thanks! Maar als ik hem aanpas en uitvoer geeft hij een fout op de onderste regel, deze wordt geel:quote:Op woensdag 20 juni 2012 10:58 schreef Deetch het volgende:
[..]
Hier de code van vogeltjesdans
[ code verwijderd ]
vervang Range("A1:J17").Select door
Range("A1", Range("J65536").End(xlUp)).Select en hij zou moeten werken
tussen False en End Sub moet een ENTER (foutje bij kopieren van jouw code)quote:Op woensdag 20 juni 2012 11:34 schreef vogeltjesdans het volgende:
[..]
Thanks! Maar als ik hem aanpas en uitvoer geeft hij een fout op de onderste regel, deze wordt geel:
Selection.PrintOutCopies:=1, Collate:=True, IgnorePrintAreas:=FalseEnd Sub.
quote:Op woensdag 20 juni 2012 11:18 schreef Deetch het volgende:
[..]
Eerste positie van een getal (onderstaande functie bevestigen met CTRL+SHIFT+ENTER)
=MATCH(TRUE,ISNUMBER(-MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0)
Alle getallen uit een string (onderstaande functie bevestigen met CTRL+SHIFT+ENTER)
=--MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&{0,1,2,3,4,5,6,7,8,9})),SUM((LEN(A1)-LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},"")))))
Let op dat je de CTRL+SHIFT+ENTER gebruikt ipv gewone enter anders werken bovenstaande functies nietDeetch, zit jij op Excel of zo. 1 minpuntje aan je post. Het is niet duidelijk dat je op CTRL-SHIFT-ENTER moet drukken maar dat vergeef ik je ;-)SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.[ afbeelding ]
Toch nog een paar vraagjes. De eerste heb ik vertaald naar:
=VERGELIJKEN(WAAR;ISGETAL(-DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1));0) ik snap niet zo goed wat die doet.
Die 2e retourneert bij alle getallen in de string. Hartstikke mooi maar ik ben op zoek naar de 1e positie van het getal. Is daar nog makkelijk achter te komen. Bijvoorbeeld in de string. Oranjenummer1inBrazilie2014 wil ik als resultaat 13 terugkrijgen omdat daar de eerste string staat. Thx alvast weer!
=ISGETAL() is ook een 2007-functiequote:Op woensdag 20 juni 2012 12:38 schreef Deetch het volgende:
Die eerste functie geeft aan op welke positie het eerste getal staat, precies wat je zocht.
Ik weet alleen niet zeker of ISGETAL wel een excel 2007 functie is of dat die nieuw is in 2010. Krijg je daar een foutmelding? ook als je wel ctrl+shift+enter doet
Kutquote:Op woensdag 20 juni 2012 11:36 schreef Deetch het volgende:
[..]
tussen False en End Sub moet een ENTER (foutje bij kopieren van jouw code)
1 | =EXP(((-1*VB1)*VB2))*NORMSDIST(C24) |
Ik faal, hardquote:Op woensdag 20 juni 2012 14:16 schreef DaFan het volgende:
Dat heet een User Defined Function. Ga je zelf proberen of heb je hulp nodig?
quote:Op woensdag 20 juni 2012 12:38 schreef Deetch het volgende:
Die eerste functie geeft aan op welke positie het eerste getal staat, precies wat je zocht.
Ik weet alleen niet zeker of ISGETAL wel een excel 2007 functie is of dat die nieuw is in 2010. Krijg je daar een foutmelding? ook als je wel ctrl+shift+enter doet
Ik heb het vertaald naar:quote:Op woensdag 20 juni 2012 12:20 schreef jakees het volgende:
[..]
Deetch, zit jij op Excel of zo. 1 minpuntje aan je post. Het is niet duidelijk dat je op CTRL-SHIFT-ENTER moet drukken maar dat vergeef ik je ;-)
Toch nog een paar vraagjes. De eerste heb ik vertaald naar:
=VERGELIJKEN(WAAR;ISGETAL(-DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1));0) ik snap niet zo goed wat die doet.
Die 2e retourneert bij alle getallen in de string. Hartstikke mooi maar ik ben op zoek naar de 1e positie van het getal. Is daar nog makkelijk achter te komen. Bijvoorbeeld in de string. Oranjenummer1inBrazilie2014 wil ik als resultaat 13 terugkrijgen omdat daar de eerste string staat. Thx alvast weer!
Thx!!!! Ik wist niet dat je CTRL SHIFT ENTER moest gebruiken. Had hij wel even kunnen zeggen ;-) Maar die + deed het hem. Ik denk ook wel dat ik de formule ongeveer snap (een klein beetje iig).quote:Op woensdag 20 juni 2012 21:33 schreef snabbi het volgende:
=VERGELIJKEN(WAAR;ISGETAL(-DEEL(A1;RIJ(INDIRECT("1:"&LENGTE(A1)));1));0)
is juist (had Deetch gezegd CTRL SHIFT ENTER?)
Je hebt in jouw formule bij de A1 een + staan ipv een ;
Wat het eigenlijk doet is dat het in de cel zelf een nieuwe matrix aanmaakt (genaamd array). In deze matrix wordt op elke regel 1 karakter geplaatst. Vervolgens wordt van dit karakter bepaald of het een getal is of niet. Deze uitkomst (WAAR of ONWAAR) wordt opgeslagen op deze regel en daarna wordt de eerste regel met een WAAR teruggeven.
Het gebruik van de CTRL SHIFT ENTER zorgt ervoor dat je de array functie in de cel gebruikt. Dit kan je ook zien aan je formule doordat de formule tussen { } accolades worden weergegeven.
1 2 3 4 5 6 7 8 9 | Private Sub CommandButton2_Click() UserForm1.Hide Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True Sheets("TOTAAL").Select End Sub |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |