Heb je de ALS()-functie al geprobeerd?quote:Op donderdag 17 mei 2012 13:46 schreef jakees het volgende:
hallo ik op basis van een formule bepalen uit welke cel ik een waarde wil ophalen. Even versimpeld wil op basis van een rekensom in b1 bepalen in de cel b2 de waarde hebben uit a1 of a2 of a3 etc. moet halen. Iets als:
=a(b1) waarbij b1 dan de waarde 1 tm 10000 kan bevatten. Ik wil niet gebruik maken van verticaal zoeken. Voor dit voorbeeld zou het wel werken maar ik wil dit gaan gebruiken voor een rangbepaling die ik meerdere keren binnen een kolom wil toepassen. Ik hoop dat het een beetje duidelijk is.
Het antwoord op je vraag is =INDIRECT("a"&b1) waarbij je dus de kolom hebt staan op A en de waarde in B1 geeft het regelnummer.quote:Op donderdag 17 mei 2012 13:46 schreef jakees het volgende:
hallo ik op basis van een formule bepalen uit welke cel ik een waarde wil ophalen. Even versimpeld wil op basis van een rekensom in b1 bepalen in de cel b2 de waarde hebben uit a1 of a2 of a3 etc. moet halen. Iets als:
=a(b1) waarbij b1 dan de waarde 1 tm 10000 kan bevatten. Ik wil niet gebruik maken van verticaal zoeken. Voor dit voorbeeld zou het wel werken maar ik wil dit gaan gebruiken voor een rangbepaling die ik meerdere keren binnen een kolom wil toepassen. Ik hoop dat het een beetje duidelijk is.
thx is bijna wat ik zoek. Even wat verduidelijking. Ik heb 40 rijen. in kolom A staat de naam van een persoon en in kolom B de het jaartal en kolom 3 de score. Per jaar staan er 10 rijen. Wat ik wil is dat ik een rang functie maakt die als het ware dynamisch werkt. Dus bij de eerste 10 rijen staat er ==RANG(C2;C$2:C$11;0) in de 2e 10 rijen staat =RANG(C12;C$12:C$21;0). Ik wil proberen dit dynamisch te maken. Met indirect lukt dat denk ik niet. Dan haal je echt de waarde op terwijl ik de range dynamisch wil houden.quote:Op donderdag 17 mei 2012 14:11 schreef snabbi het volgende:
[..]
Het antwoord op je vraag is =INDIRECT("a"&b1) waarbij je dus de kolom hebt staan op A en de waarde in B1 geeft het regelnummer.
Oef iets te vroeg gejuicht. Zie https://docs.google.com/s(...)lodXhmb0E&output=xls . Het lukt me wel om met de adres functie de juiste waarde op te halen. Maar ik krijg hem niet in de rang functie. Zien jullie wat ik verkeerd doe?quote:
Dit gaat niet goed met de dubbele punt:quote:Op donderdag 17 mei 2012 15:49 schreef jakees het volgende:
[..]
Oef iets te vroeg gejuicht. Zie https://docs.google.com/s(...)lodXhmb0E&output=xls . Het lukt me wel om met de adres functie de juiste waarde op te halen. Maar ik krijg hem niet in de rang functie. Zien jullie wat ik verkeerd doe?
THX! nu eindelijk gelukt. De formule is nu:quote:Op donderdag 17 mei 2012 15:54 schreef DaFan het volgende:
[..]
Dit gaat niet goed met de dubbele punt:
ADRES(RIJ(I3)-A3;3):ADRES(RIJ(I3)-A3+10;3)
Ik zie niet helemaal wat je doet maar je moet het volgende doen:
INDIRECT(ADRES1&":"&ADRES2)
Dan maak je een string met ADRES, dan de dubbele punt, dan het laatste ADRES.
Dus bv $C$3:$C$4. Als daar dan INDIRECT omheen staat kan hij het lezen als range.
Succes.
RESPECT. Daar had ik nooit opgekomen. Ik snap het een beetje maar ziet er goed uit. Wordt dit vaak gebruikt om de rang te bepalen?quote:Op donderdag 17 mei 2012 18:04 schreef snabbi het volgende:
Een hele andere oplossing voor je, de formule die je hier nodig hebt is
=SOM((C2=$C$2:$C$31)*(D2<=$D$2:$D$31))
Het betreft een array formule. Je moet dus je ctrl en shift toets ingedrukt houden terwijl je op enter drukt.
http://www.mijnbestand.nl/Bestand-CCOH38ISWCOP.xlsx
Hoe het werkt:
Wat excel hier doet is het volgende. Er wordt binnen de cel waar je dit plaatst een nieuwe matrix aangemaakt. Deze is 1 kolom met 30 waarden (door je C2:C30).
Elke regel in deze cel krijgt de waarde 1 of 0. Deze waarde wordt bepaald aan de hand van de formule: a*b
hierbij is a gelijk aan c2=$c$2:$c$31
hierbij is b gelijk aan d2<=$D$2:$D$31
wanneer de waarde in c2 (bijvoorbeeld 2008) gelijk is aan de waarde in de reeks C2:C31 wordt op de corresponderende regel in je matrix een 1 geplaatst en wanneer het niet waar is een 0. Door de formule a*b krijg je 0*1 of 0*0 wanneer je een ander jaartal hebt dan degene die op die ene regel staat. Doordat je met 0 vermenigvuldigt, is de uitkomst ook nul.
Het tweede deel kijkt simpelweg of er getallen kleiner zijn dat het getal waar je nu naar kijkt. Als dat zo is, is dit dus niet het grootste getal en moet je er in je ranking er 1 optellen. Dit gebeurt ook met de 1*1 uitkomst. De som van je 30 getallen in je matrix, zorgt dat je de rank van die betreffende regel hebt.
Dit wordt vooral gebruikt wanneer je meerdere criteria hebt op basis waarvan je de rangschikking moet bepalen. Je kan dit namelijk met zoveel kolommen uitbreiden als je zelf wilt. Het is dus ook een goede tip voor alle voetbalpoules die nu worden opgezetquote:Op donderdag 17 mei 2012 18:36 schreef jakees het volgende:
[..]
RESPECT. Daar had ik nooit opgekomen. Ik snap het een beetje maar ziet er goed uit. Wordt dit vaak gebruikt om de rang te bepalen?
Ok top. Ik snap hem nu en is iets eenvoudiger qua opzet dan die ander. Thx snabbi en DaFanquote:Op donderdag 17 mei 2012 18:44 schreef snabbi het volgende:
[..]
Dit wordt vooral gebruikt wanneer je meerdere criteria hebt op basis waarvan je de rangschikking moet betalen. Je kan dit namelijk met zoveel kolommen uitbreiden als je zelf wilt. Het is dus ook een goede tip voor alle voetbalpoules die nu worden opgezet
Mijn god, wat faal ik hard. Zelfs 1 op 1 kopie krijg ik niet werkend.quote:Op woensdag 16 mei 2012 09:10 schreef Deetch het volgende:
Volgens mij gaat het met de DIM regel fout omdat dat geen zegt dat objol een outlook applicatie is maar je moet zeggen dat het een object is en dan later zeggen wat voor object. Zie ook het voorbeeld uit de VBA help van excel 2010. Of de site van ron de bruin: http://www.rondebruin.nl/sendmail.htm
[ code verwijderd ]
bovenstaande code werkt in ieder geval.
Als ik je vraag goed heb begrepen, wil je gewoon een draft e-mail klaarzetten. Dit hoeft niet direct verstuurt te worden. In dat geval heb je in mijn ogen helemaal geen Macro nodig en kan je volstaan met een hyperlink. De mailto functie in je hyperlink zorgt ervoor dat je standaard e-mail programma wordt opgestart en je kan zelf de concept tekst helemaal klaar zetten.quote:Op vrijdag 18 mei 2012 07:25 schreef Prof_Hoax het volgende:
[..]
Mijn god, wat faal ik hard. Zelfs 1 op 1 kopie krijg ik niet werkend.
Ik ga jullie tijd niet verder verdoen, en me eerst zelf eens verder verdiepen in heel dit gebeuren Toch bedankt voor enthausiaste, snelle en goede hulp
Je ziet me weer terug als ik wat meer kennis heb opgedaan
Na 't weekeind eens naar kijken. Dankjewelquote:Op vrijdag 18 mei 2012 10:45 schreef snabbi het volgende:
[..]
Als ik je vraag goed heb begrepen, wil je gewoon een draft e-mail klaarzetten. Dit hoeft niet direct verstuurt te worden. In dat geval heb je in mijn ogen helemaal geen Macro nodig en kan je volstaan met een hyperlink. De mailto functie in je hyperlink zorgt ervoor dat je standaard e-mail programma wordt opgestart en je kan zelf de concept tekst helemaal klaar zetten.
Voor een voorbeeld: http://www.mijnbestand.nl/Bestand-LAUV6NWBKJHZ.xlsx
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 | Sub Uitzetten_Terugloop() 'standaard meldingen uit zetten zodat hij er sneller doorheen loopt Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False Dim kolom, bestand, folder As String 'Hier zetten we de variabelen zodat de juiste map en kolom wordt bekeken folder = "c:\excels\" kolom = "B:B" 'Hier wordt de code uitgevoerd. Hij gaat elk bestand in je folder af 'Ieder bestand wordt opgeopend en vervolgens van de kolom de WrapText op false gezet 'Tot slot opgeslagen en gesloten. bestand = Dir(folder) While bestand <> "" Workbooks.Open Filename:=folder & bestand Columns(kolom).Select With Selection .WrapText = False End With ActiveWorkbook.Save ActiveWorkbook.Close bestand = Dir Wend 'Hier zetten we alle meldingen weer aan en zijn we klaar. Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True End Sub |
Als de locatie niet correct is, hoe kan hij dan de naam van het bestand weten? Zie ik iets over het hoofd of gaat er iets anders mis?quote:Run time error '1004'
'bestand1.xlsx' could not be founds. Check the spelling of the file name, and verify that the file location is correct.
If you are trying to open a file from your list of most recent used files, make sure that the file has not be renamed, moved or deleted.
1 2 3 4 5 6 7 8 | Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Activate columns(kolom).select With Selection .WrapText = False End With Next i |
Ziet er goed uit. En inderdaad je had de vraag goed begrepen, maar het is iets uitgebreider:quote:Op vrijdag 18 mei 2012 10:45 schreef snabbi het volgende:
[..]
Als ik je vraag goed heb begrepen, wil je gewoon een draft e-mail klaarzetten. Dit hoeft niet direct verstuurt te worden. In dat geval heb je in mijn ogen helemaal geen Macro nodig en kan je volstaan met een hyperlink. De mailto functie in je hyperlink zorgt ervoor dat je standaard e-mail programma wordt opgestart en je kan zelf de concept tekst helemaal klaar zetten.
Voor een voorbeeld: http://www.mijnbestand.nl/Bestand-LAUV6NWBKJHZ.xlsx
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.edit: zie post hieronder.
[ Bericht 5% gewijzigd door Prof_Hoax op 21-05-2012 11:37:46 ]
1 | Please define below %0a%0aPart: %0aINC number: %0aShipping adress:%0aRequested by:%0aRequested for server, servername and type: %0a |
1 | =SUBSTITUTE(B9,CHAR(10),"%0a") |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |