abonnement Unibet Coolblue Bitvavo
  vrijdag 16 december 2011 @ 17:22:11 #1
62215 qu63
..de tijd drinkt..
pi_105662542


Aangezien er vaker losse topics langskomen, leek het ons handig een centraal Excel topic te maken waar men hun vragen / antwoorden kwijt kan.

Dus heb je vragen, kom je ergens niet uit, hoe maak ik nu precies die macro?

Stel dan hier je vraag!!!

Tip 1: De help functie van excel of visual basic voor excel kan je echt een eind op weg helpen ! (F1)
Tip 2: Als je een vraag stelt, zet er dan bij welke versie je hebt en op welke taal hij ingesteld staat!
Tip 3: Zet macrocode even tussen [ code ] tags
Tip 4: Zelf de formules in verschillende talen vertalen:
http://dolf.trieschnigg.nl/excel/excel.html
http://branders.name/files/Excel-Function-Reference.pdf

Alle vorige topics zijn hier terug te vinden.

Nieuw topic? Haal de OP bij de wiki ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105662715
Hmm.. hij werkte nu dus alleen als ALLE criteria onwaar zijn.

quote:
=ALS(OF(datum(jaar(vandaag());maand(vandaag())-11;dag(vandaag())>vandaag();;"UIT DATUM")
Dit is toch een formule voor 1 criteria ?

Mijn excel-kennis schiet echt te kort.. ik zou niet weten hoe ik dit in moet vullen. Ik zat redelijk op weg met onderstaande formule maar dan komt het alsnog niet op de datum aan en hij werkt alleen als alle criteria ONWAAR zijn.

=ALS(OF(A1+365>G1;(B1+365>G1);(C1+365>G1));1;"UIT DATUM")

Dus ik wil wel graag die met datum etc gebruiken maar ik heb werkelijk geen idee hoe.. -O-
  vrijdag 16 december 2011 @ 17:40:34 #3
62215 qu63
..de tijd drinkt..
pi_105663171
quote:
0s.gif Op vrijdag 16 december 2011 17:27 schreef Mind_State het volgende:
Hmm.. hij werkte nu dus alleen als ALLE criteria onwaar zijn.

[..]

Dit is toch een formule voor 1 criteria ?

Mijn excel-kennis schiet echt te kort.. ik zou niet weten hoe ik dit in moet vullen. Ik zat redelijk op weg met onderstaande formule maar dan komt het alsnog niet op de datum aan en hij werkt alleen als alle criteria ONWAAR zijn.

=ALS(OF(A1+365>G1;(B1+365>G1);(C1+365>G1));1;"UIT DATUM")

Dus ik wil wel graag die met datum etc gebruiken maar ik heb werkelijk geen idee hoe.. -O-
Het enige waar de voorwaardelijke opmaak op controleert is of iets waar is of niet. Als het onwaar is doet ie niets, als het waar is geeft ie een kleurtje (of iets anders) aan de cel waarvoor de voorwaardelijke opmaak hebt ingesteld.

Deze zou moeten werken:

=ALS(OF(DATUM(JAAR(A1);MAAND(A1)-11;DAG(A1))>G1;DATUM(JAAR(B1);MAAND(B1)-11;DAG(B1))>G1;DATUM(JAAR(C1);MAAND(C1)-11;DAG(C1))>G1);WAAR;ONWAAR)

Of praten we nu compleet langs elkaar heen :?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105663628
Hmm.. Ja als ik die formule invul dan zegt hij eigenlijk altijd ONWAAR.. ook als ik de datum van gister 3x invul.

Deze werkt nu hoe ik het wil:
=ALS(EN(A1+730>G1;(B1+365>G1);(C1+365>G1));1;"UIT DATUM")

De OF-functie moest dus een EN-functie worden in ieder geval, want nu toont hij UIT DATUM als 1 van de criteria ONWAAR is. Het enige nadeel is nu nog dat hij nog steeds niet precies op de datum is ivm schrikkeljaren, maar ik bouw dan desnoods wel gwn een buffer in dat is geen probleem.
  vrijdag 16 december 2011 @ 18:31:44 #5
84430 kanovinnie
Wie dit leest is gek!
pi_105664897
Mijn macro doet het trouwens, maar ik ben er nog niet tevreden over. Want na het printen laat hij ze op verborgen staan, en dat is niet de bedoeling.
Op dinsdag 25 augustus 2015 15:48 schreef Toekito het volgende:
de grootste schande van heel FOK! naast Fylax is Kano als mod.
  vrijdag 16 december 2011 @ 18:36:07 #6
85514 ralfie
!Yvan eht nioj
pi_105665031
@mind_state

Wordt wel erg ingewikkeld zo...

mocht je macros kunnen gebruiken kun je deze gebruiken:

1
2
3
4
Function MaandenGeleden(datum As Date) As Long
     MaandenGeleden = DateDiff("m", datum, DateTime.Now)
     If Day(datum) > Day(DateTime.Now) Then MaandenGeleden = MaandenGeleden - 1
End Function
kun je als functie gebruiken

ALS(EN(MaandenGeleden(A1)>23;MaandenGeleden(B1)>11;MaandenGeleden(C1)>11;1;"Uit datum")
pi_105667952
quote:
0s.gif Op vrijdag 16 december 2011 18:36 schreef ralfie het volgende:
@mind_state

Wordt wel erg ingewikkeld zo...

mocht je macros kunnen gebruiken kun je deze gebruiken:
[ code verwijderd ]

kun je als functie gebruiken

ALS(EN(MaandenGeleden(A1)>23;MaandenGeleden(B1)>11;MaandenGeleden(C1)>11;1;"Uit datum")
Ik kan thuis geen Macro's gebruiken maar op mijn werk wel dus ik zal het volgende week met deze formule proberen. Hartstikke bedankt in elk geval.
pi_105669957
quote:
0s.gif Op vrijdag 16 december 2011 19:51 schreef Mind_State het volgende:

[..]

Ik kan thuis geen Macro's gebruiken maar op mijn werk wel dus ik zal het volgende week met deze formule proberen. Hartstikke bedankt in elk geval.
???
pi_105717424
k wil gegevens uit cellen A1 t/m A50 kopiëren en vervolgens al deze gegevens plakken in 1 cel. Dat lukt wel, maar ik krijg deze gegevens dan verticaal in de cel, is het mogelijk om het ook horizontaal in de cel te krijgen. Helemaal mooi zou zijn als er ook nog telkens een komma tussen zit. Wie weet hoe dit moet? Het liefst zonder het gebruik van een formule.. Alvast bedankt :)
  zondag 18 december 2011 @ 11:29:59 #10
84430 kanovinnie
Wie dit leest is gek!
pi_105717530
=A1&","&A2&","&A3
Wel met een formule, maar een andere manier zou ik zo niet weten.
Op dinsdag 25 augustus 2015 15:48 schreef Toekito het volgende:
de grootste schande van heel FOK! naast Fylax is Kano als mod.
pi_105717991
Knippen, Plakken speciaal -> Transponeren.
Je kan er dan niet snel komma's tussen plakken zonder formule of VBA.
  zondag 18 december 2011 @ 11:52:00 #12
49641 Individual
Meet John Doe...
pi_105718046
quote:
0s.gif Op zondag 18 december 2011 11:23 schreef EL_Presidente het volgende:
k wil gegevens uit cellen A1 t/m A50 kopiëren en vervolgens al deze gegevens plakken in 1 cel. Dat lukt wel, maar ik krijg deze gegevens dan verticaal in de cel, is het mogelijk om het ook horizontaal in de cel te krijgen. Helemaal mooi zou zijn als er ook nog telkens een komma tussen zit. Wie weet hoe dit moet? Het liefst zonder het gebruik van een formule.. Alvast bedankt :)
http://uk.answers.yahoo.c(...)0070929072105AAjHDWu

Je hebt dan wel MS Word nodig. (en paste special rich text)
reset
pi_105718753
quote:
0s.gif Op zondag 18 december 2011 11:23 schreef EL_Presidente het volgende:
k wil gegevens uit cellen A1 t/m A50 kopiëren en vervolgens al deze gegevens plakken in 1 cel. Dat lukt wel, maar ik krijg deze gegevens dan verticaal in de cel, is het mogelijk om het ook horizontaal in de cel te krijgen. Helemaal mooi zou zijn als er ook nog telkens een komma tussen zit. Wie weet hoe dit moet? Het liefst zonder het gebruik van een formule.. Alvast bedankt :)
1
2
3
4
5
6
7
8
9
10
Sub AddCellVal()
    Dim Str As String
    Dim i As Integer
    
    For i = 1 To 50
        Str = Str & Cells(i, 1) & ","
    Next
    
    ActiveCell.Value = Str
End Sub

Plak dit in de VBA editor in de betreffende sheet

Als je nu "run macro" doet zal in de cel waar je in staat bij het runnen van de macro jouw rij met gegevens staan
pi_105718894
quote:
0s.gif Op zondag 18 december 2011 12:22 schreef KritischeMassa het volgende:

[..]
[ code verwijderd ]

Plak dit in de VBA editor in de betreffende sheet

Als je nu "run macro" doet zal in de cel waar je in staat bij het runnen van de macro jouw rij met gegevens staan
kan je dit misschien stap voor stap uitleggen in Jip en Janneke taal voor iemand die Excel nooit gebruikt.. :@
pi_105718910
quote:
0s.gif Op zondag 18 december 2011 12:28 schreef EL_Presidente het volgende:

[..]

kan je dit misschien stap voor stap uitleggen in Jip en Janneke taal voor iemand die Excel nooit gebruikt.. :@
welke excel versie heb je (versie en taal?)
pi_105718934
quote:
0s.gif Op zondag 18 december 2011 12:29 schreef KritischeMassa het volgende:

[..]

welke excel versie heb je (versie en taal?)
Excel voor Mac 2011 (versie 14.0) Nederlands
pi_105719093
aaaarrgh

Ik had alles verwacht behalve mac...

ok heb even gegoogled en het schijnt dat de 2011 versie weer VBA ondersteunt (vanaf 2008 niet meer namelijk)

Er schijnt een "develepper Tab" te bestaan met hier de "VBA editor"

Als je deze editor opent zie je als het goed is dit:



(exclusief de modules, want die heb je nog niet)

dubbelclick op "sheet1" en het rechter paneer is een wit werkblad

hierin plak je de code die ik je gaf

je kan de editor nu sluiten

sla je sheet op en zoek naar "macro's"

run macro en kies de macro "AddCellVal"

in de cel die je hebt geselecteerdstaan tijdens het draaien van de macro zou de regel moeten verschijnen
pi_105719171
moet ik die getallen 1 t/m 10 in de code ook pasten of zonder?
pi_105719221
quote:
0s.gif Op zondag 18 december 2011 12:39 schreef EL_Presidente het volgende:
moet ik die getallen 1 t/m 10 in de code ook pasten of zonder?
zonder

dat is automagische toevoeging

dus code is zonder codetag:

Sub AddCellVal()
Dim Str As String
Dim i As Integer


For i = 1 To 50
Str = Str & Cells(i, 1) & ","
Next

ActiveCell.Value = Str

End Sub
pi_105719336
quote:
0s.gif Op zondag 18 december 2011 12:40 schreef KritischeMassa het volgende:

[..]

zonder

dat is automagische toevoeging

dus code is zonder codetag:

Sub AddCellVal()
Dim Str As String
Dim i As Integer


For i = 1 To 50
Str = Str & Cells(i, 1) & ","
Next

ActiveCell.Value = Str

End Sub
ik moet het kennelijk niet op een gewone manier opslaan, omdat er macro's zitten.. hoe dan wel?

pi_105719350
.xlsm
pi_105719446
klikken op uitvoeren?
pi_105719460
ja
pi_105719623
quote:
0s.gif Op zondag 18 december 2011 12:46 schreef KritischeMassa het volgende:
ja
Die komma's op het eind, is daar wat aan te doen en is het mogelijk om na elke komma één spatie te krijgen?
pi_105719700
tuurlijk:

Sub AddCellVal()
Dim Str As String
Dim i As Integer


For i = 1 To 50
if cells(i,1)="" then exit for
Str = Str & Cells(i, 1) & ", "

Next

ActiveCell.Value = Str

End Sub

[ Bericht 7% gewijzigd door #ANONIEM op 18-12-2011 12:54:41 ]
pi_105719906
quote:
0s.gif Op zondag 18 december 2011 12:51 schreef KritischeMassa het volgende:
tuurlijk:

Sub AddCellVal()
Dim Str As String
Dim i As Integer


For i = 1 To 50
if cells(i,1)="" then exit for
Str = Str & Cells(i, 1) & ", "

Next

ActiveCell.Value = Str

End Sub
sweet, het werkt.. _O_

pi_105719976
hoe doe ik dit bijvoorbeeld als ik de kolom A1 t/m A15 in een sheet heb, en de cel waarin ik deze wil plakken in een andere sheet zit? dus als je met 2 sheets werkt.
pi_105720086
nou
quote:
0s.gif Op zondag 18 december 2011 12:58 schreef EL_Presidente het volgende:
hoe doe ik dit bijvoorbeeld als ik de kolom A1 t/m A15 in een sheet heb, en de cel waarin het wil plakken in een andere sheet zit? dus als je met 2 sheets werkt.
door activecell=str

te vervangen door

SHEETNAAM.cells(RIJ NUMMER , KOLOMNUMMER).value = str

te typen

caps houdt in dat je die moet vervangen door passende waarden

Cells werken met rij en kolom nummers je kan ook bijvoorbeeld .range("A1") gebruiken
pi_105720210
quote:
0s.gif Op zondag 18 december 2011 13:00 schreef KritischeMassa het volgende:
nou

[..]

door activecell=str

te vervangen door

SHEETNAAM.cells(RIJ NUMMER , KOLOMNUMMER).value = str

te typen

caps houdt in dat je die moet vervangen door passende waarden

Cells werken met rij en kolom nummers je kan ook bijvoorbeeld .range("A1") gebruiken
ok.. KritischeMassa je hebt me geweldig geholpen, super bedankt.. ^O^ moet wel vet zijn als je dit allemaal kan, lijkt me.. :)
pi_105720233
quote:
0s.gif Op zondag 18 december 2011 13:03 schreef EL_Presidente het volgende:

[..]

ok.. KritischeMassa je hebt me geweldig geholpen, super bedankt.. ^O^ moet wel vet zijn als je dit allemaal kan, lijkt me.. :)
Geen probleem ;) enne jij kan het nu toch ook?
pi_105720288
quote:
0s.gif Op zondag 18 december 2011 13:04 schreef KritischeMassa het volgende:

[..]

Geen probleem ;) enne jij kan het nu toch ook?
Ja dat is waar :) , maar jij kent/spreekt echt die codetaal, hoe je het moet aanpassen enzo.. :P
  zondag 18 december 2011 @ 13:24:54 #32
62215 qu63
..de tijd drinkt..
pi_105721033
quote:
0s.gif Op zondag 18 december 2011 13:05 schreef EL_Presidente het volgende:

[..]

Ja dat is waar :) , maar jij kent/spreekt echt die codetaal, hoe je het moet aanpassen enzo.. :P
Google kan je ook goed helpen ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105730535
quote:
0s.gif Op zondag 18 december 2011 13:24 schreef qu63 het volgende:

[..]

Google kan je ook goed helpen ;)
dat geldt voor zowat iedere vraag in dit topic, en maakt daarmee het topic zinloos

Daarbij, je moet wel weten wat je zoekt, ik denk dat voor El_presidente zelf had uitgevonden dat hij met een for loop door cellen kon lopen om deze in een string variabele samen te voegen hij sneller was geweest door handmatig cel 1 tot 16 samen te voegen.

De kracht van een topic als dit is juist dat je elkaar verder helpt met kennis die voor jou paraat is.

Ik hoop dat El_Presidente geïnspireerd is geraakt en voortbouwt op het stukje code dat ik hem aangaf. Bijvoorbeeld dat hij de code ook kan draaien door deze aan een button toe te wijzen.

Zijn we niet allemaal begonnen door te vragen?
  zondag 18 december 2011 @ 16:58:47 #34
62215 qu63
..de tijd drinkt..
pi_105730856
quote:
0s.gif Op zondag 18 december 2011 16:52 schreef KritischeMassa het volgende:

[..]

dat geldt voor zowat iedere vraag in dit topic, en maakt daarmee het topic zinloos

Daarbij, je moet wel weten wat je zoekt, ik denk dat voor El_presidente zelf had uitgevonden dat hij met een for loop door cellen kon lopen om deze in een string variabele samen te voegen hij sneller was geweest door handmatig cel 1 tot 16 samen te voegen.
Nee, maar zelf doorzoeken op een antwoord wat hier gegeven wordt is imho leerzamer :)
Je gaf El_presidente een zet in de goede richting, iets wat met google mss niet gelukt was, maar google had daarna wel kunnen helpen denk ik :)
quote:
De kracht van een topic als dit is juist dat je elkaar verder helpt met kennis die voor jou paraat is.

Ik hoop dat El_Presidente geïnspireerd is geraakt en voortbouwt op het stukje code dat ik hem aangaf. Bijvoorbeeld dat hij de code ook kan draaien door deze aan een button toe te wijzen.

Zijn we niet allemaal begonnen door te vragen?
Ja, en mede daarom blijf ik hier ook nog steeds hangen :)

Misschien dat ik wat verder ben qua Excelkennis en VBA een beetje kan lezen en daardoor een code makkelijker werkend kan krijgen..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105731168
Ben het deels eens met qu63. Je had een goede voorzet gegeven, de overige vragen had hij zelf wel over kunnen nadenken en uitvogelen...
Maar goed, nu de code stap voor stap doornemen en snappen, dan schiet je er wat me op ;)
pi_105732488
Ja ok, maar ik heb een hekel aan "google is your friend" reacties, ze voegen zelden wat toe.

Maar op verzoek:

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
Sub AddCellVal() 'open een subroutine met een herkenbare naam

Dim Str As String 'declareer een string variabele met de naam Str
Dim i As Integer 'declareer teller i als integer (waarde van -32000 tot +32000)

'we maken een loop met een teller
'in de for loop tellen we met stappen van 1 tot 50
'je kan ook met stappen van bijvoorbeeld twee tellen door
'for i = 1 to 50 step 2 te gebruiken
'werken met een teller is handig omdat we de teller 
'meteen gebruiken voor navigatie door de sheet

For i = 1 To 50
'als er een lege cel wordt aangetroffen stopt de loop 
'door "exit for" 
if cells(i,1)="" then exit for

'als er geen lege cel wordt aangetroffen
'rijgen we de stringvariabele "Str" met de celwaarden aaneen
'voorzien van een ", " komma spatie
'we lopen door de sheet heen waarin de code is 
'aangebracht. Als je deze code vanuit een andere sheet of uit een module draait
'moet je aanwijzen waar de cells zich bevinden door
'bijvoorbeeld sheets("SHEETNAAM").cells(RIJ,KOLOM) of activesheet.cells(RIJ,KOLOM)
'ik maak gebruik van cells in plaats van Range omdat ik dan kan tellen door zowel 
'rijen als kolommen (range vraagt celnamen, bv "A1")  

Str = Str & Cells(i, 1) & ", "

'door de statement "Next" springt de code terug naar het begin van de loop
'als de for loop wordt onderbroken door "exit for" of als er tot 50 is geteld
'gaat de code verder na de "next" statement
Next

'De cel die geselecteerd was toen je de code liet draaien
'is de active cell, alternatief kun je verwijzen naar een statische cel
'door deze vast te zetten, bijvoorbeeld cel C1 -> activesheet.cells(1,3) of
'cel C1 in een tabblad met de naam "resultaat" -> sheets("resultaat").cells(1,3)
'ook kun je in dit geval gebruik maken van Range: sheets("resultaat").range("C3")
'zie ook activeworkbook en worbooks("workbooknaam") om 
'tussen twee verschillen excel workbooks te schakelen

ActiveCell.Value = Str

End Sub 

een volledige verwijzing die onafhankelijk van de sheet of module waar de code instaat ziet er als volgt uit:

workbooks("werkboeknaam").sheets("sheetnaam").cells(RIJNUMMER, KOLOMNUMMER)

[ Bericht 5% gewijzigd door #ANONIEM op 18-12-2011 17:52:36 ]
pi_105958382
Ik heb een excel bestand waarin vanuit een ander bestand plaatjes zijn geplakt. Kan ik op 1 of andere manier excel deze plaatsjes laten lezen, dus bijvoorbeeld wanneer er ergens een plaatje van een plusje staat dat excel dat herkent?
pi_105958586
nee, ik denk niet dat dat mogelijk is, misschien OCR wat?
pi_105959291
Not a chance dat Excel dat doet.
pi_105962627
quote:
0s.gif Op vrijdag 23 december 2011 12:59 schreef DaFan het volgende:
Not a chance dat Excel dat doet.
ook niet met een gave sumproduct-formule?
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
pi_105963364
quote:
3s.gif Op vrijdag 23 december 2011 14:24 schreef Deetch het volgende:

[..]

ook niet met een gave sumproduct-formule?
I wish... Fap fap fap
  vrijdag 23 december 2011 @ 18:50:05 #42
62215 qu63
..de tijd drinkt..
pi_105972032
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105973250
quote:
Ja, deze code scant naar plaatjes in een excel file en geeft het relatieve adres, herkenning van wat in het plaatje te zien is doet het echter niet.

Dan zou je moeten doorcoderen met gebruik van een OCR lib, maar die zijn gesloten (vaak)

dus, geen kans
  vrijdag 23 december 2011 @ 20:20:50 #44
62215 qu63
..de tijd drinkt..
pi_105975910
quote:
0s.gif Op vrijdag 23 december 2011 19:21 schreef KritischeMassa het volgende:

[..]

Ja, deze code scant naar plaatjes in een excel file en geeft het relatieve adres, herkenning van wat in het plaatje te zien is doet het echter niet.

Dan zou je moeten doorcoderen met gebruik van een OCR lib, maar die zijn gesloten (vaak)

dus, geen kans
Ow :P Had het artikel ff snel gescand, niet goed gelezen dus ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_105984266
quote:
0s.gif Op vrijdag 23 december 2011 20:20 schreef qu63 het volgende:

[..]

Ow :P Had het artikel ff snel gescand, niet goed gelezen dus ;)
zou ook hele knappe code zijn, google zou dol op die jongen zijn, en captcha makers niet zo
  zaterdag 24 december 2011 @ 10:42:08 #46
62215 qu63
..de tijd drinkt..
pi_105994840
quote:
0s.gif Op vrijdag 23 december 2011 23:02 schreef KritischeMassa het volgende:

[..]

zou ook hele knappe code zijn, google zou dol op die jongen zijn, en captcha makers niet zo
Nou ja, een zwart plusje op een witte achtergrond is wel heel anders dan kromme, onduidelijke letters op een gekleurde achtergond ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zaterdag 24 december 2011 @ 18:44:52 #47
85514 ralfie
!Yvan eht nioj
pi_106009320
Het kan best, er zijn open source OCR bibliotheken die je met excel (al dan niet met wat klussen) aan kan spreken.

Het waarom blijft echter.
pi_106010676
quote:
0s.gif Op zaterdag 24 december 2011 18:44 schreef ralfie het volgende:
Het kan best, er zijn open source OCR bibliotheken die je met excel (al dan niet met wat klussen) aan kan spreken.

Het waarom blijft echter.
Dat had ik ook al aangegeven in post #43 maar ik vraag me af in hoevere die gedocumenteerd en open zijn. Daarbij inderdaad, hoe interessant is het om je erin te verdiepen, ik ben het zelf nog nooit tegengekomen (de wens om plaatjes te lezen in excel)
pi_106176567
Ik loop al een dag te worstelen met een probleem dat volgens mij redelijk makkelijk opgelost kan worden. Ik heb een uitgebreide database (>500.000 records) met privacy gevoelige informatie waar ik graag wat analyses op los wil laten. Omdat ik deze database helaas niet kan delen, heb ik een document bijgevoegd waarin ik enkele fictieve gegevens heb genoteerd, maar waarop ik wat betreft systemathiek vergelijkbare analyses wil draaien.

Het bijgevoegde voorbeeld kent drie bladen; één met filtercriteria , één met de database en één waarin de output geplaats moet worden. Op basis van de criteria geplaatst in het eerste blad wil ik graag in het derde blad alle spelers krijgen die aan beide criteria voldoen. Omdat sommige spelers meerdere keren voorkomen in de database, zou ik graag zien dat elke speler maar één keer in het derde blad (de output) terecht komt.

Ik redelijk thuis in Excel, maar van het programmeren in VBA heb ik absoluut geen kaas gegeten. Met filteren kom ik al een heel eind, maar de slag naar unieke records kan ik maar niet slaan. Daarnaast zou het ook heerlijk zijn om alleen maar criteria in te hoeven vullen in plaats van telkens de filters aan te passen. Volgens mij moet dit mogelijk zijn met behulp van VBA, maar ik ken de krachten van die tool ook niet echt goed...

http://www.mediafire.com/?h4sx6dmyjf5oh5d
pi_106177203
Beste Thijs,

Ik heb de file bekeken en dat is heel goed mogelijk, ik zou dit in een handomdraai kunnen programmeren, echter, wat is jouw doel?

Wil je een kant en klaar product of wil je leren hoe je het aan moet pakken?

Daarbij heb ik wel aanvullende vragen over de filtercriteria, namelijk in je eerste criteria "kwaliteit" noem je eigenlijk twee keuzemogelijkheden.

Wil je dus een formulier met drie rolmenutjes die als volgt heten:

Kwaliteit 1
Kwaliteit 2 (optioneel)
Lengte

En dan een ok button die alle unieke spelers in blad drie neergooit?

[ Bericht 0% gewijzigd door #ANONIEM op 29-12-2011 19:38:53 ]
pi_106177310
en bedoel je met >500.000 records 500.000 regels?

Want dan wordt VBA wel een erge trage optie (ik neem ook aan dat je excel >2007 draait?)
pi_106177515
En wat maakt een speler uniek, zijn naam of een combinatie van naam en leeftijd, want ik zie alleen maar voornamen, en ik kan me voorstellen dat Dubaern een uniek persoon is maar Chris kan denk ik vele malen een ander persoon zijn (ik ken er al 3)
pi_106177830
Heb mijn bestand nog even nagekeken, en het blijken gelukkig niet meer dan een half miljoen regels te zijn, maar 'maar' 200.000.

En een uitleg hoe het zou moeten zou fijn en leerzaam zijn, maar denk ik dat ik beter eerst kan beginnen met een standaardcursus programmeren om zo zelf tot een uitkomst te komen. Een VBA code zou wat betreft betreft dus al genoeg zijn en ontzettend gewaardeerd worden! Met de opzet van zo'n code zou ik deze aan kunnen passen zodat 'ie toepasbaar is op de database waarvoor de code daadwerkelijk gebruikt gaat worden.

De sheet die bijgevoegd is, is min of meer een voorbeeld van mijn volledige database die bedrijfsgevoelige informatie bevat. De 'voetballers' -voorbeelden zijn meer een greep uit mijn eigen belevingswereld :) De namen zelf in dit voorbeeld zijn de unieke regels

De criteria die ik graag wil gebruiken zijn twee verschillende;

1. Alle regels uit kolom C met óf "eigenschap 1" óf "eigenschap 2" overhouden
2. Alle regels uit kolom D met een waarde tussen "x" en "y"
pi_106178345
quote:
0s.gif Op donderdag 29 december 2011 19:51 schreef Thijsssss het volgende:
De namen zelf in dit voorbeeld zijn de unieke regels
Ja, dat zijn ze dus niet, dus nogmaals, hebben de echte regels een voor en achternaam of gaat het hier ook om alleen voornamen?

Daarnaast, 200.000 regels is veel voor VBA, wat je namelijk gaat doen is tellen en door de cellen lopen met een for loop

-----pseudocode-------------------------
For i = 1 to endoflist

if cell(i,3)= criteria1 and cell (i,4) = criteria3 or cell(i,3) = criteria2 and cell (i,4) = criteria3 then

kopieer naar ander blad

end if

next
----------------------------------------------------------

Daarna zal je in blad met resultaten nog een keer moeten loopen om alle dubbels eruit te gooien

zegmaar

Bij 200000 regels ga je denken dat excel vast is gelopen

Ik vraag me ook af in welke database de data oorspronkelijk staat, met een simpele SQL opdracht heb je dan in een handomdraai je data
pi_106178698
Ik ga zo een filmpje kijken met vrouwlief dus ben offline, probeer de vragen die ik je stel zo goed mogelijk te beantwoorden.

(bv welke excelversie draai je)

Ik ga geen kant en klaar product leveren, tenminste niet zomaar, je zal hier zelf effort in moeten steken. Ik wil je wel uitleggen hoe je door bladen heen loopt en hoe je een formulier aanmaakt en een rolmenu vult.

Je zal echter zeker moeten zijn dat je een database hebt met werkelijk unieke records, iets wat in excel (zeker met 200000 regels) erg lastig wordt, is chris van 24 jaar dezelfde chris van 25 jaar? of zijn er twee chrissen van 24?

Ben je überhaupt thuis ind e VBA editor van Excel?

Wat voor taal is jouw excel?
  donderdag 29 december 2011 @ 20:33:16 #56
85514 ralfie
!Yvan eht nioj
pi_106179688
Waarom loop je te kutten in Excel, dit is waar Access voor gemaakt is. Ja het kan, net zoals je met je Suzuki Alto tonnen zand kunt vervoeren, maar handig is anders.
pi_106179820
Dank voor de eerste opzet! Ik ga hier zelf wel even verder mee kloten, samen met mijn goede vriend Google :) Fijn dat je er al naar gekeken hebt!

Voornaamste reden waarom het niet in Access staat is dat ik op deze werkplek geen Access heb... Belachelijk maar waar. Ik ga het thuis proberen te plaatsen in Access. Is er ook een topic voor vragen over dat programma? :P
pi_106183799
Nee is er niet...open maar een nieuw topic ervoor of zet het hier neer. Volgens mij is het gros hier ook wel bekend met Access.
pi_106316793
Mijn vraag:
Ik probeer via een vlookup meerdere resultaten weer te geven. Dat heb ik gedaan d.m.v.
http://www.get-digital-he(...)ng-vlookup-in-excel/
(En dan het onderste voorbeeld, met VBA)
Nu heb ik het in mijn eigen workbook gezet ( http://dl.dropbox.com/u/7579065/Vlookup_Macro_Test.xlsm
) alleen krijg geeft de functie elke keer alleen het eerste resultaat weer.
Dus in de eerste rij op blad twee staat 9x 69947373E, terwijl ik graag 69947373E 69947374F 69947375G, etc. zou willen zien. Hoe krijg ik dit voor elkaar? In het voorbeeld van de bovengenoemde site doen ze het, volgens mij, precies zo als ik het gedaan heb.

Het is een beetje een warrig verhaal, weet niet beter hoe ik het moet omschrijven. Daarom heb ik mijn excel file maar even online gezet. Hopelijk wil iemand er even naar kijken :)

En dan nog een vraag, kan ik met deze, of een aangepaste functie, niet alleen zoeken op de inhoud van een cel maar ook op de opmaak? Ik heb namelijk aardig wat identieke nummers die ik in mijn sheets uit elkaar houd door de cel een achtergrondkleur te geven.
Dus als ik zoek naar [1x] wil ik niet dat [BLAUWEACHTERGROND 1x] zijn resultaten weergegeven worden. En vice versa natuurlijk.
Kan dat? :)

Als iets niet duidelijk is of ik te weinig informatie heb gegeven dan hoor ik het graag.
Alvast bedankt voor alle eventuele hulp! :)
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106317349
Ik heb in excel 2007 op mijn werk pc een sheet gemaakt waarin een dropown van de datum zit.
(Invoegen, meer besturings elementen, microsoft date and time picker)

Zie ook hier :

http://danielcurran.com/i(...)excel-choose-a-date/

Op mijn pc werkt dit goed, maar als ik deze excel sheet bij collegas inlees klopt er niets meer van die dropdown, die wordt bij de ene collega opeens heel groot met een veel grotere spatiering tussen de datums waardoor het niet meer overzichtelijk is, en bij de andere collega krijg ik bij de dropdown alleen heel groot linksonder te zien van de datums.

Heeft iemand hier misschien een idee wat er precies fout is op die andere pc's of bij mij toevallig wel goed is. ;)
  maandag 2 januari 2012 @ 17:28:39 #61
62215 qu63
..de tijd drinkt..
pi_106317774
quote:
0s.gif Op maandag 2 januari 2012 17:17 schreef Basp1 het volgende:
Ik heb in excel 2007 op mijn werk pc een sheet gemaakt waarin een dropown van de datum zit.
(Invoegen, meer besturings elementen, microsoft date and time picker)

Zie ook hier :

http://danielcurran.com/i(...)excel-choose-a-date/

Op mijn pc werkt dit goed, maar als ik deze excel sheet bij collegas inlees klopt er niets meer van die dropdown, die wordt bij de ene collega opeens heel groot met een veel grotere spatiering tussen de datums waardoor het niet meer overzichtelijk is, en bij de andere collega krijg ik bij de dropdown alleen heel groot linksonder te zien van de datums.

Heeft iemand hier misschien een idee wat er precies fout is op die andere pc's of bij mij toevallig wel goed is. ;)
Schermresolutie en zoomniveau in Excel is overal gelijk?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  maandag 2 januari 2012 @ 17:36:24 #62
62215 qu63
..de tijd drinkt..
pi_106318026
quote:
7s.gif Op maandag 2 januari 2012 17:03 schreef Jesse_ het volgende:
En dan nog een vraag, kan ik met deze, of een aangepaste functie, niet alleen zoeken op de inhoud van een cel maar ook op de opmaak? Ik heb namelijk aardig wat identieke nummers die ik in mijn sheets uit elkaar houd door de cel een achtergrondkleur te geven.
Dus als ik zoek naar [1x] wil ik niet dat [BLAUWEACHTERGROND 1x] zijn resultaten weergegeven worden. En vice versa natuurlijk.
Kan dat? :)

Als iets niet duidelijk is of ik te weinig informatie heb gegeven dan hoor ik het graag.
Alvast bedankt voor alle eventuele hulp! :)
http://thefinch.wordpress(...)terhalen-zonder-vba/
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_106344130
Excel en CSV is nooit echt een goed huwelijk geweest.
Maar Excel, CSV en Unicode is helemaal een ramp.
Misschien een gouden tip voor het hanteren van Non-western CSV's, zonder dat ik naar zoiets als LibreOffice ( ;( ) moet grijpen?

Alvast bedankt.
pi_106344154
quote:
0s.gif Op maandag 2 januari 2012 17:28 schreef qu63 het volgende:

[..]

Schermresolutie en zoomniveau in Excel is overal gelijk?
Schermresolutie volgens mij niet, het zoomniveau heb ik wel overal op 100% gezet. Het zou natuurlijk ook nog aan de land instellingen en of tekengrote / andere profiel/ thema gerelateerde dingen kunnen liggen. Alhoewel ik dat niet zou verwachten. Dadelijk maar eens even wat testen.
pi_106344177
quote:
0s.gif Op dinsdag 3 januari 2012 08:45 schreef STING het volgende:
Excel en CSV is nooit echt een goed huwelijk geweest.
Maar Excel, CSV en Unicode is helemaal een ramp.
Misschien een gouden tip voor het hanteren van Non-western CSV's, zonder dat ik naar zoiets als LibreOffice ( ;( ) moet grijpen?

Alvast bedankt.
csv is toch afhankelijk van je landinstellingen of het werkt zoals het ooit bedoelt was. CSV staat eigenlijk voor comma separated values. Maar microsoft heeft bedacht dat de comma's niet perse gebruikt hoeven te worden en als je in je landinstellingen een ander scheidingsteken instelt schrijft excel daarme de csv uit. Als je dan wat oudere programma's hebt die er standaard vanuit gaan dat csv wel door comma's gescheiden worden gaat het fout.
pi_106344208
quote:
0s.gif Op dinsdag 3 januari 2012 08:51 schreef Basp1 het volgende:

[..]

csv is toch afhankelijk van je landinstellingen of het werkt zoals het ooit bedoelt was. CSV staat eigenlijk voor comma separated values. Maar microsoft heeft bedacht dat de comma's niet perse gebruikt hoeven te worden en als je in je landinstellingen een ander scheidingsteken instelt schrijft excel daarme de csv uit. Als je dan wat oudere programma's hebt die er standaard vanuit gaan dat csv wel door comma's gescheiden worden gaat het fout.
Dat was idd ook een probleem, maar hebben we idd opgelost door het locale op United Kingdom te zetten :') Zelfs in Excel 2010 werkt dat gaar.
Het probleem is hier dat bepaalde non-western characters in vraagtekens veranderen, zodra je ze convert van XLS naar CSV in Excel (2003).
pi_106344787
quote:
Aha, dank je :)
Nu mijn eerste probleem nog. Dus als iemand er even naar kijken, heel graag.

Ik heb nu het volgende bedacht:
met dit VBA script:
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
Function vbaVlookup(lookup_value As Range, tbl As Range, col_index_num As Integer, Optional layout As String = "v")
Dim r As Single, Lrow, Lcol As Single, temp() As Variant

ReDim temp(0)

For r = 1 To tbl.Rows.Count
    If lookup_value = tbl.Cells(r, 1) Then
        temp(UBound(temp)) = tbl.Cells(r, col_index_num)
        ReDim Preserve temp(UBound(temp) + 1)
    End If
Next r

If layout = "h" Then
    Lcol = Range(Application.Caller.Address).Columns.Count
    For r = UBound(temp) To Lcol
        temp(UBound(temp)) = ""
        ReDim Preserve temp(UBound(temp) + 1)
    Next r
    ReDim Preserve temp(UBound(temp) - 1)
    vbaVlookup = temp
Else
    Lrow = Range(Application.Caller.Address).Rows.Count
    For r = UBound(temp) To Lrow
        temp(UBound(temp)) = ""
        ReDim Preserve temp(UBound(temp) + 1)
    Next r
    ReDim Preserve temp(UBound(temp) - 1)
    vbaVlookup = Application.Transpose(temp)
End If

End Function
(zit in een module in de link hierboven)
Wil ik de resultaten die bij een productnummer horizontaal laten weer geven,
dus prodnr.131 onderdeel1 onderdeel2. etc. tot alle genoemd zijn.
En de range die ik hierin mee geef wil ik graag afhankelijk laten worden van de kleur die de cell heeft. Dit d.m.v. een script zoals hier gepost. Ik heb alleen +/- 10 verschillende kleuren, kan ik dit in een IF statement verwerken in de zelfgemaakte functie vbaVlookup?

Het eerste deel van mijn eerste post is op dit moment nog wat belangrijker voor mij, want zonder dat kan ik wat ik nu bedacht heb niet gaan testen :)

(heb hem nogmaals online gezet, zonder de makro aangezien vast niet iedereen dat vertrouwt)
http://dl.dropbox.com/u/7579065/Vlookup_Macro_Test.xlsx De makro in de code hierboven moet er dan alleen nog los als een module ingezet worden.
Alvast bedankt voor de eventuele hulp en moeite :)
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106346033
Hello, als nieuweling in dit topic zal ik proberen me zo goed mogelijk aan de regels te houden ondanks dat het juist onderdeel van mijn probleem is:

Tip 1: De help functie van excel of visual basic voor excel kan je echt een eind op weg helpen ! (F1)
Biedt geen uitkomst :(

Tip 2: Als je een vraag stelt, zet er dan bij welke versie je hebt en op welke taal hij ingesteld staat!
Excel 2003 Engels

Tip 3: Zet macrocode even tussen [ code ] tags
Tja... dat is 'm nou net. Heb een sheet van een ander die naar ik vermoed een query bevat die door een macro gestart kan worden en data uit een ERP (o.i.d.) systeem haalt.

Bij openen van het bestand vraagt Excel, zoals gebruikelijk, toestemming macro's te gebruiken, die geef ik. Vervolgens ontbreekt ieder spoor van de macro.

Hoe vind ik deze macro terug die mijn query kan starten? (Tools, Macro, Macro's / Alt + F8 heb ik natuurlijk al geporbeerd)

Alvast bedankt!
pi_106346235
Alt-F11? Anders is uw mss verstopt?
pi_106346247
quote:
0s.gif Op dinsdag 3 januari 2012 10:40 schreef Goofy88 het volgende:
Hello, als nieuweling in dit topic zal ik proberen me zo goed mogelijk aan de regels te houden ondanks dat het juist onderdeel van mijn probleem is:

Tip 1: De help functie van excel of visual basic voor excel kan je echt een eind op weg helpen ! (F1)
Biedt geen uitkomst :(

Tip 2: Als je een vraag stelt, zet er dan bij welke versie je hebt en op welke taal hij ingesteld staat!
Excel 2003 Engels

Tip 3: Zet macrocode even tussen [ code ] tags
Tja... dat is 'm nou net. Heb een sheet van een ander die naar ik vermoed een query bevat die door een macro gestart kan worden en data uit een ERP (o.i.d.) systeem haalt.

Bij openen van het bestand vraagt Excel, zoals gebruikelijk, toestemming macro's te gebruiken, die geef ik. Vervolgens ontbreekt ieder spoor van de macro.

Hoe vind ik deze macro terug die mijn query kan starten? (Tools, Macro, Macro's / Alt + F8 heb ik natuurlijk al geporbeerd)

Alvast bedankt!
probeer alt f11 even, dan kom je bij VBA dingen terecht
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106347156
quote:
1s.gif Op dinsdag 3 januari 2012 10:48 schreef DaFan het volgende:
Alt-F11? Anders is uw mss verstopt?
Mijn mss verstopt? Wat betekent dat? Alt+F11 geeft: Zie onderstaand

quote:
7s.gif Op dinsdag 3 januari 2012 10:48 schreef Jesse_ het volgende:

[..]

probeer alt f11 even, dan kom je bij VBA dingen terecht
thnx, daarin staat:

"Sub XXXXXXonRefresh(queryID As String, resultArea As Range)

End Sub"

Verder niets, kan ik daar iets mee? VCA is niet voor mij :@
pi_106347481
Als die sub leeg is kan hij ook niks, volgens mij dan :)
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106348850
Oh autocorrect, sorry.
Ja code kan gehuwde zijn dus dat je er niet bij kan als je bv wachtwoord niet hebt.
pi_106360387
Wat is het maximum aantal geneste if statements in excel 2007? (en 2010?) Ik lees namelijk dat 2003 er max 7 aankan, terwijl ik er 16 nodig heb voor mijn oplossing :')
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106360504
quote:
7s.gif Op dinsdag 3 januari 2012 16:34 schreef Jesse_ het volgende:
Wat is het maximum aantal geneste if statements in excel 2007? (en 2010?) Ik lees namelijk dat 2003 er max 7 aankan, terwijl ik er 16 nodig heb voor mijn oplossing :')
Denk dat je dan onderhand moet gaan denken aan een alternatieve oplossing.
pi_106360977
quote:
10s.gif Op dinsdag 3 januari 2012 16:37 schreef Citizen.Erased het volgende:

[..]

Denk dat je dan onderhand moet gaan denken aan een alternatieve oplossing.
Dat laat mijn kennis van excel en VBA niet toe :')

Misschien dat iemand hier een oplossing heeft:

Ik gebruik deze formule om nummers uit een ander sheet horizontaal weer te geven (dit werkt)
1INDEX(Nummers!$C$2:$C$538; SMALL(IF($A1=Nummers!$A$2:$A$538; ROW(Nummers!$A$2:$A$538)-MIN(ROW(Nummers!$A$2:$A$538))+1; ""); COLUMN(A1)))

Nou wil ik alleen niet dat voor elk getal uit kolom A het hele andere bestand (of sheet) doorzocht wordt.Dit omdat er dubbelen in staan.
Deze dubbele entries zijn ondanks dat ze de naam delen wel degelijk uniek en ik maak onderscheid door ze een kleur te geven.
Nu wil ik dus dat deze zoekopdracht per kleur een afgebakend gebied van de sheet met de data doorzoekt.
Dit heb ik geprobeerd door in kolom B de kleur, d.m.v. een VBA script, om te zetten in een nummer. En dit nummer bepaalt in welk deel
gezocht mag worden.
Dit had ik me zo voorgesteld:
1IF($B2=3;INDEX(kleurtest!$B$17:$B$38; SMALL(IF($A2=kleurtest!A17:A38; ROW(kleurtest!A17:A38)-MIN(ROW(kleurtest!A17:A38))+1; ""); COLUMN(A1))); IF($B2=6;INDEX(kleurtest!B2:B14; SMALL(IF($A2=kleurtest!A2:A14; ROW(kleurtest!A2:A14)-MIN(ROW(kleurtest!A2:A14))+1; ""); COLUMN(A1)));"Etcetera, alleen kom ik IFjes tekort")
Ik heb alleen meer dan 7 IF statements nodig omdat ik meer kleuren gebruik (minder onderscheid kan helaas niet).
Is er hier iemand die misschien een handige oplossing weet? Of me in ieder geval in een oplossingsrichting kan duwen?
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106361321
Lukt dat met je kleurtjes ook niet met de functie voorwaardelijk opmaak waarbij hij ook dubbele kan markeren.

Verder zou ik als ik jou was dan voor sommige zoekfuncties met losse tabbladen waar wel dingen mogen verdwijnen gaan werken.
pi_106364349
Ben al de hele middag aan het zoeken maar vind alleen maar varianten die het allemaal net niet zijn volgens mij en die ik ook zo snel niet aangepast krijg naar wat ik zou moeten hebben. Ongetwijfeld een simpele oplossing, maar als je het weet is alles simpel.

Ik wil in een macro het aantal rijen (zonder filters aan o.i.d.) van een lijst hebben. Met dat aantal wil ik een For/Next ding maken om per rij telkens wat gegevens uit cellen over te plaatsen naar cellen op een ander tabblad. Ook hoe ik tijdens die loop dan die cellen en rijen zou moeten benoemen (juiste syntax zeg maar) is me nog niet helemaal duidelijk.

Anyone iets om me op weg te helpen? Exacte code is handig natuurlijk, maar daar leer ik verder niet zoveel van. ;).
  dinsdag 3 januari 2012 @ 18:28:48 #79
249182 Holy_Goat
mhèèhèhè
pi_106364594
ga eens stoeien met deze termen die ik zo in willekeurige volgorde heb neergemikt

for rij = n to m
next rij
cells(rij,kolom)
sheets('sheetnaam')
pi_106367148
Eh ja, zover was ik zelf ook allang.
  woensdag 4 januari 2012 @ 02:09:58 #81
62215 qu63
..de tijd drinkt..
pi_106384197
quote:
0s.gif Op dinsdag 3 januari 2012 19:33 schreef Modus het volgende:
Eh ja, zover was ik zelf ook allang.
Wat heb je dan zelf gevonden waar je neit uit komt?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_106386703
Ja vanalles. Ik heb de hele middag zitten zoeken op 'VBA count rows' e.d. in weetikhoeveel varianten, en dingetjes met een loop. Dan kom ik bv. een script tegen dat het aantal rijen telt en met een loop vanaf de laatste rij terug elke lege rij delete. Leuk, maar dat is het net niet, en zelfs dat tellen is al niet helemaal zoals ik het wil hebben.

Maar goed, ik ga wel verder zoeken.
  woensdag 4 januari 2012 @ 11:33:53 #83
85514 ralfie
!Yvan eht nioj
pi_106389518
quote:
0s.gif Op woensdag 4 januari 2012 09:18 schreef Modus het volgende:
Ja vanalles. Ik heb de hele middag zitten zoeken op 'VBA count rows' e.d. in weetikhoeveel varianten, en dingetjes met een loop. Dan kom ik bv. een script tegen dat het aantal rijen telt en met een loop vanaf de laatste rij terug elke lege rij delete. Leuk, maar dat is het net niet, en zelfs dat tellen is al niet helemaal zoals ik het wil hebben.

Maar goed, ik ga wel verder zoeken.
je vraag is dus niet 'snap het niet' maar 'kan iemand dit voor mij maken'?
pi_106390107
quote:
0s.gif Op woensdag 4 januari 2012 09:18 schreef Modus het volgende:
Ja vanalles. Ik heb de hele middag zitten zoeken op 'VBA count rows' e.d. in weetikhoeveel varianten, en dingetjes met een loop. Dan kom ik bv. een script tegen dat het aantal rijen telt en met een loop vanaf de laatste rij terug elke lege rij delete. Leuk, maar dat is het net niet, en zelfs dat tellen is al niet helemaal zoals ik het wil hebben.

Maar goed, ik ga wel verder zoeken.
Kan je die vba dingen die het bijna doen dan niet wat aanpassen?
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
  woensdag 4 januari 2012 @ 13:21:14 #85
340838 VakantieNancy
Altijd op Vakantie
pi_106392772
Ik zit al een tijdje de dubben over een sheet voor het berekenen van hypotheeklasten en voor sparen
Als je namelijk een schuld X hebt, en je lost iedere maand een deel af en iedere maand een deel rente van je hele rentesom over dat jaar. Hoe bereken je dan een jaarlast? Want aan het begin van het jaar is de Rentelast hoger dan aan het eind van het jaar, je hebt immers afgelost
Net als met sparen, de rente die je ontvangt, als je iedere maand wat spaart, hoe bereken je dan de rente over het hele jaar, want aan het eind van het jaar staat er meer op de rekening dan aan het begin.
Zonnenschijn en Champagne, van Spanje tot Rockanje
  woensdag 4 januari 2012 @ 13:28:40 #86
62215 qu63
..de tijd drinkt..
pi_106393027
quote:
0s.gif Op woensdag 4 januari 2012 13:21 schreef VakantieNancy het volgende:
Ik zit al een tijdje de dubben over een sheet voor het berekenen van hypotheeklasten en voor sparen
Als je namelijk een schuld X hebt, en je lost iedere maand een deel af en iedere maand een deel rente van je hele rentesom over dat jaar. Hoe bereken je dan een jaarlast? Want aan het begin van het jaar is de Rentelast hoger dan aan het eind van het jaar, je hebt immers afgelost
Net als met sparen, de rente die je ontvangt, als je iedere maand wat spaart, hoe bereken je dan de rente over het hele jaar, want aan het eind van het jaar staat er meer op de rekening dan aan het begin.
Er zijn verschillende manieren om dat te bereken, met ook ieder een verschillende uitkomst. Met rente is het soms zo dat je aan het einde van het jaar rente krijgt over het gemiddelde bedrag wat op je rekening staat. Dus sparen in januari is gunstiger dan in december. Het kan ook zijn dat je bank het berekend aan de hand van het saldo op 1-1 en je extra rente geeft voor iedere euro daarboven die je op je rekening laat staan. Op deze manier wordt geld opnemen eigenlijk ontmoedigt..

Met je hypotheek zou je 12 keer je maandlasten uit kunnen rekenen, die bij elkaar optellen en delen door 12, dan heb je je gemiddelde maandlasten in 1 jaar. Vraag anders even na bij je bank/hypotheekverstrekker hoe zij het berekenen :)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_106396625
quote:
0s.gif Op woensdag 4 januari 2012 11:33 schreef ralfie het volgende:
je vraag is dus niet 'snap het niet' maar 'kan iemand dit voor mij maken'?
Zoals ik al zei, een compleet iets zou handig zijn maar daar leer ik weer niks van. Dus ik zoek nog wel even verder.
pi_106398972
1
2
3
4
5
6
7
8
9
10
11
12
13
=IF($B2=-4142;INDEX('[Alles.xlsx]-4142'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]-4142'!$A$2:$A$7209; ROW('[Alles.xlsx]-4142'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]-4142'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
IF($B2=3;INDEX('[Alles.xlsx]3'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]3'!$A$2:$A$7209; ROW('[Alles.xlsx]3'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]3'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
IF($B2=6;INDEX('[Alles.xlsx]6'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]6'!$A$2:$A$7209; ROW('[Alles.xlsx]6'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]6'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
IF($B2=12;INDEX('[Alles.xlsx]12'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]12'!$A$2:$A$7209; ROW('[Alles.xlsx]12'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]12'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
IF($B2=14;INDEX('[Alles.xlsx]14'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]14'!$A$2:$A$7209; ROW('[Alles.xlsx]14'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]14'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
IF($B2=33;INDEX('[Alles.xlsx]33'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]33'!$A$2:$A$7209; ROW('[Alles.xlsx]33'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]33'!$A$2:$A$7209))+1; ""); COLUMN(A1)));
 IF($B2=37;INDEX('[Alles.xlsx]37'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]37'!$A$2:$A$7209; ROW('[Alles.xlsx]37'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]37'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
 IF($B2=40;INDEX('[Alles.xlsx]40'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]40'!$A$2:$A$7209; ROW('[Alles.xlsx]40'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]40'!$A$2:$A$7209))+1; ""); COLUMN(A1)));
 IF($B2=43;INDEX('[Alles.xlsx]43'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]43'!$A$2:$A$7209; ROW('[Alles.xlsx]43'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]43'!$A$2:$A$7209))+1; ""); COLUMN(A1)));
 IF($B2=44;INDEX('[Alles.xlsx]44'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]44'!$A$2:$A$7209; ROW('[Alles.xlsx]44'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]44'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
 IF($B2=46;INDEX('[Alles.xlsx]46'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]46'!$A$2:$A$7209; ROW('[Alles.xlsx]46'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]46'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
 IF($B2=47;INDEX('[Alles.xlsx]47'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]47'!$A$2:$A$7209; ROW('[Alles.xlsx]47'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]47'!$A$2:$A$7209))+1; ""); COLUMN(A1))); 
 IF($B2=53;INDEX('[Alles.xlsx]53'!$C$2:$C$7209; SMALL(IF($A2='[Alles.xlsx]53'!$A$2:$A$7209; ROW('[Alles.xlsx]53'!$A$2:$A$7209)-MIN(ROW('[Alles.xlsx]53'!$A$2:$A$7209))+1; ""); COLUMN(A1))); "ERROR, geen matchende kleurcode!")))))))))))))
(er zitten enters in voor de leesbaarheid)

Iemand misschien enig idee hoe ik dit efficiënter kan doen? Excel en mijn pc hebben er nog al wat moeite mee om een sheet hiermee weer te geven.

Elke IF laat de functie zoeken op een tablad in het bestand Alles dat overeenkomt met een kleur in een cel eerder.
Ik heb al wel de grootste tabladen de laagste nummers gegeven maar dat helpt vrijwel niks :')
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
pi_106399432
Werkt de case functie niet, of bestaat deze niet in vba excel?
pi_106399674
quote:
0s.gif Op woensdag 4 januari 2012 15:55 schreef Basp1 het volgende:
Werkt de case functie niet, of bestaat deze niet in vba excel?
Ik ben nog niet bekend met deze functie :P
Het is geel en staat in mijn ondertitel!
3DS friend code: 2191-7623-9035
  woensdag 4 januari 2012 @ 16:28:44 #91
85514 ralfie
!Yvan eht nioj
pi_106400984
quote:
0s.gif Op woensdag 4 januari 2012 15:55 schreef Basp1 het volgende:
Werkt de case functie niet, of bestaat deze niet in vba excel?
functie? je bedoelt gewoon
1
2
3
4
5
6
select case Cells(1,1).Value
     case "jantje"
           MsgBox "het is jantje"
     case Else
           MsgBox "het is iemand anders"
end select
pi_106402303
quote:
0s.gif Op woensdag 4 januari 2012 16:28 schreef ralfie het volgende:

functie? je bedoelt gewoon
Ja die bedoel ik dan heeft de vraag steller geen last van het beperkt kunnen nesten van if then els constructies.

Zie ook onderstaande voorbeelden :

http://www.databison.com/(...)-statement-in-excel/
pi_106405182
quote:
7s.gif Op woensdag 4 januari 2012 15:46 schreef Jesse_ het volgende:

[ code verwijderd ]

(er zitten enters in voor de leesbaarheid)

Iemand misschien enig idee hoe ik dit efficiënter kan doen? Excel en mijn pc hebben er nog al wat moeite mee om een sheet hiermee weer te geven.

Elke IF laat de functie zoeken op een tablad in het bestand Alles dat overeenkomt met een kleur in een cel eerder.
Ik heb al wel de grootste tabladen de laagste nummers gegeven maar dat helpt vrijwel niks :')
VLOOKUP en je INDEX maken met namen in cellen en INDIRECT.
  donderdag 5 januari 2012 @ 13:19:29 #94
65960 sanger
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
pi_106435833
Ik heb Excel 2007, NL.

Ik heb in cel A1 een waarde als grondslag. Bij deze grondslag hoort een tabel met zoek bedragen en daarbij de waarde die ik wil weten. Deze bedragen zijn niet per definitie gelijk (dus VLOOKUP werkt niet) maar afgerond. Nu wil ik de afgeleide waarde weten. Hierbij moet echter gezocht worden naar de waarde die het dischte bij de grondslag ligt, maar nooit hoger is dan de grondslag.

Dus bv. een grondslag van 3250,51.
In de zoektabel komen zoekwaarden voor van bv. 3249,85 (met afgeleide waarde van 350) en 3250,52 (met afgeleide waarde van 375).

Hij moet dan de afgeleide waarde geven die hoort bij 3249,85 (dus eigenlijk een vlookup die zoekt naar de dichtsbijliggende waarde maar nooit hoger dan de grondslag); in dit geval dus 350.

Iemand een suggestie hoe dit te doen??
Everything you want is on the other side of fear.
Ik ben niet onhandelbaar, ik ben gewoon een grote uitdaging.
pi_106436560
Met VLOOKUP en je laatste argument een 1 (benaderen, en die doet het grootste getal dat kleiner is dan te zoeken waarde).
Nadeel is wel dat je lijst gesorteerd MOET zijn.
  donderdag 5 januari 2012 @ 14:30:15 #96
65960 sanger
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
pi_106438525
quote:
1s.gif Op donderdag 5 januari 2012 13:37 schreef DaFan het volgende:
Met VLOOKUP en je laatste argument een 1 (benaderen, en die doet het grootste getal dat kleiner is dan te zoeken waarde).
Nadeel is wel dat je lijst gesorteerd MOET zijn.
Dat het zo simpel zou zijn...... ^O^

Thanks.
Everything you want is on the other side of fear.
Ik ben niet onhandelbaar, ik ben gewoon een grote uitdaging.
pi_106476503
Wij werken met een gedeelde schijf waar al onze (oa) exceldocumenten op staan. Er kan steeds slechts één iemand werken in een document. De rest gaat automatisch in 'alleen lezen'.

Is er ook een mogelijkheid om een document sowieso te openen in alleen-lezen? Zodat anderen gewoon in het originele bestand kunnen.
pi_106476667
Niet vanuit je share, wel vanuit Excel. Openen -> opzoeken en dan naast Openen op dropdown pijltje klikken en kiezen voor Openen met kenmerk alleen-lezen.
pi_106520900
Ik heb een excel bestand die data uit een access database haalt. Nu wil weten wat de locatie van dat access bestand is. Wanneer ik "edit query" doe, kom ik in MS Query. In de SQL code in MS Query staan de tabelnamen, maar geen bestandsnaam.

Hoe kom ik er nu achter uit welk access bestand het excel bestand zijn data haalt?

Thanks
pi_106550114
Kay. Ben ff met iets bezig. Maar lukt niet helemaal.

Wat ik dus wil, is dat er in een cel gechecked word of een andere cel een cijfer bevat.

Voorbeeld:
A1: 1.
B1: 1.
C1: 1.
D1: 4.

En dan moet er in een andere cel - we noemen hem voor het gemak A3 - , naar A1 t/m D1 gekeken worden of er een cijfer in staat. Wanneer er een 1 in staat, dan moet er een 1 bij geteld worden bij het originele getal (wat standaard op 0 staat) dat in A3 staat. Maar, dat moet dus continu gebeurd worden. Dus, als er in A1 staat: dan is het 0+1. Echter, als in B1 ook een 1 staat, dan moet er nog een 1 bij opgeteld worden. Kan dat?

Ik hoop dat jullie het snappen. :')
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')