FOK!forum / Digital Corner / [EXCEL] Het grote Excel vragen topic, #11
qu63donderdag 26 februari 2009 @ 21:01
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

Voorgaande deeltjes met veel informatie:

[Excel] Het grote Excel vragen topic
[EXCEL] Het grote Excel vragen topic, #2
[EXCEL] Het grote Excel vragen topic, #3
[EXCEL] Het grote Excel vragen topic, #4
[EXCEL] Het grote Excel vragen topic, #5
[Excel] Het grote Excel-vragentopic #6
[EXCEL] Het grote Excel vragen topic, #7
[EXCEL] Het grote Excel vragen topic, #8
[EXCEL] Het grote Excel vragen topic, #9
[EXCEL] Het grote Excel vragen topic, #10

Nieuw topic? Haal de OP bij de wiki
Dr_Flashdonderdag 26 februari 2009 @ 21:02
Quuuuu

Vooral namens Marcb1974 overigens, het was ZIJN probleem wat je hiermee oplost
qu63donderdag 26 februari 2009 @ 21:02
quote:
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
Ohja
marcb1974donderdag 26 februari 2009 @ 21:31
Thx qu
Dr_Flashdonderdag 26 februari 2009 @ 22:14
Leerzaam avondje dit
Hi_flyervrijdag 27 februari 2009 @ 09:24
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....
Stansfieldvrijdag 27 februari 2009 @ 09:35
tvp
marcb1974vrijdag 27 februari 2009 @ 10:06
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....
In een andere kolom ernaast de formule rang() gebruiken. En dan sorteren op die kolom.

Of even een top 10 rij maken en dan met rang() en vert.zoeken() vullen
qu63vrijdag 27 februari 2009 @ 11:18
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)
Metal_Jagvrijdag 27 februari 2009 @ 12:16
TVP

Over het max / min verhaal:
Ik zou gewoon resp. oplopend en aflopend sorteren.
DaFanvrijdag 27 februari 2009 @ 12:32
quote:
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.
Nee dat is toch geen oplossing man. Beetje in aanpasbare ranges denken

Rang(x;8) geeft de 8e grootste waarde.
De 7-na laagste kan je vinden met RANG(x;AANTAL(x)-8)

x = je range, bijvoorbeeld B1:B10 oid.
hendrik2009zondag 1 maart 2009 @ 19:55
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
DaFanzondag 1 maart 2009 @ 19:58
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?
Joooo-pizondag 1 maart 2009 @ 20:31
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
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.

hendrik2009zondag 1 maart 2009 @ 21:00
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?
Week 6 voor week 7? Gewoon oplopende volgorde en historie blijft bewaard.
Of misschien begrijpen we elkaar verkeerd.
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.


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.
De macro zou dan onderdeel van een bestaande macro kunnen worden, die de webquery ververst, formules doortrekt tot de laatst gevulde rij, de pivot ververst en de grafiek met dynamisch bereik vernieuwd.

Nu moeten sommige delen hard en sommige delen als formule worden geplakt.
FunnyDealermaandag 2 maart 2009 @ 15:07
Hallo,

kunnen jullie me helpen met het volgende probleem in excel 2003.

Ik heb een rijtje namen en daarbij een datum:
1
2
3
4
5
6
Naam   Laatste update
Jan   23-02-2009
Piet   11-01-2009
Klaas   26-02-2009
Leo   09-02-2009
Henk   19-01-2009


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
1=IF(B2<TODAY()-30;A2;0)

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)
Metal_Jagmaandag 2 maart 2009 @ 15:45
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)
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).

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Worksheet_Change(ByVal Target As Range)
    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


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.

[ Bericht 2% gewijzigd door Metal_Jag op 02-03-2009 16:34:51 (extra regel in script gezet !!) ]
Hi_flyermaandag 2 maart 2009 @ 16:15
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?

1
2
3
For i = 1 To 67 Step 1
     TextBox& i&.Text = Sheet7.Range("B" & i).Value
Next i


Dit lukt dus niet, weet iemand een manier die wel lukt? Anders moet ik iets van 100 tekstvakjes per stuk gaan aanspreken.
ralfiemaandag 2 maart 2009 @ 16:54
je kunt ze lang lopen via Form.controls( x )

ik weet zo niet zeker of x hier de naam van je control is of een index waarde, maar daar ben je zelf snel achter.
DaFanmaandag 2 maart 2009 @ 17:28
Ik denk de index waarde trouwens maar als het de naam van je control is kan je een tijdelijke string maken met TempStr = "Label" & i
Dat werkt beter dan het in de haakjes zelf doen denk ik. Ik heb zelf ook gezocht maar kon alleen iets soortgelijks vinden als ralfie. Al denk ik dat je ipv Form -> Sheets(sheetnaam).Controls moet gebruiken?
FunnyDealerdinsdag 3 maart 2009 @ 11:43
quote:
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.

Het werkt! Al had ik het liever wel gezien zonder script editor, maar het updaten maakt het ook lastig
Deetchdinsdag 3 maart 2009 @ 15:10
quote:
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. ;(
Onderstaande code zou het moeten doen, de "step 1" kun je weglaten want excel vba gaat standaard uit van een stap van 1
1
2
3
4
5
6
7
8
Private Sub UserForm_Activate()

For i = 1 To 67
   sName = "TextBox" & i
   Me.Controls(sName).Text = Sheet7.Range("B" & i).Value
Next i

End Sub
DaFandinsdag 3 maart 2009 @ 15:34
Ah vandaar dat het me niet lukte. Dit werkt alleen in een form, blijkbaar niet in een sheet.
Hi_flyerdinsdag 3 maart 2009 @ 17:11
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 ]
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).
sk888erwoensdag 4 maart 2009 @ 21:52
Excel 2003 NL
Ik heb een spreidingsgafriek met 100 waarden en heb hier een trendlijn door excel over laten zetten.
Is er een manier om deze trendlijn af te lezen in formule vorm?
DubbelGumwoensdag 4 maart 2009 @ 22:03
quote:
Op woensdag 4 maart 2009 21:52 schreef sk888er het volgende:
Excel 2003 NL
Ik heb een spreidingsgafriek met 100 waarden en heb hier een trendlijn door excel over laten zetten.
Is er een manier om deze trendlijn af te lezen in formule vorm?
quote:
Vergelijking in grafiek weergeven Hiermee worden de vergelijkingen die voor het berekenen van de trendlijn zijn gebruikt, weergegeven of verborgen.
Zit bij trendlijn opmaken, opties voor trendlijn, onderaan, formule in grafiek weergeven.



[ Bericht 23% gewijzigd door DubbelGum op 04-03-2009 22:09:14 ]
sk888erwoensdag 4 maart 2009 @ 22:19
quote:
Op woensdag 4 maart 2009 22:03 schreef DubbelGum het volgende:

[..]


[..]

Zit bij trendlijn opmaken, opties voor trendlijn, onderaan, formule in grafiek weergeven.

[ afbeelding ]
Held
wc-eenddonderdag 5 maart 2009 @ 11:01
Beste Excell goden,

Is het mogelijk (vast wel) om aan een cell een maximum te geven...

Stel ik wil een aantal berekeningen doen en elk antwoord dat boven 30 uitkomt, wordt afgerond naar 30.. Dus als ik 6+40 doe, dat hij automatisch afrond naar beneden, de 30..

Ik heb 2007 en ben nog echt een excell noob
qu63donderdag 5 maart 2009 @ 11:11
=ALS(A1+B1>30;30;A1+B1)
A1= 6
B1= 40
wc-eenddonderdag 5 maart 2009 @ 12:17
Ok die krijg ik werkend, zoals ik hem zo willen..

(dit zijn allemaal voorbeelden, maar dan snap ik de formule)

Nu zou ik graag willen dat in A1 die max 30 komt..
Als ik in B1 een getal invul, dan moet hij dat van A1 aftrekken.
Als ik in c1 een getal invul moet hij dat bij A1 optellen

En als het mogelijk is, zodra ik in B1 of C1 op enter drukt, en hij gaat berekenen dat hij de waarde uit B1 of C1 verwijdert.. zonder dat a1 terugspringt naar vorig getal..

ik vraag veel heh
qu63donderdag 5 maart 2009 @ 12:24
quote:
Op donderdag 5 maart 2009 12:17 schreef wc-eend het volgende:
Ok die krijg ik werkend, zoals ik hem zo willen..

(dit zijn allemaal voorbeelden, maar dan snap ik de formule)

Nu zou ik graag willen dat in A1 die max 30 komt..
Als ik in B1 een getal invul, dan moet hij dat van A1 aftrekken.
Als ik in c1 een getal invul moet hij dat bij A1 optellen

En als het mogelijk is, zodra ik in B1 of C1 op enter drukt, en hij gaat berekenen dat hij de waarde uit B1 of C1 verwijdert.. zonder dat a1 terugspringt naar vorig getal..

ik vraag veel heh
Dat is wel mogelijk, maar dan met een macro (denk ik)
Als je kolom D er bij wil gebruiken kan het wel:

a1 =D1-B1+C1
b1 =zelf in te vullen
c1 =zelf in te vullen
d1 =ALS(GETAL1+GETAL2>30;30;GETAL1+GETAL2)
wc-eenddonderdag 5 maart 2009 @ 12:29
Ik ga eens kijken hoe dat werkt
wc-eenddonderdag 5 maart 2009 @ 12:36
uh wat zou ik inplaats van getal moeten invullen in de engelse versie? number werkt niet..
Metal_Jagdonderdag 5 maart 2009 @ 12:41
edit
wc-eenddonderdag 5 maart 2009 @ 12:48
quote:
Op donderdag 5 maart 2009 12:41 schreef Metal_Jag het volgende:

edit
?
qu63donderdag 5 maart 2009 @ 13:18
quote:
Op donderdag 5 maart 2009 12:36 schreef wc-eend het volgende:
uh wat zou ik inplaats van getal moeten invullen in de engelse versie? number werkt niet..
Daar moet je je eigen getallen invullen
wc-eenddonderdag 5 maart 2009 @ 14:07
Hmm ik krijg hem niet werkend..

voor de verduidelijking:

A1 mag nooit hoger dan 30 worden

Bij B1 vul ik 10 in..

Dan moet A1 20 worden

Vul ik nu bij C1 15 in..

Dan moet A1 weer 30 worden, ipv 35..
qu63donderdag 5 maart 2009 @ 14:18
Zoiets dan?

a1 =ALS(D1-B1+C1>30;30;D1-B1+C1)
b1 =zelf in te vullen
c1 =zelf in te vullen
d1 =ALS(GETAL1+GETAL2>30;30;GETAL1+GETAL2)
wc-eenddonderdag 5 maart 2009 @ 14:31
Nope..
DaFandonderdag 5 maart 2009 @ 15:52
Kan met macro maar niet via mn werk en de telefoon. Vanavond dus als ik tijd heb.
DubbelGumdonderdag 5 maart 2009 @ 15:55
-edit: laat maar, niet goed gelezen
DaFandonderdag 5 maart 2009 @ 16:09
Druk op Alt-F11, ga links naar de sheet waarin je de formule wil, dubbelklik.
Voer dan rechts dit in:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Not Intersect(Target, Range("A1:C1")) Is Nothing Then
    If Range("B1").Value <> "" Then
        Range("A1").Value = Range("A1").Value - Range("B1").Value
        GoTo FinalCheck
    End If
    If Range("C1").Value <> "" Then
        Range("A1").Value = Range("A1").Value + Range("C1").Value
        GoTo FinalCheck
    End If
End If

FinalCheck:
If Range("A1").Value > 30 Then Range("A1").Value = 30
Range("B1").Value = ""
Range("C1").Value = ""

Application.EnableEvents = True

End Sub


Let erop dat je A1 nog wel kan aanpassen. Dat kan je zelf oplossen via Data -> Validation.
DaFandonderdag 5 maart 2009 @ 16:12
Stiekem alt tabben op je werk als je er niet uitkomt; ik ben er rond half zeven.
wc-eenddonderdag 5 maart 2009 @ 16:22
Het werkt, WOW!!!

Thanks
wc-eenddonderdag 5 maart 2009 @ 16:48
Toch nog een vraagje:

Als ik dit wil herhalen op de A2, B2, C2

Kan ik dan diezelfde code neerzetten en dan alleen de eentjes veranderen in een tweetje?
DaFandonderdag 5 maart 2009 @ 16:55
Ja kan. Denk dat het nog wel eleganter kan maar als je het maar voor 2 rijen hoeft te doen is dat niet nodig.

Plak dat trouwens BINNEN in de sub, maak geen nieuwe, dat werkt niet. Je moet Finalcheck2 maken ook.
wc-eenddonderdag 5 maart 2009 @ 17:07
DaFandonderdag 5 maart 2009 @ 18:16
Gelukt neem ik aan? Dan ga ik m ook niet meer eleganter maken Lukte trouwens ook niet zo 1-2-3 dus bekijk t lekker
TinToRvrijdag 6 maart 2009 @ 03:25
ik heb een spreadsheet met ongeveer 300 rijen

1
2
3
4
5
6
7
8
9
------------------------------
klantA  |  eee  | ddd |  $50|
klantA  |  eee  | ddd |  $64|
klantB  |  eee  | ddd |  $24|
klantB  |  eee  | ddd |  $49|
klantA  |  eee  | ddd |  $82|
klantC  |  eee  | ddd |  $37|
klantB  |  eee  | ddd |  $18|
------------------------------


Is het mogelijk om op een 2e blad 1 rij voor iedere klant weer te geven met de totalen van de $ bedragen?

Resultaat:
1
2
3
4
5
--------------|
klantA | $196 |
klantB | $91  |
klantC | $37  |
--------------|


excel 2003 of excel 2007
bvd
DaFanvrijdag 6 maart 2009 @ 07:41
Bekijk Sumif of Som.als eens.
DaFanvrijdag 6 maart 2009 @ 09:47
wc-eend:

Dit is eleganter als je met meer rijen gaat werken:
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
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

i = Target.Row
If i < 3 Then

    If Not Intersect(Target, Range("A" & i & ":C" & i)) Is Nothing Then
        If Range("B" & i).Value <> "" Then
            Range("A" & i).Value = Range("A" & i).Value - Range("B" & i).Value
            GoTo FinalCheck
        End If
        If Range("C" & i).Value <> "" Then
            Range("A" & i).Value = Range("A" & i).Value + Range("C" & i).Value
            GoTo FinalCheck
        End If
    End If
    
FinalCheck:
    If Range("A" & i).Value > 30 Then Range("A" & i).Value = 30
    Range("B" & i).Value = ""
    Range("C" & i).Value = ""

End If

Application.EnableEvents = True

End Sub


Deze regel
1If i < 3 Then

geeft de grens aan tot welke rij het moet werken (in dit geval rij 1 en 2). Je kan dit natuurlijk aanpassen en zelfs aangeven dat het bijvoorbeeld alleen tussen rij 4 en 8 moet werken (If i >4 AND i<9 Then).

Succes ermee.
DaFanvrijdag 6 maart 2009 @ 09:50
Nog korter/netter:
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
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

i = Target.Row
If i < 3 Then

RijAWaarde = Range("A" & i).Value
RijBWaarde = Range("B" & i).Value
RijCWaarde = Range("C" & i).Value

    If Not Intersect(Target, Range("A" & i & ":C" & i)) Is Nothing Then
        If RijBWaarde <> "" Then
            RijAWaarde = RijAWaarde - RijBWaarde
            GoTo FinalCheck
        End If
        If Range("C" & i).Value <> "" Then
            RijAWaarde = RijAWaarde + RijCWaarde
            GoTo FinalCheck
        End If
    End If
    
FinalCheck:
    If RijAWaarde > 30 Then RijAWaarde = 30
    RijBWaarde = ""
    RijCWaarde = ""

    Range("A" & i).Value = RijAWaarde
    Range("B" & i).Value = RijBWaarde
    Range("C" & i).Value = RijCWaarde

End If

Application.EnableEvents = True

End Sub
chef_dudevrijdag 6 maart 2009 @ 12:09
Ik heb een vraag, in kolom K staan alle postcodes vermeld (4 cijfers, spatie, 2 letters). Echter in sommige gevallen staan de 2 letters niet in kolom k, maar in kolom J.

Nu wil ik dat wanneer dit het geval is, de gegevens aan elkaar toegevoegd worden in kolom L.

Tot dusver heb ik:
=ALS(LENGTE(K2)<5;TEKST.SAMENVOEGEN(J2;K2))

Dit werkt in ieder geval niet, wat resulteert in kan iemand mij hierbij helpen?

Bedankt!!!
DaFanvrijdag 6 maart 2009 @ 13:30
=ALS(LENGTE(K2)<5;J2&K2))
chef_dudevrijdag 6 maart 2009 @ 13:44
haha,

erg dichtbij zat ik er!!!! Duizendmaal dank!
SpeedyGJvrijdag 6 maart 2009 @ 15:41
Is het mogelijk om de grafieken in Excel op te slaan? Ik probeer van alles te doen maar ik kan het niet vinden.
DaFanvrijdag 6 maart 2009 @ 15:52
Gewoon in het werkblad kan je het toch opslaan? Of wil je het als plaatje? Dan moet je een printscreen maken.
qu63vrijdag 6 maart 2009 @ 15:55
quote:
Op vrijdag 6 maart 2009 15:52 schreef DaFan het volgende:
Gewoon in het werkblad kan je het toch opslaan? Of wil je het als plaatje? Dan moet je een printscreen maken.
Of gewoon slepen naar het programma waarin je het wil gebruiken..
Hi_flyervrijdag 6 maart 2009 @ 16:13
quote:
Op vrijdag 6 maart 2009 15:41 schreef SpeedyGJ het volgende:
Is het mogelijk om de grafieken in Excel op te slaan? Ik probeer van alles te doen maar ik kan het niet vinden.
Of:
1
2
3
Set CurrentChart = Sheets("Sheet1").ChartObjects(1).Chart
    Fname = ThisWorkbook.Path & "\temp.gif"
    CurrentChart.Export FileName:=Fname, FilterName:="GIF"


Toevallig gisteren mee bezig geweest. Op deze manier kan je namelijk grafieken in bijv. een userform plaatsen die geupdate wordt met informatie die een gebruiker ingeeft. Onwijs leuk om uit te zoeken

Niet van mezelf maar van http://www.j-walk.com/ss/excel/tips/tip66.htm
qu63vrijdag 6 maart 2009 @ 16:23
quote:
Op vrijdag 6 maart 2009 16:13 schreef Hi_flyer het volgende:

[..]

Of:
[ code verwijderd ]

Toevallig gisteren mee bezig geweest. Op deze manier kan je namelijk grafieken in bijv. een userform plaatsen die geupdate wordt met informatie die een gebruiker ingeeft. Onwijs leuk om uit te zoeken

Niet van mezelf maar van http://www.j-walk.com/ss/excel/tips/tip66.htm
Die site heeft het nog over Excel5/95
Hi_flyervrijdag 6 maart 2009 @ 16:25
Maar het werkt wel

En voor zover ik weet is het de enige vlotte manier om een grafiekje snel op te slaan en in een userform te gebruiken.
SpeedyGJvrijdag 6 maart 2009 @ 17:10
Werkt het ook met 2007?
En slepen werkt helaas niet.
PRSC wist ik wel maar als het makkelijker kan dan liever dat, gezien ik ook de achtergrond van de grafieken transparant hebt.
qu63vrijdag 6 maart 2009 @ 17:19
quote:
Op vrijdag 6 maart 2009 17:10 schreef SpeedyGJ het volgende:
Werkt het ook met 2007?
En slepen werkt helaas niet.
PRSC wist ik wel maar als het makkelijker kan dan liever dat, gezien ik ook de achtergrond van de grafieken transparant hebt.
Waar wil je het heen hebben dan? Op je website?
SpeedyGJvrijdag 6 maart 2009 @ 17:28
Ja op mijn website / FOK! / Weerwoord
RemCOWzaterdag 7 maart 2009 @ 12:04
He allemaal. Ik heb een Excel vraagje waarvan ik dacht dat die simpel was om op te lossen, maar ik kom er maar niet uit.

In kolom C heb ik, ongesorteerd, een reeks van resultaten. Deze lopen van 0 tot 100. Laten we zeggen voor het gemak dat het gaat om de prijsverloop van een aandeel. Nu is het de bedoeling dat ik, beginnend bij C1, de eerste prijs vind die boven de 40 is. In D1 moet het getal worden opgeslagen wat met een formule/macro is gevonden (dus dat kan iets van 41,50 zijn oid). Als het getal is gevonden in C105, heb ik al een formule gevonden die de waarde retouneerd van B105.

Iemand een idee?
SpeedyGJzaterdag 7 maart 2009 @ 12:31
Ik heb het al gevonden iig bedankt voor jullie hulp.

Oja gewoon copy paste had ik kunnen wonen :p
Joppyzaterdag 7 maart 2009 @ 15:28
Voor mijn stage heb ik een excel uitdraai van het ERP systeem gekregen. In de excel file staan de orders met daarbij een hele hoop gegevens, datums, statussen, hoeveelheden enzovoorts. Nu is het zo dat sommige ordernummers meerdere keren kunnen voortkomen in de lijst, want een order kan worden gesplitst, met behoud van zelfde ordernummer. Niet handig, maar daar kan ik nu niks aan doen.

Het punt is dat dit mijn analyses vervuild, omdat met de reguliere Vlookup/vert.zoeken functie, telkens de eerste de beste ordernummer wordt gepakt en er niet verder wordt gekeken naar andere gelijke entries. Is er een handige manier om dit er voor te zorgen dat er meerdere uitkomsten worden gegeven bij dezelfde invoer? Ik had al een Mvlookup functie gevonden, maar die werkte alleen als je van te voren wist hoeveel gelijke entries er waren, en dat weet ik dus niet. Het is namelijk een lijst met +10.000 rijen

Op mijn stage heb ik de engelstalige excel 2003, en op mijn laptop heb ik excel 2007 NL.
Joooo-pizaterdag 7 maart 2009 @ 16:45
quote:
Op zaterdag 7 maart 2009 12:04 schreef RemCOW het volgende:
He allemaal. Ik heb een Excel vraagje waarvan ik dacht dat die simpel was om op te lossen, maar ik kom er maar niet uit.

In kolom C heb ik, ongesorteerd, een reeks van resultaten. Deze lopen van 0 tot 100. Laten we zeggen voor het gemak dat het gaat om de prijsverloop van een aandeel. Nu is het de bedoeling dat ik, beginnend bij C1, de eerste prijs vind die boven de 40 is. In D1 moet het getal worden opgeslagen wat met een formule/macro is gevonden (dus dat kan iets van 41,50 zijn oid). Als het getal is gevonden in C105, heb ik al een formule gevonden die de waarde retouneerd van B105.

Iemand een idee?
macro'tje:
1
2
3
4
5
6
7
8
9
10
11
Sub fok()
i = 0
Do
i = i + 1
If Cells(i, 3).Value > 40 Then
Range("D1").Value = Cells(i, 3).Value
Exit Sub
End If

Loop Until Cells(i + 1, 3).Value = ""
end sub


Joooo-pizaterdag 7 maart 2009 @ 16:51
quote:
Op zaterdag 7 maart 2009 15:28 schreef Joppy het volgende:

(...)
Ik had al een Mvlookup functie gevonden, maar die werkte alleen als je van te voren wist hoeveel gelijke entries er waren, en dat weet ik dus niet. Het is namelijk een lijst met +10.000 rijen
(...)
Kun je wel weten door:

Voor kolom A:

AANTAL.ALS(A:A; jouwordernummer)
RemCOWzaterdag 7 maart 2009 @ 17:42
quote:
Op zaterdag 7 maart 2009 16:45 schreef Joooo-pi het volgende:

[..]

macro'tje:
[ code verwijderd ]

*)
Zal eens proberen! ik heb net zelf ook een werkende gekregen die gebruik maakt van de Find (gejat van een website).

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
Sub GetBetween()

Dim lMin As Double, lMax As Double
Dim rFound As Range, rLookin As Range
Dim lFound As Double, rStart As Range
Dim rCcells As Range, rFcells As Range
Dim lCellCount As Long, lcount As Long
Dim bNoFind As Boolean

        lMin = 0
        lMax = 2

        Set rStart = Range("B6")
        Set rLookin = Range("B6:B25")

       lCellCount = rLookin.Cells.Count
       lcount = 0
       


         Do Until lFound > lMin And lFound < lMax

            Set rStart = rLookin.Cells.Find(What:="*", After:=rStart, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True)
            
            lFound = rStart.Value
            lcount = lcount + 1
            
            If lCellCount = lcount Then
               bNoFind = True
               Exit Do
           End If

        Loop

            Range("C1") = rStart.Value
       
                 If bNoFind = True Then
                     Range("C1") = "N/A"
                 End If

       
        On Error GoTo 0

End Sub
Joooo-pizaterdag 7 maart 2009 @ 17:52
quote:
Op zaterdag 7 maart 2009 17:42 schreef RemCOW het volgende:

[..]

Zal eens proberen! ik heb net zelf ook een werkende gekregen die gebruik maakt van de Find (gejat van een website).
[ code verwijderd ]
Ik zie wel wat overeenkomsten. Maar volgens mij doet mijn macro'tje precies wat je vroeg en jouw macro is veel omslachtiger...

Succes iig.
Joppyzaterdag 7 maart 2009 @ 18:10
quote:
Op zaterdag 7 maart 2009 16:51 schreef Joooo-pi het volgende:

[..]

Kun je wel weten door:

Voor kolom A:

AANTAL.ALS(A:A; jouwordernummer)
Die functie ken ik natuurlijk wel. had er alleen nog niet aan gedacht omdat in die multiple Vlookup functie te plaatsen . Ik zal morgen eens kijken of dat zou kunnen werken.
Buonissimozondag 8 maart 2009 @ 13:06
Hoi, ik ben wat excel aan het leren en heb de volgende (simpele) vraag.

Stel dat je twee kolommen data hebt met daarin ofwel 'ja' ofwel 'neen'. In de derde kolom wil je een waarde 1 krijgen als er twee 'neens' zijn en een waarde 2 als dit niet het geval is. Hoe moet ik dit aanpakken? Ik heb met de AND-functie gespeeld maar daar krijg je ofwel een TRUE of FALSE en dat zoek ik dus niet.

Groeten
qu63zondag 8 maart 2009 @ 13:13
=ALS(EN(A1="neen";B1="neen");2;1)
Buonissimozondag 8 maart 2009 @ 13:19
Er komt #NAME? staan. Wellicht doe ik iets fout?
qu63zondag 8 maart 2009 @ 13:20
quote:
Op zondag 8 maart 2009 13:19 schreef Buonissimo het volgende:
Er komt #NAME? staan. Wellicht doe ik iets fout?
Je gebruikt de Engelse versie neem ik aan?

Dan wordt het =IF(AND(D29="neen";E29="neen");2;1)

Misschien moet je de puntkomma's nog vervangen door een komma, maar dat weet ik niet precies, ik gebruik zelf de NL versie..
Buonissimozondag 8 maart 2009 @ 13:25
Het bestand vind je op http://probeersel.agilityhoster.com/beginner.xlsx
Buonissimozondag 8 maart 2009 @ 13:30
Het moest =IF(AND(A1="neen";B1="neen");"juist";"fout") zijn
RemCOWzondag 8 maart 2009 @ 20:18
quote:
Op zaterdag 7 maart 2009 17:52 schreef Joooo-pi het volgende:

[..]

Ik zie wel wat overeenkomsten. Maar volgens mij doet mijn macro'tje precies wat je vroeg en jouw macro is veel omslachtiger...

Succes iig. ^O^
die van jou is idd veel minder omslachtig ;) maar deze kon ik makkelijker ombouwen naar een functie.
Daar heb ik ook direct een vraag over. stel dat ik met jouw code, of die van mij, een bepaald getal heb gevonden in kolom C25. Nu wil ik de waarde uit A25 ook ergens opslaan.

Nu doe ik het door een andere functie die bijna hetzelfde doet als mijn andere functie; nl:
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
Function RowValue(rStart As Range, rLookin As Range, ValueFirst As Double)

Dim lFound As Double
Dim lCellCount As Long, lcount As Long
Dim bNoFind As Boolean

       lCellCount = rLookin.Cells.Count
       lcount = 0
       
         Do Until lFound = ValueFirst

            Set rStart = rLookin.Cells.Find(What:="*", After:=rStart, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=True)
            
            lFound = rStart.Value
            lcount = lcount + 1
            
            If lCellCount = lcount Then
               bNoFind = True
               Exit Do
           End If
        
        Loop
            
            Test = rStart.Row
               RowValue = Sheets("GBM").Range("A" & Test).Value
                
                 If bNoFind = True Then
                     RowValue = "N/A"
                 End If

       
        On Error GoTo 0

End Function

Het probleem is, de functie wordt aangeroepen in de sheet: GMB-profit.
De range die wordt opgegeven is dan bijvoorbeeld =RowValue(GBM!C7;GBM!C7:C762;D53)
Als ik in plaats van
RowValue = Sheets("GBM").Range("A" & Test).Value
RowValue = Range("A" & Test).Value

gebruik, krijg ik de waarde op het huidige blad (GMB-profit). Als ik Sheets("GMB") defineer werkt op zich wel prima, het probleem is dat ik de functie voor meerdere sheets moet toepassen. Ik heb geen zin om voor elke sheet een andere functie te bouwen.... Is er op een manier de sheet op te vragen? Dan wel via die invoer ("rLookin / rStart") dan wel op een andere manier.
Joooo-pizondag 8 maart 2009 @ 22:12
quote:
Op zondag 8 maart 2009 20:18 schreef RemCOW het volgende:

[..]

die van jou is idd veel minder omslachtig maar deze kon ik makkelijker ombouwen naar een functie.
Daar heb ik ook direct een vraag over. stel dat ik met jouw code, of die van mij, een bepaald getal heb gevonden in kolom C25. Nu wil ik de waarde uit A25 ook ergens opslaan.

Nu doe ik het door een andere functie die bijna hetzelfde doet als mijn andere functie; nl:
[ code verwijderd ]

Het probleem is, de functie wordt aangeroepen in de sheet: GMB-profit.
De range die wordt opgegeven is dan bijvoorbeeld =RowValue(GBM!C7;GBM!C7:C762;D53)
Als ik in plaats van
RowValue = Sheets("GBM").Range("A" & Test).Value
RowValue = Range("A" & Test).Value

gebruik, krijg ik de waarde op het huidige blad (GMB-profit). Als ik Sheets("GMB") defineer werkt op zich wel prima, het probleem is dat ik de functie voor meerdere sheets moet toepassen. Ik heb geen zin om voor elke sheet een andere functie te bouwen.... Is er op een manier de sheet op te vragen? Dan wel via die invoer ("rLookin / rStart") dan wel op een andere manier.
Is je vraag om de overenkomstige waarde uit kolom A ook ergens te noteren? Dat past simpel in mijn code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub fok()
i = 0
Do
i = i + 1
If Cells(i, 3).Value > 40 Then
Range("D1").Value = Cells(i, 3).Value
Range("E1").Value = Cells(i, 1).Value
Exit Sub
End If

Loop Until Cells(i + 1, 3).Value = ""
end sub


Nu komt de waarde uit de kolom A in D1 te staan.

Ik weet alleen niet zeker of dat je vraag precies is...
PsychoBoBmaandag 9 maart 2009 @ 10:34
Hej allemaal,

Heb een vraagje over een pivot chart in excel.

Is het mogelijk om beide axis een waarde uit de pivot table te geven. Dus de x-as bijv weken en de y-as bijv personen??
Maar ik wil dus op elke as een waarde uit mijn tabel en niet een waarde die excel zelf toekent.

Groet,

Jeroen
RemCOWmaandag 9 maart 2009 @ 10:51
quote:
Op zondag 8 maart 2009 22:12 schreef Joooo-pi het volgende:

[..]

Is je vraag om de overenkomstige waarde uit kolom A ook ergens te noteren? Dat past simpel in mijn code:
[ code verwijderd ]

Nu komt de waarde uit de kolom A in D1 te staan.

Ik weet alleen niet zeker of dat je vraag precies is...
Het probleem is dat dat volgens mij niet kan met een functie. Dan krijg ik een foutmelding zodra ik buiten het veld iets wil opslaan. Is overigens wel wat ik zoek

Ik heb het nu gedaan door bij Function RowValue(rStart As Range, rLookin As Range, ValueFirst As Double) een extra invoerveld toe te voegen wat het nummer is van de sheet. Dat werkt ook wel zonder nog heel lang op zoek te gaan naar 'n oplossing
DaFanmaandag 9 maart 2009 @ 11:31
quote:
Is er op een manier de sheet op te vragen?
Activesheet.Name geeft de huidige naam van de sheet waarin je werkt. De andere kan je opvragen door:

1
2
3
For Each ws In Worksheets
.....
Next


ws.Name geeft hier de namen van alle worksheets.
BuupWerkmaandag 9 maart 2009 @ 12:38
ik zoek een forumule...

ik heb 1 rij met namen en 1 rij met beheer of behandeling of vraagteken
nu wil ik de naam in combinatie met beheer op tellen en de naam in combinatie met behandeling

ik kan wel het aantal namen of beheer of behandeling optellen...
maar ik wil dus de combinatie tussen de ene rij en de andere rij optellen...

ik hoop dat het duidelijk is...
BuupWerkmaandag 9 maart 2009 @ 12:38
ej hij is groen sorry...
Metal_Jagmaandag 9 maart 2009 @ 13:19
quote:
Op maandag 9 maart 2009 12:38 schreef BuupWerk het volgende:
ik zoek een forumule...

ik heb 1 rij met namen en 1 rij met beheer of behandeling of vraagteken
nu wil ik de naam in combinatie met beheer op tellen en de naam in combinatie met behandeling

ik kan wel het aantal namen of beheer of behandeling optellen...
maar ik wil dus de combinatie tussen de ene rij en de andere rij optellen...

ik hoop dat het duidelijk is...
Ik denk dat je dit kunt gebruiken:
SOM.ALS(bereik; voorwaarde; optelbereik)
BuupWerkmaandag 9 maart 2009 @ 14:21
maar werkt dat ook met twee kolommen ??

want ik gebruik nu :

=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke")

en ik wil dus eigenlijk

kolom b = naam
kolom c = behandeling of beheer
=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke") bu telt tie alleen marieke en alleen kolom b

ik wil dus kolom b marieke en kolom c behandeling....
Deetchmaandag 9 maart 2009 @ 15:05
quote:
Op maandag 9 maart 2009 14:21 schreef BuupWerk het volgende:
maar werkt dat ook met twee kolommen ??

want ik gebruik nu :

=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke")

en ik wil dus eigenlijk

kolom b = naam
kolom c = behandeling of beheer
=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke") bu telt tie alleen marieke en alleen kolom b

ik wil dus kolom b marieke en kolom c behandeling....
Functie EN toevoegen?
Metal_Jagmaandag 9 maart 2009 @ 15:17
quote:
Op maandag 9 maart 2009 14:21 schreef BuupWerk het volgende:
maar werkt dat ook met twee kolommen ??

want ik gebruik nu :

=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke")

en ik wil dus eigenlijk

kolom b = naam
kolom c = behandeling of beheer
=AANTAL.ALS(BEHANDELING!B2:B2987;"Marieke") bu telt tie alleen marieke en alleen kolom b

ik wil dus kolom b marieke en kolom c behandeling....
SOM.ALS(BEHANDELING!B2:B2987;"Marieke";BEHANDELING!C2:C2987)
Metal_Jagmaandag 9 maart 2009 @ 16:21
quote:
Op maandag 9 maart 2009 15:17 schreef Metal_Jag het volgende:

[..]

SOM.ALS(BEHANDELING!B2:B2987;"Marieke";BEHANDELING!C2:C2987)
Ik had volgens mij de vraag niet goed begrepen. Ik ga er nog even naar kijken.
DaFanmaandag 9 maart 2009 @ 18:45
=SUMPRODUCT((C1:C10="Beheer")*(B1:B10="Marieke"))

Hier telt ie waar én Beheer én Marieke staat (bereik even aanpassen en vertalen).
Maartelmaandag 9 maart 2009 @ 20:19
Ik ben een grote Excel-noob, dus dit is ws een domme vraag, maar:
ik heb in kolom A namen van liedjes staan (voor een tournament) en in kolom B/C/D.. scores per ronde.. nu wil ik in kolom E de opgetelde score van kolom B t/m D voor elk nummer hebben, hoe doe ik dit?

Overigens is niet in elke ronde even veel gestemd, dus wil ik eigenlijk ook de score per kolom daar op aanpassen door een formule SCORE: AANTAL STEMMEN x 11 (aantal stemmen uit ronde 1, die houd ik graag zo)
Kan ik dit makkelijk laten berekenen door Excel, en hoe?
(Ik word zelf echt niet wegwijs uit Excel in Vista of de helpfunctie )

edit: het optellen is al opgelost, ik wist niet dat ik de weergave aan moest passen om resultaten te zien ipv een formule.. dan rest me nog die laatste vraag: hoe vermenigvuldig/deel ik een hele kolom door een getal naar keuze?

[ Bericht 14% gewijzigd door Maartel op 09-03-2009 20:29:45 ]
Maartelmaandag 9 maart 2009 @ 20:35
O, ik bedoel overigens zó dat de getallen wel gewoon in hun eigen kolom blijven staan, ik wil er geen extra kolommen bij hebben (want dan klopt de som weer niet)
Joooo-pimaandag 9 maart 2009 @ 20:36
quote:
Op maandag 9 maart 2009 20:19 schreef Maartel het volgende:
Ik ben een grote Excel-noob, dus dit is ws een domme vraag, maar:
ik heb in kolom A namen van liedjes staan (voor een tournament) en in kolom B/C/D.. scores per ronde.. nu wil ik in kolom E de opgetelde score van kolom B t/m D voor elk nummer hebben, hoe doe ik dit?

Overigens is niet in elke ronde even veel gestemd, dus wil ik eigenlijk ook de score per kolom daar op aanpassen door een formule SCORE: AANTAL STEMMEN x 11 (aantal stemmen uit ronde 1, die houd ik graag zo)
Kan ik dit makkelijk laten berekenen door Excel, en hoe?
(Ik word zelf echt niet wegwijs uit Excel in Vista of de helpfunctie )

edit: het optellen is al opgelost, ik wist niet dat ik de weergave aan moest passen om resultaten te zien ipv een formule.. dan rest me nog die laatste vraag: hoe vermenigvuldig/deel ik een hele kolom door een getal naar keuze?


Een formule kun je doorvoeren (sleep het puntje rechtsonderin cel 1 naar beneden).

Dus als je voor 1 cel een formule maakt (bijv. B1*4) kun je die doorvoeren voor een hele kolom.
Maartelmaandag 9 maart 2009 @ 20:38
quote:
Op maandag 9 maart 2009 20:36 schreef Joooo-pi het volgende:

[..]

Een formule kun je doorvoeren (sleep het puntje rechtsonderin cel 1 naar beneden).

Dus als je voor 1 cel een formule maakt (bijv. B1*4) kun je die doorvoeren voor een hele kolom.
hoe pas ik een formule óp een cel toe, zonder dat het resultaat in een andere cel verschijnt?
Joooo-pimaandag 9 maart 2009 @ 20:40
quote:
Op maandag 9 maart 2009 20:35 schreef Maartel het volgende:
O, ik bedoel overigens zó dat de getallen wel gewoon in hun eigen kolom blijven staan, ik wil er geen extra kolommen bij hebben (want dan klopt de som weer niet)
Dat kan eigenlijk niet. Of je moet eerste de getallen in een extra kolom maken en dan kopieren, plakken als speciaal, en "waarden" aanvinken. En daarmee je originele waarden overschrijven. Daarna zijn je begingetallen weg.

[ Bericht 1% gewijzigd door Joooo-pi op 09-03-2009 21:26:34 ]
Maartelmaandag 9 maart 2009 @ 20:44
quote:
Op maandag 9 maart 2009 20:40 schreef Joooo-pi het volgende:

[..]

Dat kan eigenlijk niet. Of je moet eerste de getallen in een extra kolom maken en dan kopieren, plakken als, en "waarden" aanvinken. En daarmee je originele waarden overschrijven. Daarna zijn je begingetallen weg.
ah oke, dat lukt me ws wel.. nog even heel stom (maar scheelt me een hoop puzzelen): welke formule gebruik ik om een bepaalde cel met iets t vermenigvuldigen (+ delen, maar ik kan zelf die factor nog wel even op de rekenmachine berekenen als 2 commando's voor 1 cel te veel is)
Joooo-pimaandag 9 maart 2009 @ 20:48
quote:
Op maandag 9 maart 2009 20:44 schreef Maartel het volgende:

[..]

ah oke, dat lukt me ws wel.. nog even heel stom (maar scheelt me een hoop puzzelen): welke formule gebruik ik om een bepaalde cel met iets t vermenigvuldigen (+ delen, maar ik kan zelf die factor nog wel even op de rekenmachine berekenen als 2 commando's voor 1 cel te veel is)
= (cel * getal1) / getal2

bedoel je dat?
Maartelmaandag 9 maart 2009 @ 21:09
quote:
Op maandag 9 maart 2009 20:48 schreef Joooo-pi het volgende:

[..]

= (cel * getal1) / getal2

bedoel je dat?
Jep, dat is 'm
(eigenlijk is t ook best logisch, als je de Excel-'taal' een beetje door hebt)
Maartelmaandag 9 maart 2009 @ 21:15
quote:
Op maandag 9 maart 2009 20:40 schreef Joooo-pi het volgende:

[..]

Dat kan eigenlijk niet. Of je moet eerste de getallen in een extra kolom maken en dan kopieren, plakken als, en "waarden" aanvinken. En daarmee je originele waarden overschrijven. Daarna zijn je begingetallen weg.
Hoe doe ik 'plakken als'? Ik zie wel 'plakken speciaal' staan, maar die is grijs
Joooo-pimaandag 9 maart 2009 @ 21:24
quote:
Op maandag 9 maart 2009 21:15 schreef Maartel het volgende:

[..]

Hoe doe ik 'plakken als'? Ik zie wel 'plakken speciaal' staan, maar die is grijs
ohja, sorry, ik bedoel plakken speciaal. Je moet wel kopieren, niet knippen. is ie dan nog grijs?

(daarna kun je de xtra kolommen nog wel handmatig verwijderen)
PsychoBoBdinsdag 10 maart 2009 @ 10:13
Ff een vraagje, hoe zet je de layout van een pivot table vast? Dus dat de layout niet veranderd als je een filter toepast?/

Bvd..
Deetchdinsdag 10 maart 2009 @ 10:33
quote:
Op maandag 9 maart 2009 21:15 schreef Maartel het volgende:

[..]

Hoe doe ik 'plakken als'? Ik zie wel 'plakken speciaal' staan, maar die is grijs
Je moet wel eerst cellen gekopieerd hebben voor dat je ze kan plakken. Dus de cellen die je wilt kopieren selecteren, dan in menu bewerken kopieren kiezen (of CTRL+C) en dan naar de plek gaan waar je de cellen wilt plakken en dan via menu bewerken plakken speciaal kiezen.

leuk weer een excel noob erbij
Maartelwoensdag 11 maart 2009 @ 20:07
Ik open net Excel, zijn ineens alle functies licht-blauw zodat ik ze niet kan aanklikken??
Wat kan ik hier aan doen?
Joooo-piwoensdag 11 maart 2009 @ 20:32
quote:
Op woensdag 11 maart 2009 20:07 schreef Maartel het volgende:
Ik open net Excel, zijn ineens alle functies licht-blauw zodat ik ze niet kan aanklikken??
Wat kan ik hier aan doen?
New sheet?
Maartelwoensdag 11 maart 2009 @ 20:39
quote:
Op woensdag 11 maart 2009 20:32 schreef Joooo-pi het volgende:

[..]

New sheet?
Ik merk dat t in Word net zo is.. óf er is iets mis met t programma, of ik moet 't activeren, maar lijkt me dat ik daar wel een melding van zou krijgen
Joooo-piwoensdag 11 maart 2009 @ 21:03
quote:
Op woensdag 11 maart 2009 20:39 schreef Maartel het volgende:

[..]

Ik merk dat t in Word net zo is.. óf er is iets mis met t programma, of ik moet 't activeren, maar lijkt me dat ik daar wel een melding van zou krijgen
Heb je de 30-dagen probeerversie van 2007 misschien?
Maartelwoensdag 11 maart 2009 @ 21:04
Ik heb m'n laptop al veel langer dan 30 dagen en er is me nergens verteld dat er iets is afgelopen, maar ws zal t idd zoiets zijn..
Joooo-piwoensdag 11 maart 2009 @ 21:11
quote:
Op woensdag 11 maart 2009 21:04 schreef Maartel het volgende:
Ik heb m'n laptop al veel langer dan 30 dagen en er is me nergens verteld dat er iets is afgelopen, maar ws zal t idd zoiets zijn..
Volgens mij zit daar ook een beperking op het aantal keren dat je het programma gebruikt hebt, maar daar krijg je doorgaans een melding van als je het programma opstart.
qu63woensdag 11 maart 2009 @ 21:33
quote:
Op woensdag 11 maart 2009 21:03 schreef Joooo-pi het volgende:

[..]

Heb je de 30-dagen probeerversie van 2007 misschien?
Het is wasrchijnlijk een '25x gebruiken' versie..
Hi_flyerdonderdag 12 maart 2009 @ 12:54
1
2
3
4
5
    
Dim FrUserform As Frame
For Each FrUserform In Me
    FrUserform.Visible = True
 Next FrUserform


Wat doe ik fout? Het is dus een userform waarin ik alle frames zichtbaar wil maken. Ik heb 'Me' al vervangen door userform1, maar dat werkt ook niet...
DaFandonderdag 12 maart 2009 @ 13:10
Probeer eens Me.Frames.
Deetchdonderdag 12 maart 2009 @ 13:19
quote:
Op donderdag 12 maart 2009 12:54 schreef Hi_flyer het volgende:

[ code verwijderd ]

Wat doe ik fout? Het is dus een userform waarin ik alle frames zichtbaar wil maken. Ik heb 'Me' al vervangen door userform1, maar dat werkt ook niet...
Al die frames zijn neem ik aan checkboxen, invoervensters etc etc. Deze hebben allemaal een eigen naam.

Met onderstaande code (1e pagina van dit topic) kun je alle textboxen in een userform invisible maken. Wellicht kun je het zelfde doen met alle andere controls (frames) mits je deze dezelfde naam geeft met een volgnummer.

Dus of je geeft alle controls dezelfde naam met een volgnummer of je doet voor elke groep controls een zelfde naam, dus je laat gewoon de standaardnamen staan, en maakt meerder loopjes die alle groepen controls doorloopt.

1
2
3
4
5
6
7
Private Sub UserForm_Activate()

For i = 1 To 5
    sName = "TextBox" & i
    Me.Controls(sName).Visible = False
Next i
End Sub
Hi_flyerdonderdag 12 maart 2009 @ 13:29
Ik heb ze helaas allemaal wat logischer namen gegeven zoals position1-3, layer1-4, measurementlayer1-4 etcetera

Overigens denk ik dat dim ... as frame niet werkt omdat 'frame' geen declaratie is?
Deetchdonderdag 12 maart 2009 @ 14:00
Correct en die controls functie heeft een naam nodig zoals ik hier boven al heb uitgelegd.

je moet dus een loopje maken voor position1-3, layer1-4 etc etc.
Hi_flyerdonderdag 12 maart 2009 @ 14:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    'maak alle layers zichtbaar
    Me.Layer1.Visible = True
    Me.Layer2.Visible = True
    Me.Layer3.Visible = True
    Me.Layer4.Visible = True
    
    Me.Position1.Visible = True
    Me.Position1b.Visible = True
    Me.Position2.Visible = True
    Me.Position2b.Visible = True
    Me.Position3.Visible = True
    Me.Position3b.Visible = True
    Me.Position4.Visible = True
    Me.Position4b.Visible = True
    
    Me.Measure1.Visible = True
    Me.Measure2.Visible = True
    Me.Measure3.Visible = True
    Me.Measure4.Visible = True


Ok, dan maar zo opgelost :) Weliswaar niet zo mooi, maar toch. :P
DaFandonderdag 12 maart 2009 @ 15:42
Dit werkt ook, voor alle objecten in het Worksheet:

1
2
3
4
5
6
7
8
9
Private Sub CommandButton3_Click()

Dim i As Object

For Each i In Me.OLEObjects
    i.Visible = True
Next

End Sub
Deetchdonderdag 12 maart 2009 @ 16:11
quote:
Op donderdag 12 maart 2009 15:42 schreef DaFan het volgende:
Dit werkt ook, voor alle objecten in het Worksheet:
[ code verwijderd ]
werkt dit ook in een userform dan? Scheelt weer gedoe zeg maar.
kwakkedonderdag 12 maart 2009 @ 18:50
ik heb een wss hele simpele vraag: wat is de nederlandse vertaling van de solver functie voor excel?

THX!
DaFandonderdag 12 maart 2009 @ 19:04
quote:
Op donderdag 12 maart 2009 16:11 schreef Deetch het volgende:

[..]

werkt dit ook in een userform dan? Scheelt weer gedoe zeg maar.
Geen idee ik kon zo 1,2,3 niet vinden waar je Userform kan invoegen
FJDdonderdag 12 maart 2009 @ 19:23
Nieuwe ronde, nieuwe kansen;

Ordernr - Artikel
01 - Pen
01 - Potlood
01 - Gum
02 - Pen
02 - Gum
03 - Pen
03 - Potlood
03 - Etui
03 - Schaar

Hoe vaak zijn Pen - Potlood samen besteld, hoe vaak zijn Pen - Gum samen besteld, hoe vaak zijn Pen - Etui samen besteld etc. etc. tot alle opties uitgeput zijn.

Iemand een geniaal idee?
DaFandonderdag 12 maart 2009 @ 19:57
Hoeveel artikelen zijn er? En is het een optie om op een ander blad een lijst van artikelen te maken? Dan kan het "vrij simpel" met een macro.
FJDdonderdag 12 maart 2009 @ 20:02
quote:
Op donderdag 12 maart 2009 19:57 schreef DaFan het volgende:
Hoeveel artikelen zijn er? En is het een optie om op een ander blad een lijst van artikelen te maken? Dan kan het "vrij simpel" met een macro.
100 artikelen, 50.000 orderregels in 10.000 orders. Lijst maken is een makkie, t komt uit een Access database

Ik kom nu wel ergens met wat gekloot in Excel maar ik vrees dat het belachelijk veel tijd kost om dat op te schalen naar die 100 artikelen Een macro zou dan ook heeeeeel erg welkom zijn. Ik heb nml. echt geen idee in welke richting ik moet zoeken.
DaFandonderdag 12 maart 2009 @ 20:08
Maar ehm als je elk artikel met elk artikel moet matchen heb je 99+98+97+....3+2+1 regels....5000 opties dus. Dat is geen probleem?

Dan ga ik straks of morgen op werk ff kloten. Anders wordt het pas zondag.
DaFandonderdag 12 maart 2009 @ 21:28
Ik kom er nu in ieder geval even niet uit, teveel loops heb ik nu
FJDdonderdag 12 maart 2009 @ 21:32
quote:
Op donderdag 12 maart 2009 21:28 schreef DaFan het volgende:
Ik kom er nu in ieder geval even niet uit, teveel loops heb ik nu
Ik ben met wat omweggetjes bezig maar zonder Office 2007 ga je de mist in door een overload aan formules. Via een draaitabel, samenvoeg formules en dan de opties onder elkaar in 1 rij zetten zou ik een count moeten kunnen uitvoeren op alle combinaties
DaFandonderdag 12 maart 2009 @ 21:38
Denk dat het met een formule echt niet gaat lukken....
FJDdonderdag 12 maart 2009 @ 22:37
Ik ben al een eind maar t blijft een teringwerk en belangrijker, als de echte gegevens komen kan ik t nog een keer doen Straks de uitleg

-edit-
Als eerste heb ik een Access query gedraaid die alle ordernummers naast de artikelgroepen in die order zet. Dan krijg je zo'n lijstje als wat ik postte. Die heb ik in Data1 gezet, vervolgens heb ik daarvan een draaitabel naar Data2 gezet. In de draaitabel gaan de ordernummers aan de linkerkant, de artikelgroepen aan de bovenkant en de count van de artikelgroepen in het midden. Dan krijg je allemaal eentjes en via opties kun je op de lege plekken nulletjes te voorschijn toveren. Vervolgens gaan we door naar sheet Data3 alwaar we de eentjes om gaan zetten naar de artikelgroep en de nulletjes omgezet worden naar de waarde "NIET" met behulp van een IF statement (als eentje, dan artikelgroep anders NIET). Daarna gaan we door naar sheet Data4 alwaar we de tekst van B3 samenvoegen met B4, in de volgende cel B3 samenvoegen met B5, dan B3 met B6 en ga zo maar door. Dan krijg je dus alle mogelijke combinaties met het eerste artikel in je artikelgroepen-lijst. Je wilt daarna ook alle mogelijke combinaties met het tweede, derde, vierde, etc. artikel in de lijst. Dat kan in theorie met formules maar zelfs Office 2007 trekt dat niet aangezien je binnen no time tegen de 1 miljoen formules zit.

Wat ik dus heb gedaan is op de lijst in Data1 een filter zetten en op alfabetische volgorde de eerste artikelgroep verwijderen, de draaitabel updaten, de gegevens uit Data4 als waarde copy-pasten in een nieuwe sheet, de tweede artikelgroep verwijderen, de draaitabel updaten, gegevens uit Data4 copy-pasten etc. etc. etc. etc. etc. etc. Dit werkt omdat je draaitabel steeds bij het volgende product begint terwijl je formules in Data3 gewoon naar kolom B blijft verwijzen op je draaitabel sheet.

Vervolgens zit ik wel met 100 aparte bladzijden met een belachelijke tabel aan data. Ik heb nu een Excel macro gevonden die de gegevens uit alle kolommen onder elkaar in 1 kolom zet. Die moet nu op een of andere manier over alle tabbladen gaan lopen. Vervolgens trek ik alle kolommen Acces in en run ik er een group by/count query op. Ik flikker alle records met NIETNIET, artikelgroepNIET en NIETartikelgroep er uit en ik houd alleen maar artikelgroepartikelgroep - count over en ik ben er. Kost me een avond maar goed

-edit2-
Lijkt nog steeds niet 100% te gaan dus betere suggesties zijn zeker welkom!

[ Bericht 39% gewijzigd door FJD op 13-03-2009 01:24:10 ]
Metal_Jagvrijdag 13 maart 2009 @ 09:09
quote:
Op donderdag 12 maart 2009 19:04 schreef DaFan het volgende:

[..]

Geen idee ik kon zo 1,2,3 niet vinden waar je Userform kan invoegen
Script editor --> new --> Userform
quote:
Op donderdag 12 maart 2009 19:23 schreef FJD het volgende:
Nieuwe ronde, nieuwe kansen;

Ordernr - Artikel
01 - Pen
01 - Potlood
01 - Gum
02 - Pen
02 - Gum
03 - Pen
03 - Potlood
03 - Etui
03 - Schaar

Hoe vaak zijn Pen - Potlood samen besteld, hoe vaak zijn Pen - Gum samen besteld, hoe vaak zijn Pen - Etui samen besteld etc. etc. tot alle opties uitgeput zijn.

Iemand een geniaal idee?
Ik heb wel wat ideeen, maar vergis je niet: dit is volgens mij een vraag die als opgave op een HBO ( ) niet zou misstaan...

Ik zit te denken aan:
definieer een set (verzameling) met artikelen 1...N
definieer een matrix (bijv. A) met N rijen en N kolommen waarbij je gaat tellen hoevaak een combi voorkomt.
Dat betekent A(i,j) = aantal keren dat i en j samen zijn besteld.

Vervolgens loop je door alle orders heen en verhoog je de combinatie in die order met 1.
In zo'n order:
regel 1 (bijv. pen) icm alle verdere regels: +1
regel 2 icm met alle verdere regels: +1
e.v.
(dan heb je ze toch? Volgens mij wel.)

[ Bericht 2% gewijzigd door Metal_Jag op 13-03-2009 09:22:56 ]
Metal_Jagvrijdag 13 maart 2009 @ 09:14
Ik heb ook ff een vraag:

Hoe controleer ik in een macro dat er in een cel een geldige tijd staat?
Metal_Jagvrijdag 13 maart 2009 @ 09:15
quote:
Op donderdag 12 maart 2009 18:50 schreef kwakke het volgende:
ik heb een wss hele simpele vraag: wat is de nederlandse vertaling van de solver functie voor excel?

THX!
Oplosser...

(ligt ook voor de hand )

Btw: deze moet je zelf nog invoegen, want is niet standaard beschikbaar.
FJDvrijdag 13 maart 2009 @ 10:03
Gisteren 7uur lang mee bezig geweest, ik word vanmorgen wakker met een geniale ingeving en ik bouw vanmorgen binnen een half uur de Access query die werkt
Deetchvrijdag 13 maart 2009 @ 10:17
quote:
Op vrijdag 13 maart 2009 10:03 schreef FJD het volgende:
Gisteren 7uur lang mee bezig geweest, ik word vanmorgen wakker met een geniale ingeving en ik bouw vanmorgen binnen een half uur de Access query die werkt
Haha dat komt me bekend voor. Ben je een hele week bezig moeilijk te doen en wordt je op vrijdagnacht midden in de nacht wakker met een briljant idee.
DaFanvrijdag 13 maart 2009 @ 12:30
quote:
Op vrijdag 13 maart 2009 10:03 schreef FJD het volgende:
Gisteren 7uur lang mee bezig geweest, ik word vanmorgen wakker met een geniale ingeving en ik bouw vanmorgen binnen een half uur de Access query die werkt
Nice! Ik was er nog niet can toegekomen
RayManiazaterdag 14 maart 2009 @ 11:35
Hoe kan in een bepaalde cel een plaatje laten verschijnen als in een andere cel aan een bepaalde voorwaarde wordt voldaan? Dus zeg maar een ALS-functie, maar dan niet met tekst, maar met een plaatje.
DaFanzaterdag 14 maart 2009 @ 12:54
RM: Het kan wel maar is lastig. Hier staan 2 macro's om hem toe te voegen in een bepaalde range:
http://www.exceltip.com/s(...)osoft_Excel/486.html

Je kan de eerste macro natuurlijk aanroepen dmv een Worksheet_change event als je die bepaalde cel aanroept:
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

    If Not Intersect(Target, Range("A1")) Is Nothing Then
        InsertPicture "C:\FolderName\PictureFileName.gif", Range("B1"), True, True
    End If

Application.EnableEvents = True

End Sub

Nu komt er in B1 het plaatje als A1 verandert.

Je kan dan natuurlijk meerdere If's bouwen voor meerdere plaatjes en de range uit de eerste macro uit de link aanpassen.

Succes.
RayManiazaterdag 14 maart 2009 @ 19:48
Ik laat dat toch maar zitten, thanks anyway .

Ander vraagje (lastig uit te leggen).

Ik werk al een tijdje met een form waarbij de informatie van het form automatisch op de goede plaats wordt neergezet in Excel. De informatie wordt steeds geplaatst in één rij en dan in de kolommen A t/m F.
quote:
Private Sub cmdOpslaan_Click()
Dim x As Long
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtSpeelronde
Range("B" & x) = txtDatum
Range("C" & x) = lstThuisclub
Range("D" & x) = lstUitclub
Range("E" & x) = lstSpeler1
Range("F" & x) = txtMinuten
End Sub
Dat werkt allemaal prima en elke nieuwe invoer komt netjes als een nieuwe rij eronder. Alleen ik zoek nu naar een oplossing om meer informatie te kunnen verwerken. Ik wil zeg maar in één keer een boel informatie kunnen toevoegen aan mijn sheet, via het form. Nu moet ik bijvoorbeeld tien keer het form invullen om telkens een nieuwe rij erbij te krijgen, maar ik wil dat ik mijn form het één keer invul en dan gelijk tien nieuwe rijen erbij krijg. Dus bijvoorbeeld van A1 t/m F10. Is het mogelijk om niet alleen van links naar rechts automatisch in te voeren, maar ook van boven naar beneden?
Joooo-pizondag 15 maart 2009 @ 11:08
quote:
Op zaterdag 14 maart 2009 19:48 schreef RayMania het volgende:
Ik laat dat toch maar zitten, thanks anyway .

Ander vraagje (lastig uit te leggen).

Ik werk al een tijdje met een form waarbij de informatie van het form automatisch op de goede plaats wordt neergezet in Excel. De informatie wordt steeds geplaatst in één rij en dan in de kolommen A t/m F.
[..]

Dat werkt allemaal prima en elke nieuwe invoer komt netjes als een nieuwe rij eronder. Alleen ik zoek nu naar een oplossing om meer informatie te kunnen verwerken. Ik wil zeg maar in één keer een boel informatie kunnen toevoegen aan mijn sheet, via het form. Nu moet ik bijvoorbeeld tien keer het form invullen om telkens een nieuwe rij erbij te krijgen, maar ik wil dat ik mijn form het één keer invul en dan gelijk tien nieuwe rijen erbij krijg. Dus bijvoorbeeld van A1 t/m F10. Is het mogelijk om niet alleen van links naar rechts automatisch in te voeren, maar ook van boven naar beneden?
Natuurlijk kun je ook verticaal doen. De volgende rij is immers x+1, dus Cells(x + 1, 1) zou wel moeten werken.

Maar je zult de gegevens toch wel ergens moeten ingeven? Ik snap daarom de rest van je vraag niet.
RemCOWzondag 15 maart 2009 @ 21:49
Argh... De SpecialCells wil maar niet werken bij mij met een functie. Inmiddels heb ik mijn functie al naar het volgende gestript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function FirstValueHist(rStart As Range, rRange As Range, lMin As Double, lMax As Double)

Dim rLookin As Range
Dim rFound As Range
Dim lFound As Double
Dim lCellCount As Long, lcount As Long
Dim bNoFind As Boolean
Dim rCcells As Range

On Error Resume Next

'Set rFcells = rRange.Cells.SpecialCells(xlCellTypeBlanks)
FirstValueHist = rRange.Cells.SpecialCells(xlCellTypeBlanks).Count

On Error GoTo 0
End Function

rRange heb ik geselecteerd als P6:P12

In die range heb ik een aantal lege cellen, een aantal met cijfers en een aantal met tekst. Toch blijft de functie stug 7 weergeven. Ook als ik xlCellTypeBlanks vervang met xlCellTypeConstants, xlNumbers.

De bedoeling is dat met SpecialCells alleen de cellen in een bereik worden meegenomen als er cijfers in staan, en die met tekst dus niet.

Het vreemde is dat het wél werkt met een macro!! Help?

Deze laat het nog beter zien:
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
Sub RemcoTEST2()

Dim rCcells As Range, rFcells As Range
Dim Blaat1 As Double, Blaat2 As Double

            Set rCcells = Range("O6:O12").Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
            Set rFcells = Range("O6:O12").Cells.SpecialCells(xlCellTypeFormulas, xlNumbers)
        
        Blaat1 = rCcells.Cells.Count
        Blaat2 = rFcells.Cells.Count
        
         Range("Q1") = Blaat1
         Range("Q2") = Blaat2
         
        On Error GoTo 0

End Sub

Function RemcoTEST2func()

Dim rCcells As Range, rFcells As Range
Dim Blaat1 As Double, Blaat2 As Double

            Set rCcells = Range("O6:O12").Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
            Set rFcells = Range("O6:O12").Cells.SpecialCells(xlCellTypeFormulas, xlNumbers)
       
        Blaat1 = rCcells.Cells.Count
        Blaat2 = rFcells.Cells.Count
        
        RemcoTEST2func = Blaat1
   
        On Error GoTo 0

End Function

Het veld O6 t/m O12 heeft 5x een cijfer, 2x een formule. De macro zet netjes 5 en 2 neer, de functie geeft 7 weer terwijl die 5 moet weergeven...

Update: Als ik http://www.xtremevbtalk.com/showthread.php?t=180823 mag geloven, mag je SpecialCells niet gebruiken in een functie. Zet dan in de help dan ofzo... tering.

[ Bericht 24% gewijzigd door RemCOW op 15-03-2009 22:19:32 ]
DaFanzondag 15 maart 2009 @ 22:27
Kan je niet beter doen (uit mn hoofd):

1
2
3
4
5
6
7
8
9
10
Dim rRange, c as Range
Dim FirstValueHist as Integer

FirstValueHist = 0

For each c in rRange
  If IsNumeric(c) = True Then
     FirstValueHist = FirstValueHist + 1
  End If
Next
RemCOWmaandag 16 maart 2009 @ 22:00
Het werkt nu al, maar thanks anyway (op een hele andere manier... het probleem was dat ik een kolom had met waarden, maar ook met tekst.. zie hieronder.. zodra mijn functie de N/A tegenkwam, stopte die.. Dit omdat ik de gevonden cel had gedefineerd als een 'double', dus mocht het alleen waarden vinden. dat heb ik weggehaald en gaat de functie niet over zijn nek door tekst)

Ander probleem. Mijn dataset heeft wat gaten, die verwijzen naar de cel die ik Missing heb genoemd. Die cel heb ik weer ingevuld als de tekst N/A. Expres niet als =NB() (of =NA()), want dan werken o.a. de functie =MIN en =MAX, maar ook wat eigen functies niet meer. Ook niet als 0, dat vergooit het gemiddelde weer enz.

Máár het probleem is dat een grafiek in excel de tekst (N/A dus) stug blijft weergeven als een 0. Dit ondanks dat ik aangeef dat hij deze niet moet weergeven / de lijn moet doortrekken of whatever. Verander ik de Missing naar =NB() werkt het prima. Maarja, dan werken andere functies niet meer. Iemand een geniale ingeving?
DaFanmaandag 16 maart 2009 @ 22:09
ISERROR om je andere functies heen bouwen zodat ie deze overslaat als je NB() of NA() gebruikt?
qu63maandag 16 maart 2009 @ 22:22
Cel leeg laten geen optie? Dan kan je met opmaak -> speciaal nog "N/A" van maken..
RemCOWmaandag 16 maart 2009 @ 22:34
quote:
Op maandag 16 maart 2009 22:09 schreef DaFan het volgende:
ISERROR om je andere functies heen bouwen zodat ie deze overslaat als je NB() of NA() gebruikt?
Hmm misschien moet ik dit inderdaad maar doen. En dan voor hetzelfde voor Min/Max, dan maak ik gebruik van een array (=MIN(ALS(ISGETAL(E1:E100);E1:E100;"")) bijvoorbeeld).
qu63woensdag 18 maart 2009 @ 10:51
In kolom G staan bedragen, in kolom N staat B of K (bank of kas), hoe kan ik nou alle bedragen die per bank betaald zijn optellen?
SOM.ALS(G2:G113;N2:N113=B) doet t iig niet..
DaFanwoensdag 18 maart 2009 @ 11:00
qu63, dat jij nou zulke vraagjes moet stellen

SOM.ALS(N2:N113;"=B";G2:G113)
qu63woensdag 18 maart 2009 @ 11:11
quote:
Op woensdag 18 maart 2009 11:00 schreef DaFan het volgende:
qu63, dat jij nou zulke vraagjes moet stellen

SOM.ALS(N2:N113;"=B";G2:G113)
Goed he

Ik was ff helemaal de weg kwijt
Metal_Jagwoensdag 18 maart 2009 @ 12:24
quote:
Op woensdag 18 maart 2009 11:11 schreef qu63 het volgende:

[..]

Goed he

Ik was ff helemaal de weg kwijt
Als je in het invoerveld "=SOM.ALS(" invult, kun je op het "f"- je klikken daarvooren krijg je invoervelden voor de betreffende functie, MET uitleg.

Dan had je het zelf wel voor elkaar gekregen.


Verder nog even aandacht voor mijn eerdere vraag:

Hoe controleer ik in een macro of er in een cel een TIJD staat en niet iets anders. Iets als ISTIJD(...), maar dat bestaat volgens mij niet.

Dan zat ik nog te denken aan iets als:
1
2
3
4
5
6
7
8
On Error goto melding

een functie die tijd vereist: bijvoorbeeld x = TimeValue(Range("A1").value)

On error goto 0

melding:
msgbox "er staat geen geldige tijd in cell ... "


DaFan (of iemand anders) tips ??
qu63woensdag 18 maart 2009 @ 13:04
quote:
Op woensdag 18 maart 2009 12:24 schreef Metal_Jag het volgende:
Als je in het invoerveld "=SOM.ALS(" invult, kun je op het "f"- je klikken daarvooren krijg je invoervelden voor de betreffende functie, MET uitleg.

Dan had je het zelf wel voor elkaar gekregen.
Daar had ik ook al gekeken
quote:
Verder nog even aandacht voor mijn eerdere vraag:

Hoe controleer ik in een macro of er in een cel een TIJD staat en niet iets anders. Iets als ISTIJD(...), maar dat bestaat volgens mij niet.

Dan zat ik nog te denken aan iets als:
[ code verwijderd ]

DaFan (of iemand anders) tips ??
Kan je niet beter kijken of er iets in staat als xx:xx ? Want tijd is alleen een opmaak manier, hh:mm is eigenlijk gewoon een getal wat anders is opgemaakt..
dnzlwoensdag 18 maart 2009 @ 13:39
qu63woensdag 18 maart 2009 @ 13:40
quote:
Op woensdag 18 maart 2009 13:39 schreef dnzl het volgende:
[ afbeelding ]
ehm...
dnzlwoensdag 18 maart 2009 @ 13:43
Foutje!
DaFanwoensdag 18 maart 2009 @ 20:14
quote:
Op woensdag 18 maart 2009 13:04 schreef qu63 het volgende:
[..]

Kan je niet beter kijken of er iets in staat als xx:xx ? Want tijd is alleen een opmaak manier, hh:mm is eigenlijk gewoon een getal wat anders is opgemaakt..
Ja dat is dus lastig, omdat je, zodra je de value eruithaalt, hem opslaat als een getal.

Ik zag een post over IsDate maar ik krijg het niet aan de praat Ik zal nog even voor je rondkijken!

[ Bericht 0% gewijzigd door DaFan op 18-03-2009 20:23:44 ]
DaFanwoensdag 18 maart 2009 @ 20:23
Check, je moet de Text eruit halen, niet Value
1
2
3
4
5
6
7
Waarde = Range("A1").Text

If IsDate(Waarde) Then
    MsgBox "Ja"
Else
    MsgBox "Nee"
End If


Hoop dat dit helpt.
hoek21woensdag 18 maart 2009 @ 21:10
Ik zit al een tijdje met volgens mij een relatief simpel excel vraagstuk. Ik heb een hele lijst met nummers en die nummers vertegenwoordigen een afdeling. Nu wil ik i.p.v. de nummer de naam van de afdeling weergeven. Ik heb dus b.v. in een cel ¨4¨ staan en dat ik bv de afdeling verkoop. Ik wil dus in die cel of een andere zien wat de naam is.

Wie kan mij helpen?
DaFanwoensdag 18 maart 2009 @ 21:19
quote:
Op woensdag 18 maart 2009 21:10 schreef hoek21 het volgende:
Ik zit al een tijdje met volgens mij een relatief simpel excel vraagstuk. Ik heb een hele lijst met nummers en die nummers vertegenwoordigen een afdeling. Nu wil ik i.p.v. de nummer de naam van de afdeling weergeven. Ik heb dus b.v. in een cel ¨4¨ staan en dat ik bv de afdeling verkoop. Ik wil dus in die cel of een andere zien wat de naam is.

Wie kan mij helpen?
Eerst een tabel maken, bijvoorbeeld in een ander tabblad, met alle nummers onder elkaar met de afdeling naam erbij (sheet2). Zeg in A1:B10 (10 nummers, 10 afdelingen).

Dan op Sheet1:
- Je nummer staat in cel A1.
- Je wil de afdeling in cel B1 hebben:

=VLOOKUP(A1,Sheet2!A1:B10, 2, 0)
Geeft dan de afdeling naam in B1 aan de hand van cel A1.

Vertaling en versie wijzigingen mag je zelf uitzoeken. Lees de OP maar
hoek21woensdag 18 maart 2009 @ 22:23
TOOOOOOOOOOOP THANX Dit scheelt me heel veel werk! Groet uit een zonnig Mexico City
Deetchdonderdag 19 maart 2009 @ 07:07
quote:
Op woensdag 18 maart 2009 22:23 schreef hoek21 het volgende:
TOOOOOOOOOOOP THANX Dit scheelt me heel veel werk! Groet uit een zonnig Mexico City
je moest ons even inwrijven dat je in mexico zat? You bastard!
DaFandonderdag 19 maart 2009 @ 07:54
Metal: ik wil nog even bij zeggen dat deze methode ver van waterdicht is. Je kan via string manipulatie nog een eind komen. Zal nog wel wat bijklussen.
Hi_flyerdonderdag 19 maart 2009 @ 10:14
1Label34.Font.color = RGB(125, 20, 80)


Waarom kan ik de tekstkleur van een textlabel niet veranderen? Het font kan ik wel veranderen, maar de kleur blijkbaar niet

Tevens kent excel 2003 blijkbaar het commando format$ niet:

1TextBox93.Text = Format$(Sheet7.Range("BU2"), "HH:mm")


Ik heb een flink userform gemaakt in excel 2004, bedoeld voor collega's die met excel 2003 werken. Gevolg is dat ze constant errors krijgen

[ Bericht 24% gewijzigd door Hi_flyer op 19-03-2009 10:28:52 ]
Jaheurdonderdag 19 maart 2009 @ 11:28
Wat is er verkeerd aan het recorden van mijn macro? Ik record deze macro, maar bij het uitvoeren ervan krijg ik continue een melding Ongeldige procedure aanroep of ongeldig argument:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Bevindingen!R1K1:R111K16", Version:=xlPivotTableVersion10).CreatePivotTable _
        TableDestination:="Data!R16K13", TableName:="Draaitabel1", DefaultVersion _
        :=xlPivotTableVersion10
    Sheets("Data").Select
    Cells(19, 6).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Ernst")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Functionaliteit")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("Functionaliteit"). _
        Orientation = xlHidden
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Product")
        .Orientation = xlRowField
        .Position = 1
    End With
    Range("F19").Select
    ActiveWorkbook.ShowPivotTableFieldList = False
DaFandonderdag 19 maart 2009 @ 11:29
Tekstkleur van label doe je met .ForeColor

Ik weet niet wat Format$ doet... sorry.
Hi_flyerdonderdag 19 maart 2009 @ 12:06
Format$ is al opgelost: Bij Tools>References even vinkje weghalen bij een missing library.
Metal_Jagdonderdag 19 maart 2009 @ 12:40
quote:
Op donderdag 19 maart 2009 07:54 schreef DaFan het volgende:
Metal: ik wil nog even bij zeggen dat deze methode ver van waterdicht is. Je kan via string manipulatie nog een eind komen. Zal nog wel wat bijklussen.
Bedoel je de IsDate constructie? Werkt dat dan ook bij een tijd?

(of bedoel je mijn eigen probeersel?)
Metal_Jagdonderdag 19 maart 2009 @ 12:44
quote:
Op donderdag 19 maart 2009 11:28 schreef Jaheur het volgende:
Wat is er verkeerd aan het recorden van mijn macro? Ik record deze macro, maar bij het uitvoeren ervan krijg ik continue een melding Ongeldige procedure aanroep of ongeldig argument:
[ code verwijderd ]

Dit heb je niet in zijn geheel 'opgenomen' toch? (gezien de Cells(.., ..) regel)

Bij welke regel krijg je de foutmelding?
DeepChorddonderdag 19 maart 2009 @ 13:09
verkeerd topic...
DaFandonderdag 19 maart 2009 @ 13:46
quote:
Op donderdag 19 maart 2009 12:40 schreef Metal_Jag het volgende:

[..]

Bedoel je de IsDate constructie? Werkt dat dan ook bij een tijd?

(of bedoel je mijn eigen probeersel?)
Ja de IsDate constructie werkt ook bij tijd (probeer mijn macro maar).
Maar als je bv een variable als Date declareert, en deze leeg laat, geeft IsDate ook een TRUE.

Zoiets is beter (als je uu:mm:ss of uu:mm gebruikt).
1
2
3
4
5
6
7
8
9
Waarde = Range("A1").Text

If IsDate(Waarde) Then
    If Mid(Waarde, 3, 1) = ":" And IsNumeric(Mid(Waarde, 1, 2)) Then

           MsgBox "Is Tijd"

    End If
End If
DaFandonderdag 19 maart 2009 @ 14:01
Jaheur als je nou ff een nep variable aanmaakt, zeg i = 1 en deze plaatst aan het begin van je macro. Ga dan in de Editor en doe rechtermuisknop -> Add watch (Controle toevoegen) -> Break when value changes (Onderbreken indien waarde is gewijzigd).

Dan ga je de code ín en kan je met F8 naar de volgende stap. Je kan dan zien waar het evt fout gaat. Ik kan zo niks vinden.
Metal_Jagdonderdag 19 maart 2009 @ 14:51
quote:
Op donderdag 19 maart 2009 13:46 schreef DaFan het volgende:

[..]

Ja de IsDate constructie werkt ook bij tijd (probeer mijn macro maar).
Maar als je bv een variable als Date declareert, en deze leeg laat, geeft IsDate ook een TRUE.

Zoiets is beter (als je uu:mm:ss of uu:mm gebruikt).
[ code verwijderd ]


Thanx. Ziet er goed uit.
Deetchdonderdag 19 maart 2009 @ 15:40
Ik heb vanuit de control toolbox een scrollbar gekoppeld aan een cel.

Nu wil ik echter elke keer als ik de worksheet open dat de waarden van de 2 scrollbars weer terug naar 0 gaan, ongeacht waar deze eerst op stond. In cel B2 wil ik de datum van vandaag.

Onderstaande code werkt niet
1
2
3
4
5
6
7
8
Private Sub Worksheet_Open()

Range("B2").Value = Date

ScrollBar1.Value = 0
ScrollBar2.Value = 0

End Sub
DaFandonderdag 19 maart 2009 @ 16:23
Vergeet je m niet in ThisWorkbook te zetten en niet in Blad1.
Daarnaast:

Worksheets("Blad1").ScrollBar1.Value = 0
Deetchdonderdag 19 maart 2009 @ 16:51
nevermind

code stond idd op de verkeerde plek

[ Bericht 78% gewijzigd door Deetch op 19-03-2009 16:56:48 ]
DaFandonderdag 19 maart 2009 @ 19:08
quote:
Op donderdag 19 maart 2009 16:51 schreef Deetch het volgende:
nevermind

code stond idd op de verkeerde plek
Deetchdonderdag 19 maart 2009 @ 21:18
quote:
Op donderdag 19 maart 2009 19:08 schreef DaFan het volgende:

[..]

[ afbeelding ]
LOL
Chilleydonderdag 19 maart 2009 @ 21:27
Goedenavond!

Ik heb een klein vraagje over excel. Wie weet kan een van jullie mij helpen?

Ik ben op zoek naar een functie of macro waarbij het mogelijk is om cellen automatisch te kopieren.

Bijvoorbeeld:
Cel a1 staat "X" en cel b1 staat 10
Cel a2 staat "Y" en cel b2 staat 5

Is het mogelijk om excel op een nieuw werkblad automatisch 10x de X en 5x y onder elkaar te zetten?!
Het werkelijke bestand waarmee ik werk is stukken groter natuurlijk maar het gaat om het principe!

Ik hoor het heel graag!
DaFandonderdag 19 maart 2009 @ 21:34
Ga naar de Visual Basic Editor via Alt-F11, dubbelklik links op ThisWorkbook:
1
2
3
4
5
6
7
8
9
Private Sub Workbook_NewSheet(ByVal Sh As Object)

Dim c As Range

For Each c In Sh.Range("A1:A10")
    c.Value = Sheets("Sheet1").Range("A1").Value
Next

End Sub

Deze code plakt in A1:A10 van elke sheet die je invoert, de waarde die in A1 van Sheet1 staat.

Hoop dat je er zo uitkomt.
qu63donderdag 19 maart 2009 @ 21:39
Ik denk dat het de bedoeling is dat als er in B1 5 staat, er maar 5 regels zijn met de waarde van a1, en meteen daarna 5x de waarde van a2..

Anders had het ook gewoon zo gekund:
A1 = Blad1!a1
A2 = Blad1!a1
A3 = Blad1!a1
A4 = Blad1!a1
A5 = Blad1!a1
A6 = Blad1!a1
A7 = Blad1!a1
A8 = Blad1!a1
A9 = Blad1!a1
A10 = Blad1!a1
DaFandonderdag 19 maart 2009 @ 21:45
Hm nou je het zegt.
Even kloten met een handige opbouw dan.
Joooo-pidonderdag 19 maart 2009 @ 21:48
quote:
Op donderdag 19 maart 2009 21:27 schreef Chilley het volgende:
Goedenavond!

Ik heb een klein vraagje over excel. Wie weet kan een van jullie mij helpen?

Ik ben op zoek naar een functie of macro waarbij het mogelijk is om cellen automatisch te kopieren.

Bijvoorbeeld:
Cel a1 staat "X" en cel b1 staat 10
Cel a2 staat "Y" en cel b2 staat 5

Is het mogelijk om excel op een nieuw werkblad automatisch 10x de X en 5x y onder elkaar te zetten?!
Het werkelijke bestand waarmee ik werk is stukken groter natuurlijk maar het gaat om het principe!

Ik hoor het heel graag!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub snelinelkaar()
Sheets("Blad1").Activate
i = 0
k = 0
Do
i = i + 1

For j = 1 To Cells(i, 2).Value
 k = k + 1
 
 Sheets("blad2").Cells(k, 1).Value = Cells(i, 1).Value
 
Next

Loop Until Cells(i, 1).Value = ""
End sub

DaFandonderdag 19 maart 2009 @ 22:04
Lol zo sjiek. Goed werk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Workbook_NewSheet(ByVal Sh As Object)

Sheets("Sheet1").Activate

i = 0
k = 0
Do
i = i + 1

For j = 1 To Cells(i, 2).Value
 k = k + 1
 
 Sh.Cells(k, 1).Value = Cells(i, 1).Value
 
Next

Loop Until Cells(i, 1).Value = ""

End Sub

Zou hem dan in een Workbook_Newsheet zetten
qu63donderdag 19 maart 2009 @ 22:36
Is het nou eigenlijk mogelijk om met Excel gegevens van een niet lokale database (SQL) te plukken?
Hi_flyervrijdag 20 maart 2009 @ 11:37
1
2
3
4
5
6
7
8
9
Sub colorchange()
    Dim a, b, c As Long
    a = Sheet2.Range("J32").Value
    b = Sheet2.Range("K32").Value
    c = Sheet2.Range("L32").Value
    'MsgBox a & b & c
    Range("Invulcellen").Interior.Color = RGB(a, b, c)
    'MsgBox Range("E13").Interior.Color
End Sub


Ik heb dus drie cellen waar waardes tussen 0 en 255 ingevuld kunnen worden, om op die manier een kleur te mengen. Ik hoopte op die manier 256^3 kleuren te kunnen maken, maar helaas zoekt Excel een standaardkleur die het dichtst bij de ingegeven waardes ligt. Is het mogelijk om toch uit alle kleuren te kiezen? Uiteindelijk wil ik een soort user profiles maken (tijd over en zinloos natuurlijk, maar gewoon leuk). Gebruikers van mijn workbook kunnen dan bijvoorbeeld hun eigen kleuren instellen :P

Tevens ben ik op zoek naar een functie die bij het aanroepen van een userform Excel zelf verkleint, zodat deze niet meer te zien is achter het userform.

Overigens is het programma al bijna 1 MB groot ;(
DaFanvrijdag 20 maart 2009 @ 11:45
56 kleuren, helaas:
http://www.mvps.org/dmcritchie/excel/colors.htm#chart
DaFanvrijdag 20 maart 2009 @ 11:49
Minimaliseren:
1Application.WindowState = xlMinimized


Werkt niet denderend trouwens.
DaFanvrijdag 20 maart 2009 @ 11:51
qu63; beetje Google kan geen kwaad? Ik heb geen verstand van SQL
Metal_Jagvrijdag 20 maart 2009 @ 12:17
quote:
Op vrijdag 20 maart 2009 11:51 schreef DaFan het volgende:
qu63; beetje Google kan geen kwaad? Ik heb geen verstand van SQL
En post werkende resultaten indien mogelijk, want dit heeft ook mijn interesse.

FF een quote uit de help van Excel, met name het voorbeeld werkt verduidelijkend:
quote:
SQLExecQuery, functie
Zie ookSpecificatiesGebruik SQLExecQuery en de andere ODBC-functies niet in de invoegmacro Xlodbc.xla, maar gebruik in plaats daarvan de objecten, methoden en eigenschappen in de ADO-bibliotheek (ActiveX Data Objects) van Microsoft.

Met SQLExecQuery wordt een query uitgevoerd op een gegevensbron met een koppeling die tot stand is gebracht met SQLOpen.

Met SQLExecQuery wordt de query alleen maar uitgevoerd. Het resultaat kan worden opgehaald met SQLRetrieve of SQLRetrieveToFile.

Deze functie maakt deel uit van de invoegmacro Xlodbc.xla. Voordat u de functie kunt gebruiken, moet u een verwijzing naar de invoegmacro instellen met de opdracht Verwijzingen in het menu Extra.

SQLExecQuery(ConnectionNum, QueryText)
ConnectionNum Vereist. De unieke koppelings-id van de gegevensbron (als resultaat gegeven door SQLOpen) waarop u de query wilt uitvoeren.

QueryText Vereist. De query die op de gegevensbron moet worden uitgevoerd. De query moet voldoen aan de SQL-syntaxis voor het betreffende stuurprogramma.

Resultaatwaarde
De waarde die door SQLExecQuery als resultaat wordt gegeven, is afhankelijk van de SQL-instructie, zoals wordt weergegeven in de volgende tabel.

SQL-instructie Resultaatwaarde
SELECT Het aantal kolommen in de resultaatset.
UPDATE, INSERT of DELETE Het aantal rijen dat door de instructie wordt beïnvloed.
Elke andere geldige SQL-instructie 0 (nul)


Als de functie SQLExecQuery de query niet kan uitvoeren op de opgegeven gegevensbron, wordt fout 2042 als resultaat gegeven.

Als ConnectionNum ongeldig is, geeft SQLExecQuery fout 2015 als resultaat.

Aanvullende informatie
Voordat SQLExecQuery kan worden aangeroepen, moet een koppeling met de gegevensbron tot stand worden gebracht met de functie SQLOpen. De unieke koppelings-id die door SQLOpen als resultaat wordt gegeven, wordt door SQLExecQuery gebruikt om query's door te geven aan de gegevensbron.

Als u SQLExecQuery aanroept met een eerder gebruikte koppelings-id, worden alle wachtende resultaten voor die koppeling vervangen door de nieuwe resultaten.

Voorbeeld
In het volgende voorbeeld wordt een query uitgevoerd op de voorbeelddatabase Northwind. Het resultaat van de query wordt weergegeven in Sheet1 en bestaat uit een lijst van alle producten die in bestelling zijn.

databaseName = "Northwind"
queryString = _
"SELECT * FROM product.dbf WHERE (product.ON_ORDER<>0)"
chan = SQLOpen("DSN=" & databaseName)
SQLExecQuery chan, queryString
Set output = Worksheets("Sheet1").Range("A1")
SQLRetrieve chan, output, , , True
SQLClose chan
qu63vrijdag 20 maart 2009 @ 12:18
quote:
Op vrijdag 20 maart 2009 11:51 schreef DaFan het volgende:
qu63; beetje Google kan geen kwaad? Ik heb geen verstand van SQL
Ik dacht misschien een van jullie het wist, dat is meestal wat duidelijker dan dat ik het zelf uit moet gaan zoeken..
qu63vrijdag 20 maart 2009 @ 12:20
quote:
Op vrijdag 20 maart 2009 12:17 schreef Metal_Jag het volgende:

[..]

En post werkende resultaten indien mogelijk, want dit heeft ook mijn interesse.

FF een quote uit de help van Excel:
[..]
Dat lijkt meer op een benadering van een lokale niet beveiligde SQl-database..

Ik zoek nog even verder
DaFanvrijdag 20 maart 2009 @ 19:15
quote:
Op vrijdag 20 maart 2009 12:18 schreef qu63 het volgende:

[..]

Ik dacht misschien een van jullie het wist, dat is meestal wat duidelijker dan dat ik het zelf uit moet gaan zoeken..
Sorry, bedoelde het natuurlijk niet zo, maar via 'excel sql' vond ik al een redelijke uitleg.
Washawaymaandag 23 maart 2009 @ 13:54
Hoi, ik ben op dit moment bezig met het creëren van een urenregistratie voor mijn werk maar kom er niet helemaal uit.

De tijdregistratie en verdiensten gaan goed, ik wil het alleen iets meer met formules gaan proberen.

Het is namelijk zo dat ik van ma-za 5,84 euro krijg, maar als ik dan op zondag werk, er 0,50 euro bij komt.


Nu heb ik al heel wat lopen klooien met de ALS functie maar ik kom er niet helemaal uit....

Mijn indeling is als volgt (waarbij X onzichtbaar is en enkel dient als tussenstap om de uren als cijfer weer te geven):

C5 = loon voor ma - za (¤ 5,84)
C6= loon voor zondag (¤ 6,24)
B8 is [DAG] en kan dus maandag dinsdag woensdag donderdag vrijdag zaterdag zijn of Zondag

1
2
[DAG]      [DATUM]       [Van]    [Tot]   [Uur per dag]     [x]     [Loon per dag]      [Fooi]    [Verdiensten per dag]
[Vrijdag]  [20-03-2009] [14:30]  [21:00]   [6:30]           [6,5]   [waarde van X * C5]   [¤14,50]     [loonperdag+fooi]


Nu is mijn vraag, is het mogelijk dat als er bij [DAG] bijv. zondag staat, dat dan bij [loon per dag] automatisch met C6 gerekend word?

En dat als er bijvoorbeeld dus bij [DAG] Woensdag staat, dat er dan bij [loon per dag] dus met C5 gerekend word..?
DaFanmaandag 23 maart 2009 @ 14:21
Niet echt duidelijk. Kan je me toemailen? s punt spraakman at gmail com. Of als iemand anders m weet, kan aan mn telefoon liggen dat het niet te lezen is :p
qu63maandag 23 maart 2009 @ 14:32
Vul je je dag handmatig in?
Zo ja, maak er dan een datum van en laat het opmaken door excel. Dan kan je bijvoorbeeld weekdag(CEL) doen en daar mee rekenen.. =ALS(WEEKDAG(A1)=6;wat te doen als het zondag is;wat te doen als het niet zondag is)
Washawaymaandag 23 maart 2009 @ 15:37
Bedankt! Zo moet het lukken, ben nu even aan het experimenteren, als het niet lukt laat ik het wel weer even weten


Joooo-pimaandag 23 maart 2009 @ 18:55
Of maak op een ander tabblad een tabel met dagen en tarieven. Dan met verticaal zoeken de juiste dag zoeken en zo het tarief daarbij vinden. Ook handig als je met andere tarieven gaat werken op dagen enzo.
FJDmaandag 23 maart 2009 @ 20:54
quote:
Op maandag 23 maart 2009 18:55 schreef Joooo-pi het volgende:
Ook handig als je met andere tarieven gaat werken op dagen enzo.
Feestdagen bv..
McGillesmaandag 23 maart 2009 @ 22:06
Ik zit met het volgende probleem.

Ik ben bezig voor werk een mooi hyperlinkje te maken dat ervoor zorgt dat bepaalde gegevens uit cellen in een automatisch mailtje worden ingevuld.

Nu heb ik alles voor elkaar en alles werkt perfect. Echter als ik teveel tekens in de cellen zet die naar het mailtje worden overgezet, kan excel het allemaal niet meer aan.

Ik heb al geprobeerd de formule op te splitsen vanuit 2 cellen maar om 1 of andere reden pakt hij het dan niet en werkt de formule ook niet.

Het gaat om de volgende formule:

=HYPERLINK("mailto:"&D5&"?subject=Wijziging afspraak&body=Datum: "&TEKST(C6,"d/m/yyyy")&TEKEN(11)&"Tijd:"&TEKST(C7," hh:mm")&TEKEN(11)&"Geboorte: "&TEKST(C8,"d/m/yyyy")&TEKEN(11)&"Achternaam: "&C9&TEKEN(11)&"Reden: "&C10&TEKEN(11)&"Nieuwe afspraak: "&TEKST(C11,"d/m/yyyy")&TEKEN(11)&"Tijd nieuwe afspraak: "&TEKST(C12," hh:mm")&TEKEN(11)&"Overig: "&C13&TEKEN(11)&""&TEKEN(11)&"Met vriendelijke groet"&TEKEN(11)&"Afsprakenbalie","@")

De cellen C6 t/m C13 vult iemand dus zelf in en die info wordt dan automatisch in het mailtje netjes neergezet. Echter als ik bijvoorbeeld bij 'overig' een heel verhaal ga typen, werkt de formule al niet meer. Iemand hier een oplossing?
qu63maandag 23 maart 2009 @ 22:19
quote:
Op maandag 23 maart 2009 20:54 schreef FJD het volgende:

[..]

Feestdagen bv..
Dan gebruik je ipv weekdag() werkdag()
hoek21maandag 23 maart 2009 @ 23:22
Hallo,

Ik heb weer eens een vraagje. Is het mogelijk om een kolom op kleur van de cel te ordenen? Ik heb over een hele lange lijst een aantal verschillende kleuren en die zou ik graag onde elkaar zien.

Dank voor de hulp.
DaFanmaandag 23 maart 2009 @ 23:40
BOEM!
Toffe macro vraag, Hoek.

Je gebruikt alleen de 'basis' 56 kleuren uit Excel neem ik aan?
DaFanmaandag 23 maart 2009 @ 23:40
Het kan trouwens wel, morgen op mn werk zal ik wel ff kloten
hoek21maandag 23 maart 2009 @ 23:47
Ja ik gebruik gewoon basis kleuren.

Ik wacht af dank voor je hulp.

Gr
Hi_flyerdinsdag 24 maart 2009 @ 10:22
quote:
Op maandag 23 maart 2009 23:40 schreef DaFan het volgende:
BOEM!
Toffe macro vraag, Hoek.

Je gebruikt alleen de 'basis' 56 kleuren uit Excel neem ik aan?
Meer kleuren kan toch niet, heb ik hier pas geleerd?

@McGilles, dit is veel makkelijker met een macro'tje op te lossen, als ik straks op mijn werk ben zal ik een stukje code plaatsen, want een vergelijkbaar probleem heb ik laatst ook gehad en opgelost.
DaFandinsdag 24 maart 2009 @ 10:36
1
2
3
4
5
6
7
8
9
10
For i = 1 To 30
    Range("B" & i).Value = Range("B" & i).Interior.ColorIndex
Next i

Columns("B:B").Select
    Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        
Columns("B:B").ClearContents


Bij mij staat in B1:B30 een lijst met kleuren, random aangemaakt. Hiermee sorteer je ze van Colorindex 1 t/m 56.
Metal_Jagdinsdag 24 maart 2009 @ 12:23
quote:
Op maandag 23 maart 2009 22:06 schreef McGilles het volgende:
Ik zit met het volgende probleem.

Ik ben bezig voor werk een mooi hyperlinkje te maken dat ervoor zorgt dat bepaalde gegevens uit cellen in een automatisch mailtje worden ingevuld.

Nu heb ik alles voor elkaar en alles werkt perfect. Echter als ik teveel tekens in de cellen zet die naar het mailtje worden overgezet, kan excel het allemaal niet meer aan.

Ik heb al geprobeerd de formule op te splitsen vanuit 2 cellen maar om 1 of andere reden pakt hij het dan niet en werkt de formule ook niet.

Het gaat om de volgende formule:

=HYPERLINK("mailto:"&D5&"?subject=Wijziging afspraak&body=Datum: "&TEKST(C6,"d/m/yyyy")&TEKEN(11)&"Tijd:"&TEKST(C7," hh:mm")&TEKEN(11)&"Geboorte: "&TEKST(C8,"d/m/yyyy")&TEKEN(11)&"Achternaam: "&C9&TEKEN(11)&"Reden: "&C10&TEKEN(11)&"Nieuwe afspraak: "&TEKST(C11,"d/m/yyyy")&TEKEN(11)&"Tijd nieuwe afspraak: "&TEKST(C12," hh:mm")&TEKEN(11)&"Overig: "&C13&TEKEN(11)&""&TEKEN(11)&"Met vriendelijke groet"&TEKEN(11)&"Afsprakenbalie","@")

De cellen C6 t/m C13 vult iemand dus zelf in en die info wordt dan automatisch in het mailtje netjes neergezet. Echter als ik bijvoorbeeld bij 'overig' een heel verhaal ga typen, werkt de formule al niet meer. Iemand hier een oplossing?
Te lang argument voor de functie HYPERLINK wellicht??

Wat gebeurt er als je dit doet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RANGE("A1").VALUE = _    'of een andere cell die je kan gebruiken...
"mailto:"&D5&"?subject=Wijziging afspraak&body=Datum: " _
&TEKST(C6,"d/m/yyyy")&TEKEN(11) _
&"Tijd:"&TEKST(C7," hh:mm")&TEKEN(11)&"Geboorte: " _
&TEKST(C8,"d/m/yyyy")&TEKEN(11)&"Achternaam: "&C9& _
TEKEN(11)&"Reden: "&C10&TEKEN(11)& _
"Nieuwe afspraak: "&TEKST(C11,"d/m/yyyy") _ 
&TEKEN(11)&"Tijd nieuwe _ 
afspraak: "&TEKST(C12," hh:mm")&TEKEN(11)& _
"Overig: "&C13&TEKEN(11)&""&TEKEN(11)&"Met vriendelijke _ 
groet"&TEKEN(11)&"Afsprakenbalie","@"

HYPERLINK(RANGE("A1").VALUE)

'eventueel 
'RANGE("A1").VALUE = ""


Zo kun je in ieder geval controleren wat je genereert aan hyperlink...
Deetchdinsdag 24 maart 2009 @ 13:35
Ik zou in excel de hele subject al samenvoegen en vervolgens afronden op het aantal characters dat nog wel goed gaat.
Je zou evt. de hoeveelheid tekst in overig kunnen beperken tot een beperkt aantal characters met de "validate" optie.
Kan de "overig" ook niet in de body van de mail?
roelmaster18dinsdag 24 maart 2009 @ 14:44
Ik heb een vraag .

Ik heb 2 Exel documenten

1 met namen en personeelsnummers van alle medewerker zon 2500
1 met namen van alle BHV-ers (ook hier staan de personeelnummers bij.

Nu wil ik graag dat de lijst met BHV-ers geimporteerd worden in de totaallijst, dus iets met find and replace, maar wil geen 700 namen in voeren....Iemand een idee met welk programma en hoe ik dat kan doen.
ralfiedinsdag 24 maart 2009 @ 15:26
quote:
Op dinsdag 24 maart 2009 14:44 schreef roelmaster18 het volgende:
Ik heb een vraag .

Ik heb 2 Exel documenten

1 met namen en personeelsnummers van alle medewerker zon 2500
1 met namen van alle BHV-ers (ook hier staan de personeelnummers bij.

Nu wil ik graag dat de lijst met BHV-ers geimporteerd worden in de totaallijst, dus iets met find and replace, maar wil geen 700 namen in voeren....Iemand een idee met welk programma en hoe ik dat kan doen.
dat doe je het makkelijkste met Microsoft Excel, een onderdeel van de Microsoft Office Suite.
DaFandinsdag 24 maart 2009 @ 15:45
quote:
Op dinsdag 24 maart 2009 15:26 schreef ralfie het volgende:

[..]

dat doe je het makkelijkste met Microsoft Excel, een onderdeel van de Microsoft Office Suite.
!
Deetchdinsdag 24 maart 2009 @ 15:55
Het is mij nog niet duidelijk wat je precies wilt. Wat wil je precies als eindresultaat.

Wil je in de eerste lijst (totaallijst) bij de werknemers een aantekening ofzo dat ze ook BHV'er zijn?

verder zou ik dat idd ook in excel doen
Hi_flyerdinsdag 24 maart 2009 @ 16:28
quote:
Op maandag 23 maart 2009 22:06 schreef McGilles het volgende:
Ik zit met het volgende probleem.

Ik ben bezig voor werk een mooi hyperlinkje te maken dat ervoor zorgt dat bepaalde gegevens uit cellen in een automatisch mailtje worden ingevuld.

Nu heb ik alles voor elkaar en alles werkt perfect. Echter als ik teveel tekens in de cellen zet die naar het mailtje worden overgezet, kan excel het allemaal niet meer aan.

Ik heb al geprobeerd de formule op te splitsen vanuit 2 cellen maar om 1 of andere reden pakt hij het dan niet en werkt de formule ook niet.

Het gaat om de volgende formule:

=HYPERLINK("mailto:"&D5&"?subject=Wijziging afspraak&body=Datum: "&TEKST(C6,"d/m/yyyy")&TEKEN(11)&"Tijd:"&TEKST(C7," hh:mm")&TEKEN(11)&"Geboorte: "&TEKST(C8,"d/m/yyyy")&TEKEN(11)&"Achternaam: "&C9&TEKEN(11)&"Reden: "&C10&TEKEN(11)&"Nieuwe afspraak: "&TEKST(C11,"d/m/yyyy")&TEKEN(11)&"Tijd nieuwe afspraak: "&TEKST(C12," hh:mm")&TEKEN(11)&"Overig: "&C13&TEKEN(11)&""&TEKEN(11)&"Met vriendelijke groet"&TEKEN(11)&"Afsprakenbalie","@")

De cellen C6 t/m C13 vult iemand dus zelf in en die info wordt dan automatisch in het mailtje netjes neergezet. Echter als ik bijvoorbeeld bij 'overig' een heel verhaal ga typen, werkt de formule al niet meer. Iemand hier een oplossing?
Plaats gewoon een button en laat die verwijzen naar onderstaande sub. (Niet helemaal van mezelf). De body moet je dan zelf even aanpassen, maar dat zal wel lukken.

In plaats van .send kan je ook .Display gebruiken, dan kan je het mailtje nog een keer controleren voordat je 'em handmatig verstuurt.

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
Sub SendMail(location)
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim FilenameStr As String
    Dim address As String
    Dim name As String
    
    name = Range("D5")
    address = Range("D5")
    'MsgBox address
        Set OutApp = CreateObject("Outlook.Application")
        OutApp.Session.Logon
        Set OutMail = OutApp.CreateItem(0)
 
        strbody = "Hi technician," & vbNewLine & vbNewLine & _
            "Can you do an Aster run as described in " & location & vbNewLine & _
            vbNewLine & "Regards " & name
 
        On Error Resume Next
        With OutMail
            .to = address
            .CC = "iemand1@uu.nl"
            .BCC = "iemand2@uu.nl"
            .Subject = "Wijziging afspraak"
            .Body = strbody
            .Send 
        End With
        On Error GoTo 0
        MsgBox "Email sent to iemand1, iemand2 and " & name & "!"

        Set OutMail = Nothing
        Set OutApp = Nothing

End Sub
Joooo-pidinsdag 24 maart 2009 @ 20:32
quote:
Op dinsdag 24 maart 2009 14:44 schreef roelmaster18 het volgende:
Ik heb een vraag .

Ik heb 2 Exel documenten

1 met namen en personeelsnummers van alle medewerker zon 2500
1 met namen van alle BHV-ers (ook hier staan de personeelnummers bij.

Nu wil ik graag dat de lijst met BHV-ers geimporteerd worden in de totaallijst, dus iets met find and replace, maar wil geen 700 namen in voeren....Iemand een idee met welk programma en hoe ik dat kan doen.
Als ik je goed begrijp wil je de BHV'ers tussen het overige personeel zetten?

Niet moeilijk denken:
Selecteer de 2 kolommen met BHV en pers.nummer in doc. 2
Dan kopieren
Ga naar doc. 1 en plak ze onder de andere 2500
Nu de truc: selecteer de hele kolom (2500 + 700 ?) en klik op SORTEREN!

Dan heb je ze ertussen en op volgorde

Maar het was misschien niet wat je bedoelde?
PsychoBoBwoensdag 25 maart 2009 @ 11:06
ff een vraagje,

ik heb een pivot, en daarin zeg ik dat velden met de waarde -1 een kleur moeten krijgen, en dat deze kleur toegepast moet worden op .zowel de tekst als de achtergrond. Op het scherm wordt het als een grijs blok weergegeven, dus dan is de -1 waarde dezelfde kleur als de achtergrond. Nu is het echter zo dat als ik ga printen, de tekst zwart kleurt en de achtergrond wel de juiste kleur krijgt, maar ze moeten dus allebei dezelfde kleur hebben, zodat de getallen niet zichtbaar zijn.

Is dit op te lossen, en zo ja hoe??

groet
PsychoBoBwoensdag 25 maart 2009 @ 11:06
dubbelpost

[ Bericht 96% gewijzigd door PsychoBoB op 25-03-2009 11:12:01 ]
Jaheurwoensdag 25 maart 2009 @ 11:21
quote:
Op donderdag 19 maart 2009 14:01 schreef DaFan het volgende:
Jaheur als je nou ff een nep variable aanmaakt, zeg i = 1 en deze plaatst aan het begin van je macro. Ga dan in de Editor en doe rechtermuisknop -> Add watch (Controle toevoegen) -> Break when value changes (Onderbreken indien waarde is gewijzigd).

Dan ga je de code ín en kan je met F8 naar de volgende stap. Je kan dan zien waar het evt fout gaat. Ik kan zo niks vinden.
Het gaat fout vanaf deze code:

1
2
3
4
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Bevindingen!R1K1:R111K16", Version:=xlPivotTableVersion10).CreatePivotTable _
        TableDestination:="Data!R16K13", TableName:="Draaitabel1", DefaultVersion _
        :=xlPivotTableVersion10
Metal_Jagwoensdag 25 maart 2009 @ 12:39
quote:
Op woensdag 25 maart 2009 11:21 schreef Jaheur het volgende:

[..]

Het gaat fout vanaf deze code:
[ code verwijderd ]


Ik heb het ook ff "opgenomen" en bij mij zag het maken van een pivot er anders uit. Hieronder staat het, met jouw ranges erin.

Misschien dat dat wel werkt?

1
2
3
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Bevindingen!R1K1:R111K16").CreatePivotTable TableDestination:="Data!R16K13", TableName:= _
        "Draaitabel1", DefaultVersion:=xlPivotTableVersion10


ps/ TableDestination stond bij mij op "". Mocht het bovenstaande nog fout gaan verander dat dan eerst ff in ""
Jaheurwoensdag 25 maart 2009 @ 13:06
quote:
Op woensdag 25 maart 2009 12:39 schreef Metal_Jag het volgende:

[..]

Ik heb het ook ff "opgenomen" en bij mij zag het maken van een pivot er anders uit. Hieronder staat het, met jouw ranges erin.

Misschien dat dat wel werkt?
[ code verwijderd ]

ps/ TableDestination stond bij mij op "". Mocht het bovenstaande nog fout gaan verander dat dan eerst ff in ""

Die van jou werkt, maar niet op mijn manier. Het moet in een bestaande werkblad en niet in een nieuwe en als ik de code ActiveWorkbook.PivotCaches.Add aanpas naar ActiveWorkbook.PivotCaches.Create werkt het weer niet :/
DaFanwoensdag 25 maart 2009 @ 15:28
PivotCaches heeft geen method 'Create'.
Metal_Jagwoensdag 25 maart 2009 @ 18:43
quote:
Op woensdag 25 maart 2009 13:06 schreef Jaheur het volgende:

[..]

Die van jou werkt, maar niet op mijn manier. Het moet in een bestaande werkblad en niet in een nieuwe en als ik de code ActiveWorkbook.PivotCaches.Add aanpas naar ActiveWorkbook.PivotCaches.Create werkt het weer niet :/
Maar in TableDestination kun je toch aangeven waar je de draaittabel wilt hebben? Als je daar je bestaande werkblad met celverwijzing neerzet, ben je toch klaar? (Precies die code uit mijn vorige post, dus met de TableDestination = "JOUWRANGE")
RayManiawoensdag 25 maart 2009 @ 19:43
Wederom een vraagje, zal het zo goed mogelijk proberen uit te leggen.

Ik heb sheet1 en in de cellen A1 t/m A10 staat de naam van een voetbalspeler. In de cellen B1 t/m B10 staat de club waar die voetbalspeler op dit moment speelt. In kolom B kunnen dus verschillende clubs staan.

Nu heb ik bijvoorbeeld sheet2 en ik wil daar een overzicht maken van alle spelers van één bepaalde club (zeg Ajax). De informatie moet gehaald worden uit sheet1. Ik wil dus dat sheet1 gecontroleerd wordt op een bepaalde club en als er een speler van bijvoorbeeld Ajax tussen staat, moet dat getransfert worden naar sheet2 (waar alle Ajacieden komen te staan). Hoe doe ik dat?
Joooo-piwoensdag 25 maart 2009 @ 20:41
quote:
Op woensdag 25 maart 2009 19:43 schreef RayMania het volgende:
Wederom een vraagje, zal het zo goed mogelijk proberen uit te leggen.

Ik heb sheet1 en in de cellen A1 t/m A10 staat de naam van een voetbalspeler. In de cellen B1 t/m B10 staat de club waar die voetbalspeler op dit moment speelt. In kolom B kunnen dus verschillende clubs staan.

Nu heb ik bijvoorbeeld sheet2 en ik wil daar een overzicht maken van alle spelers van één bepaalde club (zeg Ajax). De informatie moet gehaald worden uit sheet1. Ik wil dus dat sheet1 gecontroleerd wordt op een bepaalde club en als er een speler van bijvoorbeeld Ajax tussen staat, moet dat getransfert worden naar sheet2 (waar alle Ajacieden komen te staan). Hoe doe ik dat?
Ik hou wel van simpele macro'tjes:

Op blad2 heb ik een knop (CommandButton1) geplaatst en in A1 typ je de club. Zet achter de knop de volgende code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub CommandButton1_Click()
Columns("B:B").Clear
  
Club = Range("A1").Value

i = 0
j = 0

Do
    i = i + 1
    
    If Worksheets("Blad1").Cells(i, 2).Value = Club Then
        j = j + 1
        Worksheets("Blad2").Cells(j, 2).Value = Worksheets("Blad1").Cells(i, 1).Value
    End If

Loop Until Worksheets("Blad1").Cells(i, 1).Value = ""


End Sub


DaFanwoensdag 25 maart 2009 @ 22:22
Jopi kan je er niet nog zoiets om heen bouwen, dan hoeft RM alleen nog maar 18 Worksheets aan te maken met de naam van de clubs (neem aan Eredivisie :P )

1
2
3
4
5
6
7
8
9
Dim ws as Worksheet

For each ws in Worksheets

Club = ws.Name

<jouw code>

Next

Hoef je ten eerste A1 niet te 'vervuilen' met de clubnaam, ten tweede hoef je geen 18 buttons te maken en de macro aan te passen qua worksheetnaam (Blad2 in jouw voorbeeld).
Jaheurdonderdag 26 maart 2009 @ 10:13
quote:
Op woensdag 25 maart 2009 18:43 schreef Metal_Jag het volgende:

[..]

Maar in TableDestination kun je toch aangeven waar je de draaittabel wilt hebben? Als je daar je bestaande werkblad met celverwijzing neerzet, ben je toch klaar? (Precies die code uit mijn vorige post, dus met de TableDestination = "JOUWRANGE")
Dan krijg ik de melding ongeldige procedure aanroep of ongeldig argument
Metal_Jagdonderdag 26 maart 2009 @ 12:35
quote:
Op donderdag 26 maart 2009 10:13 schreef Jaheur het volgende:

[..]

Dan krijg ik de melding ongeldige procedure aanroep of ongeldig argument
Heb je dan misschien geen passende range? Wat als je het bij 1 cell houdt?

Ik heb het nl. geprobeerd en het werkte bij mij wel...
Jaheurdonderdag 26 maart 2009 @ 13:02
quote:
Op donderdag 26 maart 2009 12:35 schreef Metal_Jag het volgende:

[..]

Heb je dan misschien geen passende range? Wat als je het bij 1 cell houdt?

Ik heb het nl. geprobeerd en het werkte bij mij wel...
Ik benader de sheet en range op een andere manier en dan werkt het wel:

TableDestination:=Sheets("DATA").Range("A1")
Joooo-pidonderdag 26 maart 2009 @ 13:26
quote:
Op woensdag 25 maart 2009 22:22 schreef DaFan het volgende:
Jopi kan je er niet nog zoiets om heen bouwen, dan hoeft RM alleen nog maar 18 Worksheets aan te maken met de naam van de clubs (neem aan Eredivisie )
[ code verwijderd ]

Hoef je ten eerste A1 niet te 'vervuilen' met de clubnaam, ten tweede hoef je geen 18 buttons te maken en de macro aan te passen qua worksheetnaam (Blad2 in jouw voorbeeld).
Ha, je hebt gelijk. Ik had blijkbaar de post niet helemaal goed gelezen, want ik dacht dat hij het zo wou hebben. Maar ik heb je voorstel er even in verwerkt. Nu met 1 knop op de eerste sheet om de gegevens te verwerken. Dit zou nog in een EventChange kunnen, maar goed.

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
Private Sub CommandButton1_Click()

For Each ws In Worksheets

If ws.Name <> Worksheets(1).Name Then 'zo sla je de eerste worksheet over

Club = ws.Name

Worksheets(Club).Columns("A:A").Clear
  
i = 0
j = 0

Do
    i = i + 1
    
    If Worksheets(1).Cells(i, 2).Value = Club Then
        j = j + 1
        Worksheets(Club).Cells(j, 1).Value = Worksheets(1).Cells(i, 1).Value
    End If

Loop Until Worksheets(1).Cells(i, 1).Value = ""
 
End If
 
Next

End Sub




[ Bericht 3% gewijzigd door Joooo-pi op 26-03-2009 20:23:16 ]
RayManiadonderdag 26 maart 2009 @ 19:57
Ik heb het precies gedaan zoals je uitgelegd heb. In A:A (blad1) heb ik de lijst met spelers en in B:B de clubnaam. Op blad2 heb ik in A1 een club ingevoerd en op dezelfde sheet staat de commandbutton naar de code, maar ik krijg resultaat. Het enige wat ik krijg is dat de clubnaam verwijderd wordt?

Edit; nu test ik de eerste code, maar die werkt wel . Maar inderdaad wat DaFan zegt; ik wil 18 bladen maken en dat automatisch alle spelers uit blad1 worden verdeeld over de clubbladen (2 t/m 19, zeg maar).
Joooo-pidonderdag 26 maart 2009 @ 20:10
quote:
Op donderdag 26 maart 2009 19:57 schreef RayMania het volgende:
Ik heb het precies gedaan zoals je uitgelegd heb. In A:A (blad1) heb ik de lijst met spelers en in B:B de clubnaam. Op blad2 heb ik in A1 een club ingevoerd en op dezelfde sheet staat de commandbutton naar de code, maar ik krijg resultaat. Het enige wat ik krijg is dat de clubnaam verwijderd wordt?

Edit; nu test ik de eerste code, maar die werkt wel . Maar inderdaad wat DaFan zegt; ik wil 18 bladen maken en dat automatisch alle spelers uit blad1 worden verdeeld over de clubbladen (2 t/m 19, zeg maar).
Ja ik weet het. Bij de 2e code moet je de commandbutton op de eerste(!) sheet (bij de gegevens) zetten. Dat was de aanpassing.

Dan maakt ie wel de lijstjes per sheet.
RayManiadonderdag 26 maart 2009 @ 20:17
quote:
Op donderdag 26 maart 2009 20:10 schreef Joooo-pi het volgende:

[..]

Ja ik weet het. Bij de 2e code moet je de commandbutton op de eerste(!) sheet (bij de gegevens) zetten. Dat was de aanpassing.

Dan maakt ie wel de lijstjes per sheet.
Geweldig ! Hartstikke bedankt.

Nu je toch zo goed bezig bent voor mij; hoe zou ik eenvoudig een extra kolom kunnen meenemen? Dus stel ik heb meerdere kolommen (A = Speler, B = Club, C = Positie, D = Rugnummer), hoe kopieer ik dan kolom A, C en D naar de desbetreffende bladen? Sorry als hierdoor de code flink anders is, maar kwam er helaas net pas achter.

En is er een mogelijkheid dat de spelers niet A:A worden gezet, maar bijvoorbeeld in een bepaald gedeelte van de sheet (bijvoorbeeld vanaf B2 t/m B50)?
Joooo-pidonderdag 26 maart 2009 @ 20:21
quote:
Op donderdag 26 maart 2009 20:17 schreef RayMania het volgende:

[..]

Geweldig ! Hartstikke bedankt.

Nu je toch zo goed bezig bent voor mij; hoe zou ik eenvoudig een extra kolom kunnen meenemen? Dus stel ik heb meerdere kolommen (A = Speler, B = Club, C = Positie, D = Rugnummer), hoe kopieer ik dan kolom A, C en D naar de desbetreffende bladen? Sorry als hierdoor de code flink anders is, maar kwam er helaas net pas achter.
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
Private Sub CommandButton1_Click()

For Each ws In Worksheets

If ws.Name <> Worksheets(1).Name Then 'zo sla je de eerste worksheet over

Club = ws.Name

Worksheets(Club).Columns("A:C").Clear
  
i = 0
j = 0

Do
    i = i + 1
    
    If Worksheets(1).Cells(i, 2).Value = Club Then
        j = j + 1
        Worksheets(Club).Cells(j, 1).Value = Worksheets(1).Cells(i, 1).Value
        Worksheets(Club).Cells(j, 2).Value = Worksheets(1).Cells(i, 3).Value
        Worksheets(Club).Cells(j, 3).Value = Worksheets(1).Cells(i, 4).Value
    End If

Loop Until Worksheets(1).Cells(i, 1).Value = ""
 
End If
 
Next

End Sub


Dit lijkt me wat je bedoelt..



[ Bericht 2% gewijzigd door Joooo-pi op 26-03-2009 20:25:42 (KOLOMMEN LEGEN VERGETEN (2)) ]
RayManiadonderdag 26 maart 2009 @ 20:25
quote:
Op donderdag 26 maart 2009 20:21 schreef Joooo-pi het volgende:

[..]
[ code verwijderd ]

Dit lijkt me wat je bedoelt..

Top, werkt ook weer .

Ik had m'n post nog geëdit, maar je was sneller dan het licht.
quote:
En is er een mogelijkheid dat de spelers niet A:A worden gezet, maar bijvoorbeeld in een bepaald gedeelte van de sheet (bijvoorbeeld vanaf B2 t/m B50)?
Joooo-pidonderdag 26 maart 2009 @ 20:26
quote:
Op donderdag 26 maart 2009 20:25 schreef RayMania het volgende:

[..]

Top, werkt ook weer .

Ik had m'n post nog geëdit, maar je was sneller dan het licht.
[..]
Heb je mijn edit ook gezien dan? Eerste post was ik vergeten de kolommen leeg te halen.

Ik ga nog ff kijken naar je laatste vraag dan.
Joooo-pidonderdag 26 maart 2009 @ 20:28
quote:
Op donderdag 26 maart 2009 20:25 schreef RayMania het volgende:

[..]

Top, werkt ook weer .

Ik had m'n post nog geëdit, maar je was sneller dan het licht.
[..]
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
Private Sub CommandButton1_Click()

For Each ws In Worksheets

If ws.Name <> Worksheets(1).Name Then 'zo sla je de eerste worksheet over

Club = ws.Name

Worksheets(Club).Range("B2:D50").Clear
  
i = 0
j = 1

Do
    i = i + 1
    
    If Worksheets(1).Cells(i, 2).Value = Club Then
        j = j + 1
        Worksheets(Club).Cells(j, 2).Value = Worksheets(1).Cells(i, 1).Value
        Worksheets(Club).Cells(j, 3).Value = Worksheets(1).Cells(i, 3).Value
        Worksheets(Club).Cells(j, 4).Value = Worksheets(1).Cells(i, 4).Value
    End If

Loop Until Worksheets(1).Cells(i, 1).Value = ""
 
End If
 
Next

End Sub


[ Bericht 2% gewijzigd door Joooo-pi op 26-03-2009 20:29:12 (shit weer het legen vergeten :P) ]
Pilesvrijdag 27 maart 2009 @ 08:23
Ja, daar was ik weer
Ik heb een lijst met onderdelen, waarbij in kolom L een jaartal van vervanging staat. Nu is de bedoeling dat er per jaar een werkblad komt met daarin alle onderdelen die dat jaar vervangen moeten worden.
Dat is natuurlijk makkelijk door een filter te gebruiken en de gegevens te kopieren, maar het mooiste zou zijn als de gegevens in de aparte werkbladen meeveranderen door wijzigingen in het hoofdblad (dus ook de jaartallen kunnen veranderen)

Is dit te doen (in Excel 2000 ! ), of is met filter toch de enige mogelijkheid?
Deetchvrijdag 27 maart 2009 @ 09:41
waarom geen pivot table?
RayManiavrijdag 27 maart 2009 @ 09:45
quote:
Op donderdag 26 maart 2009 20:28 schreef Joooo-pi het volgende:

[..]
[ code verwijderd ]
Hartstikke bedankt. Ik kan weer even verder. Dit maakt alles veel makkelijker .
Pilesvrijdag 27 maart 2009 @ 09:54
quote:
Op vrijdag 27 maart 2009 09:41 schreef Deetch het volgende:
waarom geen pivot table?
Maar als dan in het hoofdblad een jaartal veranderd wordt, dan veranderen de gegevens in de jaarbladen niet mee toch?
Deetchvrijdag 27 maart 2009 @ 12:00
In een pivottable kun je alle vervangen onderdelen per jaartal tonen. In de pivottable komt dan een kuezelijst met jaartallen en als je die veranderd veranderd de data in de tabel mee.
Pilesvrijdag 27 maart 2009 @ 12:02
quote:
Op vrijdag 27 maart 2009 12:00 schreef Deetch het volgende:
In een pivottable kun je alle vervangen onderdelen per jaartal tonen. In de pivottable komt dan een kuezelijst met jaartallen en als je die veranderd veranderd de data in de tabel mee.
Dan ga ik dat zo eens bekijken
devuser_250zaterdag 28 maart 2009 @ 16:52
ik moet een internationaal telefoonnummer invoeren in Excel. Ik moet hiervoor een "+" schrijven voor het nummer, het probleem is dat dat telkens verdwijnt.

Hoe kan ik dit verhelpen?
DaFanzaterdag 28 maart 2009 @ 18:44
' ervoor.
hendrik2009zondag 29 maart 2009 @ 14:05
Een vraag:

Ik heb per week bepaalde data, die wordt samengevat in een draaitabel.
De data uit de draaitabel wordt weergegeven in een grafiek.

Om de weken in verschillende jaren niet te salderen in de draaitabel, maak ik gebruik van de notatie jaar+week, bijvoorbeeld 0914. In de grafiek staat deze notatie nu op de x-as.

Nu is mijn vraag of het mogelijk is om alleen de weeknotatie, in dit geval 14, op de x-as te zetten? Ik heb al een extra kolom in de draaitabel staan, met alleen de weeknummers, wat misschien niet eens nodig is.
Of ontkom ik er niet aan gebruik te maken van een hulpkolom, buiten de draaitabel?

Alvast bedankt voor de hulp.
Stansfieldmaandag 30 maart 2009 @ 12:15
Hoe zet ik een kop in een grafiek? Ik heb de grafiek al helemaal zoals ik wil. Alleen wil ik erboven, maar wel in de grafiek nog een tekst zetten.
DaFanmaandag 30 maart 2009 @ 12:27
Rechtermuisknop -> Grafiekopties -> Titel invullen.

Hendrik:
Volgens mij kan dit niet.
Joooo-pimaandag 30 maart 2009 @ 12:27
quote:
Op maandag 30 maart 2009 12:15 schreef Stansfield het volgende:
Hoe zet ik een kop in een grafiek? Ik heb de grafiek al helemaal zoals ik wil. Alleen wil ik erboven, maar wel in de grafiek nog een tekst zetten.
Klik met rechts op je grafiek (witte gedeelte) en selecteer "grafiekopties". Vul daar grafiektitel in.

Joooo-pimaandag 30 maart 2009 @ 12:28
quote:
Op maandag 30 maart 2009 12:27 schreef DaFan het volgende:
Rechtermuisknop -> Grafiekopties -> Titel invullen.

Hendrik:
Volgens mij kan dit niet.
Je was me voor precies zelfde antwoord
DaFanmaandag 30 maart 2009 @ 13:11
quote:
Op maandag 30 maart 2009 12:28 schreef Joooo-pi het volgende:

[..]

Je was me voor precies zelfde antwoord
Er is in principe ook maar 1 juist antwoord
Stansfieldmaandag 30 maart 2009 @ 13:20
En hoe doe je dat bij de nederlanse versie van de nieuwste excel?
Deetchmaandag 30 maart 2009 @ 14:28
quote:
Op maandag 30 maart 2009 13:20 schreef Stansfield het volgende:
En hoe doe je dat bij de nederlanse versie van de nieuwste excel?
Ha, daar kunnen we een heel extra topic wel aan gaan wijden:

"Waar zit die-en-die functie in de nieuwste versie van excel want ik kan hem niet vinden"
Joooo-pimaandag 30 maart 2009 @ 15:47
quote:
Op maandag 30 maart 2009 13:20 schreef Stansfield het volgende:
En hoe doe je dat bij de nederlanse versie van de nieuwste excel?
Grafiekopties en grafiektitel... is dat geen Nederlands dan?

Ik mag toch aannemen dat het in de nieuwste versie echt niet anders is...
hoek21maandag 30 maart 2009 @ 20:47
Ik heb weer eens een vraagje. Hoe kan ik tekst en nummers uit 1 cel verdelen over 2 cellen? Ik heb dus bv in een cel staan (Drum 157 kg) Nu wil ik dus in een cel het woord ¨drum¨ hebben en in een andere ¨157¨. Ik weet dat het kan, maar hoe zat het ook alweer?

Al iemand het weet dan is hulp welkom

Dank alvast

GR
DaFanmaandag 30 maart 2009 @ 20:55
quote:
Op maandag 30 maart 2009 20:47 schreef hoek21 het volgende:
Ik heb weer eens een vraagje. Hoe kan ik tekst en nummers uit 1 cel verdelen over 2 cellen? Ik heb dus bv in een cel staan (Drum 157 kg) Nu wil ik dus in een cel het woord ¨drum¨ hebben en in een andere ¨157¨. Ik weet dat het kan, maar hoe zat het ook alweer?

Al iemand het weet dan is hulp welkom

Dank alvast

GR
Wordt het door spaties aangegeven waar het gesplitst wordt? Dus alles voor de eerste spatie en tussen de eerste spatie en de 2e?
Alles voor de eerste spatie:
1=LEFT(A1,LEN(A1)-FIND(" ",A1)-2)


Tussen 1e en 2e spatie:
1=MID(A1,FIND(" ",A1),D2-FIND(" ",A1))
hoek21maandag 30 maart 2009 @ 21:03
Het ziet er zo uit. Dit is de info uit een cel en ik wil die 157 eruit filteren. (is in het spaans vandaar)

TAMBOR A CAMBIO DE 157KG

Ik ga even proberen of je oplossing wekt

dank alvast

Gr
DaFanmaandag 30 maart 2009 @ 21:06
quote:
Op maandag 30 maart 2009 21:03 schreef hoek21 het volgende:
Het ziet er zo uit. Dit is de info uit een cel en ik wil die 157 eruit filteren. (is in het spaans vandaar)

TAMBOR A CAMBIO DE 157KG

Ik ga even proberen of je oplossing wekt

dank alvast

Gr
Nee dat werkt niet. Wil je altijd hetgene hebben dat voor KG staat misschien?
hoek21maandag 30 maart 2009 @ 21:13
Ja dat is wat ik nodig heb. Ik heb dus alleen de 157 nodig uit die cel.
DaFanmaandag 30 maart 2009 @ 21:19
Ik heb het idee dat het een beetje omslachtig is maar akkoord:
1=TRIM(MID(A11,FIND(CHAR(160),SUBSTITUTE(A11," ",CHAR(160),LEN(A11)-LEN(SUBSTITUTE(A11," ","")))),FIND(CHAR(160),SUBSTITUTE(A11,"KG",CHAR(160)))-FIND(CHAR(160),SUBSTITUTE(A11," ",CHAR(160),LEN(A11)-LEN(SUBSTITUTE(A11," ",""))))))


Bleh en ik test het nou maar werkt alleen als 157 en KG aan elkaar staat en 157 een spatie voorstaat.
Waardeloos dit :P
DaFanmaandag 30 maart 2009 @ 21:32
Volgens mij kan je beter een UDF gebruiken zoals:
http://www.ozgrid.com/VBA/ExtractNum.htm
hoek21maandag 30 maart 2009 @ 22:01
tja.....die link geeft een foutmelding (kan dit komen door het Spaans?) is dus niet zo eenvoudig mmmmmmmmmmmmmm
qu63maandag 30 maart 2009 @ 22:09
Hoe kan je HYPERLINK() laten linken naar een bestand in dezelfde map als mn sheet?
=hyperlink("\map.xlsx";"test") werkt niet iig.. Ik wil dingen als C:\blaba\blabla\blabla\blabla\map.xlsx voorkomen omdat het a) ook op andere pc's komt en b) ik dat gewoon niet wil
DaFanmaandag 30 maart 2009 @ 22:29
Via =CEL("Bestandsnaam") kan je achterhalen in welke map het huidige bestand staat
Ik denk dat je genoeg van Excel weet om daar wat mee te kunnen.

Edit: Wel eerst een keer opslaan.
qu63maandag 30 maart 2009 @ 22:37
quote:
Op maandag 30 maart 2009 22:29 schreef DaFan het volgende:
Via =CEL("Bestandsnaam") kan je achterhalen in welke map het huidige bestand staat
Ik denk dat je genoeg van Excel weet om daar wat mee te kunnen.

Edit: Wel eerst een keer opslaan.
Mja, leuk spelen met LINKS() en RECHTS()
Ik moet dus de bestandsnaam en sheet er af slopen

-edit- Niet met LINKS() en RECHTS() dus.. Ff zoeken
DaFanmaandag 30 maart 2009 @ 22:37
Zo dus:
=LEFT(CELL("filename"),FIND("[",CELL("filename"))-1)
qu63maandag 30 maart 2009 @ 22:45
quote:
Op maandag 30 maart 2009 22:37 schreef DaFan het volgende:
Zo dus:
=LEFT(CELL("filename"),FIND("[",CELL("filename"))-1)
Niet bij mij

"=LINKS(CEL("bestandsnaam");ZOEKEN("[";CEL("bestandsnaam"))-1)" Geeft #WAARDE!
"=ZOEKEN("[";CEL("bestandsnaam"))" Geeft ook #WAARDE!
"=ZOEKEN("[";H13)" Geeft #N/B (In H13 staat "=CEL("bestandsnaam")")
DaFanmaandag 30 maart 2009 @ 22:51
Wat is je output van CEL("bestandsnaam") ?
qu63maandag 30 maart 2009 @ 22:52
quote:
Op maandag 30 maart 2009 22:51 schreef DaFan het volgende:
Wat is je output van CEL("bestandsnaam") ?
C:\Users\Sven\School\Portfolio\06 P-Project\Kwaliteitshandboek\[Inhoud.xlsx]Blad1
qu63maandag 30 maart 2009 @ 22:57
http://office.microsoft.com/en-us/excel/HP052091161033.aspx

Daar staat ook niks in over relatieve verwijzingen
DaFanmaandag 30 maart 2009 @ 23:05
FIND = VIND.ALLES

Niet ZOEKEN. ZOEKEN = LOOKUP.
qu63maandag 30 maart 2009 @ 23:09
quote:
Op maandag 30 maart 2009 23:05 schreef DaFan het volgende:
FIND = VIND.ALLES

Niet ZOEKEN. ZOEKEN = LOOKUP.
hey, daar zit wat in
qu63maandag 30 maart 2009 @ 23:20
Ok, uiteindelijke functie:
=HYPERLINK(LINKS(CEL("bestandsnaam");VIND.ALLES("[";CEL("bestandsnaam"))-1)&$B$7&" - "&$C$7&"\"&RECHTS($B$8;1)&" - "&$C$8&"\"&RECHTS(B9;2)&" - "&C9&".docx";"Link")

Wordt:
C:\Users\Sven\School\Portfolio\06 P-Project\Kwaliteitshandboek\01 - Kwaliteitsbeleid\0 - Beleid\01 - Intentieverklaring.docx



Thanks DaFan
DaFandinsdag 31 maart 2009 @ 07:33
Goed werk

Weet je zeker dat je met .docx wil gaan werken? Of 2007 bestandstype in het algemeen? In bedrijven gebruikt nog bijna niemand het. Wij gebruiken zelfs nog 2002 (al heb ik stiekem 2003 Engelse versie opgezet, ik kon godverdomme geen functie vinden in het Nederlands )
qu63dinsdag 31 maart 2009 @ 09:39
quote:
Op dinsdag 31 maart 2009 07:33 schreef DaFan het volgende:
Goed werk

Weet je zeker dat je met .docx wil gaan werken? Of 2007 bestandstype in het algemeen? In bedrijven gebruikt nog bijna niemand het. Wij gebruiken zelfs nog 2002 (al heb ik stiekem 2003 Engelse versie opgezet, ik kon godverdomme geen functie vinden in het Nederlands )
Het wordt alleen door mij en mn pa gebruikt, en op alle pc's en laptops staat Office2007
Joooo-pidinsdag 31 maart 2009 @ 12:47
quote:
Op maandag 30 maart 2009 23:20 schreef qu63 het volgende:
Ok, uiteindelijke functie:
=HYPERLINK(LINKS(CEL("bestandsnaam");VIND.ALLES("[";CEL("bestandsnaam"))-1)&$B$7&" - "&$C$7&"\"&RECHTS($B$8;1)&" - "&$C$8&"\"&RECHTS(B9;2)&" - "&C9&".docx";"Link")

Wordt:
C:\Users\Sven\School\Portfolio\06 P-Project\Kwaliteitshandboek\01 - Kwaliteitsbeleid\0 - Beleid\01 - Intentieverklaring.docx



Thanks DaFan
werkt dit niet gewoon: =hyperlink("bestandsnaam"; "link") ??

ik bedoel: =HYPERLINK("01 - Intentieverklaring.docx"; "link")

Ik heb het ff geprobeerd en werkte wel
qu63dinsdag 31 maart 2009 @ 15:33
quote:
Op dinsdag 31 maart 2009 12:47 schreef Joooo-pi het volgende:

[..]

werkt dit niet gewoon: =hyperlink("bestandsnaam"; "link") ??

ik bedoel: =HYPERLINK("01 - Intentieverklaring.docx"; "link")

Ik heb het ff geprobeerd en werkte wel
Kan wel, alleen ik heb er dus een hele mappenstructuur in zitten, dan moet ik iedere link handmatig aanpassen. Dit is gewoon copy-pasten
Stimpy2009dinsdag 31 maart 2009 @ 22:21
Hoi, ik ben bezig met een sheet om stop tijden in kaart te brengen en nu ben ik al wel zover dat in een ander lijstje een top 5 komt te staan. maar nu wil ik ook graag de bijhorende text er automatisch bij hebben.. kan iemand me helpen? ik kom er niet meer uit!
groetjes Stimpy
zie voorbeeld:
http://i261.photobucket.com/albums/ii43/Tinuske2008/voorbeeld.jpg
henkwaydinsdag 31 maart 2009 @ 22:35
quote:
Op dinsdag 31 maart 2009 22:21 schreef Stimpy2009 het volgende:
Hoi, ik ben bezig met een sheet om stop tijden in kaart te brengen en nu ben ik al wel zover dat in een ander lijstje een top 5 komt te staan. maar nu wil ik ook graag de bijhorende text er automatisch bij hebben.. kan iemand me helpen? ik kom er niet meer uit!
groetjes Stimpy
zie voorbeeld:
http://i261.photobucket.com/albums/ii43/Tinuske2008/voorbeeld.jpg
=E11
qu63dinsdag 31 maart 2009 @ 22:48
quote:
Op dinsdag 31 maart 2009 22:35 schreef henkway het volgende:

[..]

=E11
En wat als er een andere nummer 1 is?

Je kan het doen dmv de functie horiz.zoeken of vert.zoeken (ik gok altijd wel ke ik moet gebruiken, en meestal doen ze niet precies wat ik moet hebben ), alleen is het dan lastig om te doen als er 2 singen zijn met dezelfde waarde..
DaFandinsdag 31 maart 2009 @ 23:04
Jezus Henkway

Nee VERT.ZOEKEN werkt hier niet, dat kan alleen als de op te zoeken waarde LINKS van de te vinden waarde staat. (Dus 20 links, andere rechts). Dit gaat met INDEX en MATCH (ken de NL termen niet). Welke versie heb je?

Morgen op werk kan ik wel even voor je klussen.
Is er een kans dat er 2x dezelfde waarde in de top 5 staat?
qu63dinsdag 31 maart 2009 @ 23:11
Je kan toch ook -1 doen? Ik geloof dat ik het zo een keer werkend heb gekregen..

En anders ben ik benieuwd naar je INDEX/MATCH script
Ik doe soms gewoon in rij G (ofzo) =A1, dan kan ik daar mee verder
Deetchdinsdag 31 maart 2009 @ 23:54
quote:
Op dinsdag 31 maart 2009 23:11 schreef qu63 het volgende:
Je kan toch ook -1 doen? Ik geloof dat ik het zo een keer werkend heb gekregen..

En anders ben ik benieuwd naar je INDEX/MATCH script
Ik doe soms gewoon in rij G (ofzo) =A1, dan kan ik daar mee verder
VLOOKUP met -1 als kolom verwijzing om rechts in de array te zoeken en de waarde links van de gevonden waarde weer te geven? Als dat kan staat hier morgen een youtube linkje waarin ik mijn schoen op eet.
qu63dinsdag 31 maart 2009 @ 23:58
quote:
Op dinsdag 31 maart 2009 23:54 schreef Deetch het volgende:

[..]

VLOOKUP met -1 als kolom verwijzing om rechts in de array te zoeken en de waarde links van de gevonden waarde weer te geven? Als dat kan staat hier morgen een youtube linkje waarin ik mijn schoen op eet.
*prutsen gaat*
DaFanwoensdag 1 april 2009 @ 08:21
J29 ofzo is het komt de volgende formule, deze kan je doortrekken naar beneden.

=INDEX($E$10:$E$15,MATCH(Q29,$Q$10:$Q$15,0))

Vertalen kan je zelf, zie OP.

Edit het lijkt erop dat je voor de gehele rechterkolom (de gele zeg maar) je LARGE gebruikt om de top 5 te maken. Verander de 10:15 range in 10:25.

[ Bericht 21% gewijzigd door DaFan op 01-04-2009 08:30:20 ]
DaFanwoensdag 1 april 2009 @ 08:28
En nee, -1 werkt niet Was het maar waar, geeft een stuk makkelijkere formule.
VLOOKUP zoekt simpelweg alleen in de eerste kolom van de table_array die je opgeeft. MATCH niet.
Swennuswoensdag 1 april 2009 @ 12:33
Een vraagje:

Ik heb 5 waardes (1 t/m 5) en nou zit aan elk van deze waardes een tekst

mijn vraag is nou:

Hoe kan ik er voor zorgen dat wanneer in cel x "1" staat dan de bijbehorende tekst verschijnt?

vb


  • A B
  • 1 DA 1
  • 2 DB 2
  • 3 DC 3
  • 4 DD 4
  • 5 DE 5
  • G-Martwoensdag 1 april 2009 @ 12:34
    Hoi,

    Ik ben bezig met een spreadsheet dat een overzicht bevat van gegevens van verschillende bedrijven waar ik mee samenwerk. Elk bedrijf is bezig met een verschillend project waar ik graag afbeeldingen van wil laten zien in mijn spreadsheet. Ik zit niet zo te wachten op grote rijen aan afbeeldingen maar wil eigenlijk een knop hebben waarmee je afbeeldingen als pop-up te zien krijgt, idealiter met een mooi kader er omheen (vergelijkbaar met hoe je hier op het forum een YouTube video kunt bekijken).

    Iemand enig idee hoe dit te doen (als het uberhaupt al mogelijk is)?

    P.S.: Ik gebruik de Engelse versie van Excel 2003

    Alvast bedankt!
    DaFanwoensdag 1 april 2009 @ 13:16
    quote:
    Op woensdag 1 april 2009 12:33 schreef Swennus het volgende:
    Een vraagje:

    Ik heb 5 waardes (1 t/m 5) en nou zit aan elk van deze waardes een tekst

    mijn vraag is nou:

    Hoe kan ik er voor zorgen dat wanneer in cel x "1" staat dan de bijbehorende tekst verschijnt?

    vb


  • A B
  • 1 DA 1
  • 2 DB 2
  • 3 DC 3
  • 4 DD 4
  • 5 DE 5
  • Waar vul je deze waardes in en waar heb je deze opgeslagen?
    DaFanwoensdag 1 april 2009 @ 13:29
    quote:
    Op woensdag 1 april 2009 12:34 schreef G-Mart het volgende:
    Hoi,

    Ik ben bezig met een spreadsheet dat een overzicht bevat van gegevens van verschillende bedrijven waar ik mee samenwerk. Elk bedrijf is bezig met een verschillend project waar ik graag afbeeldingen van wil laten zien in mijn spreadsheet. Ik zit niet zo te wachten op grote rijen aan afbeeldingen maar wil eigenlijk een knop hebben waarmee je afbeeldingen als pop-up te zien krijgt, idealiter met een mooi kader er omheen (vergelijkbaar met hoe je hier op het forum een YouTube video kunt bekijken).

    Iemand enig idee hoe dit te doen (als het uberhaupt al mogelijk is)?

    P.S.: Ik gebruik de Engelse versie van Excel 2003

    Alvast bedankt!
    Ik heb het als volgt opgelost (2003 Engelse versie):

    Ik heb een knop toegevoegd en een Userform in Visual Basic.
    De knop heet btnBedrijfA en de Userform heet frmPlaatje.

    In het Userform heb ik, ter grootte van het volledige Userform (maar dat maakt verder niet uit) een Image toegevoegd (een lege, je kan de bron aanpassen). Deze heb ik imgUserform genoemd.

    In de code van de knop heb ik het volgende staan:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub btnBedrijfA_Click()

    With frmPlaatje
        .imgUserform.Picture = LoadPicture("path", 240, 162)
        .Caption = "Bedrijf A"
        .Show
    End With

    End Sub


    Als je nu op de knop klikt verschijnt het Userform met het plaatje wat in "path" staat (zelf aanpassen dus, het liefst op een netwerklocatie waar iedereen bij komt.

    Dit zelfde trucje kan je ook doen bij een knop B, knop C etc. Namen zelf aanpassen naar wat je makkelijk en overzichtelijk vindt.

    De plaatjes haal ik zelf lokaal weg (sneller, makkelijker) maar je kan daar volgens mij ook een netwerklocatie bij doen. Je kan ook evt deze plaatjes meeleveren in een map bij het bestand. Dan moet je het path dus dynamisch maken, maar als je daar vragen over hebt hoor ik het wel.
    Ook kan je ze evt op een apart werkblad zetten, een naam geven, en dan aanroepen. Het blad zelf kan je dan hiden.

    Succes.
    Swennuswoensdag 1 april 2009 @ 14:25
    quote:
    Op woensdag 1 april 2009 13:16 schreef DaFan het volgende:

    [..]

    Waar vul je deze waardes in en waar heb je deze opgeslagen?
    bedankt voor de snelle reactie maar heb het reeds gevonden!

    Maar nu loop ik tegen een ander "probleem"

    Hoe kan ik er voor zorgen dat er alleen nog maar in een 2tal cellen iets kan worden gewijzigd en dat men de rest van de cellen niet meer kan selecteren?

    [ Bericht 18% gewijzigd door Swennus op 01-04-2009 16:18:37 ]
    hoek21woensdag 1 april 2009 @ 19:10
    aaaaaaaaaaaaahhhhhhhhhh ik heb iets gedaan denk ik maar ik weet niet wat en weet ook niet hoe ik het weer tergu kan krijgen. Op de een of andere manier kan ik opeens geen formules meer copieren. Als ik knip en plak of sleep dan kopieert hij alleen de waarde maar niet de formule. Hij geeft wel de formule weer in de cel maar houd de waarde van de andere cel. aaaaaaaa wat heb ik gedaan????


    Please help!!!

    Dank
    DaFanwoensdag 1 april 2009 @ 19:12
    quote:
    Op woensdag 1 april 2009 14:25 schreef Swennus het volgende:

    [..]

    bedankt voor de snelle reactie maar heb het reeds gevonden!

    Maar nu loop ik tegen een ander "probleem"

    Hoe kan ik er voor zorgen dat er alleen nog maar in een 2tal cellen iets kan worden gewijzigd en dat men de rest van de cellen niet meer kan selecteren?
    http://spreadsheets.about(...)/080428_lockcell.htm
    Joooo-piwoensdag 1 april 2009 @ 21:51
    quote:
    Op woensdag 1 april 2009 19:10 schreef hoek21 het volgende:
    aaaaaaaaaaaaahhhhhhhhhh ik heb iets gedaan denk ik maar ik weet niet wat en weet ook niet hoe ik het weer tergu kan krijgen. Op de een of andere manier kan ik opeens geen formules meer copieren. Als ik knip en plak of sleep dan kopieert hij alleen de waarde maar niet de formule. Hij geeft wel de formule weer in de cel maar houd de waarde van de andere cel. aaaaaaaa wat heb ik gedaan????


    Please help!!!

    Dank
    Heb je misschien "automatisch berekenen" uitgezet. Dat staat in "opties" --> "berekenen".
    G-Martdonderdag 2 april 2009 @ 12:48
    Hieronder een afbeelding van m'n spreadsheet:



    In de eerste kolom zie je vinkboxjes. In rij 5 en 6 zie je dat ik 'stippeltjes' heb gebruikt voor als ze uitgevinkt staan. Dit doe ik handmatig, maar is er een manier dat Excel ziet dat als ik ze uitvink dat er automatisch stippeltjes verschijnen? (en vice versa)

    Ik gebruik de Engelstalige versie van Excel 2003.

    Alvast bedankt!
    qu63donderdag 2 april 2009 @ 13:02
    Geen idee of er in Excel 2003 ook automatische opmaak zit (in 2007NL iig), daar moet het mee kunnen!
    DaFandonderdag 2 april 2009 @ 13:07
    Je kan toch een _change event maken voor de boxes?
    G-Martdonderdag 2 april 2009 @ 13:14
    quote:
    Op donderdag 2 april 2009 13:07 schreef DaFan het volgende:
    Je kan toch een _change event maken voor de boxes?
    Euh, zo goed ben ik niet met Excel :-/
    qu63donderdag 2 april 2009 @ 13:17
    Ik heb nu trouwens zo'n zelfde soort lijst gemaakt, maar dan met Automatische opmaak. Als ik in rij A een x zet wordt ie groen (met groene tekst), zo niet dan is ie rood. Alle datums krijgen een kleur naarmate ze dichter bij komen. Alles wat binnen een week van nu ligt is rood, binnen 2 weken oranje en alles daarna is groen. De kleur veranderd dus iedere keer mee
    Iedere persoon heeft ook een eigen kleur (en veranderd automatisch als de naam veranderd) en als er een opdracht klaar is komt de link naar het document!
    DaFandonderdag 2 april 2009 @ 13:31
    quote:
    Op donderdag 2 april 2009 13:14 schreef G-Mart het volgende:

    [..]

    Euh, zo goed ben ik niet met Excel :-/
    Waar heb je die checkboxes vandaan gehaald?
    En zou je er evt mee akkoord gaan om het met kruisjes (x) te doen in de cellen ipv boxjes? Scheelt je een hoop werk.
    G-Martdonderdag 2 april 2009 @ 14:53
    quote:
    Op donderdag 2 april 2009 13:31 schreef DaFan het volgende:

    [..]

    Waar heb je die checkboxes vandaan gehaald?
    En zou je er evt mee akkoord gaan om het met kruisjes (x) te doen in de cellen ipv boxjes? Scheelt je een hoop werk.
    Ik heb gewoon geGoogled naar een optie om checkboxes toe te voegen. x-jes zijn ook okay, alhoewel ik liever checkboxjes heb.
    DaFandonderdag 2 april 2009 @ 15:17
    quote:
    Op donderdag 2 april 2009 14:53 schreef G-Mart het volgende:

    [..]

    Ik heb gewoon geGoogled naar een optie om checkboxes toe te voegen. x-jes zijn ook okay, alhoewel ik liever checkboxjes heb.
    Hoe heb je het gedaan dan Via Developer dus?

    Ik dacht dat ik wel even tijd zou hebben maar ben nu best druk, damn you work!
    Stomme nieuwe telefooncentrale
    DaFandonderdag 2 april 2009 @ 16:22
    Ok G-mart ik heb het als volgt gedaan, ik heb 4 checkboxes in A1:A4 geplaatst en daar de volgende codes aangehangen (op dubbelklikken in Design mode), of via Alt-F11 naar de VBA omgeving gaan en dan dubbelklikken links op de sheet waarin ze staan:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    If CheckBox1.Value = True Then
        Range("A1").Value = 1
    Else
        Range("A1").Value = -1
    End If

    End Sub

    Private Sub CheckBox2_Click()

    If CheckBox2.Value = True Then
        Range("A2").Value = 1
    Else
        Range("A2").Value = -1
    End If

    End Sub

    Dit zijn er slechts twee maar je kan raden wat er in de events van checkbox 3 en 4 staan, vrij simpel aan te passen.

    Daaronder heb ik deze code geplaatst:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1:A4")) Is Nothing Then
        Rij = Target.Row
        
        If Range("A" & Rij).Value < 0 Then
            Rows(Rij).Interior.ColorIndex = 0
        Else
            Rows(Rij).Interior.ColorIndex = 1
        End If
    End If

    End Sub

    Nu wordt de inhoud van de rij zwart als de checkbox is aangevinkt, anders wordt ie wit :s)

    Ik weet niet of je er zelf uit kan komen qua stippeltjes enzo, maar dan hoor ik het wel.
    kanovinniedonderdag 2 april 2009 @ 22:52
    Excel, Text van cijfers scheiden

    Dat is mijn probleem, kan iemand helpen aub?
    DaFandonderdag 2 april 2009 @ 23:06
    In jouw voorbeeld, staat 12.9 in dan in A1 oid? Ik kan makkelijk een macro schrijven dat je na het plakken even op een knopje drukt en voila. Moet ik wel weten in welke kolom het staat (als het altijd in dezelfde kolom komt). Je kan ook krijgen dat je een pop-up box krijgt waarin je moet aangeven waar je de lijst hebt geplakt.

    Zeg het maar, ga ik morgen op werk even naar kijken

    Edit: Hier verder
    [EXCEL] Het grote Excel vragen topic, #12

    [ Bericht 12% gewijzigd door DaFan op 02-04-2009 23:25:17 ]
    kanovinniedonderdag 2 april 2009 @ 23:16
    quote:
    Op donderdag 2 april 2009 23:06 schreef DaFan het volgende:
    In jouw voorbeeld, staat 12.9 in dan in A1 oid? Ik kan makkelijk een macro schrijven dat je na het plakken even op een knopje drukt en voila. Moet ik wel weten in welke kolom het staat (als het altijd in dezelfde kolom komt). Je kan ook krijgen dat je een pop-up box krijgt waarin je moet aangeven waar je de lijst hebt geplakt.

    Zeg het maar, ga ik morgen op werk even naar kijken
    Ik heb elke keer andere getallen, maar het staat inderdaad in cel A1, en het kunnen al snel zo'n 50, tot 100 cellen zijn met cijfers/tekst (complexe tekeningen met veel pijpen).