abonnement Unibet Coolblue
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 13:50:32 #101
862 Arcee
Look closer
pi_45436152


Dat vierkantje dus. Als je links de datums invoert en dan rechts de formule meekopieert, dan moet 't goed gaan.
  woensdag 17 januari 2007 @ 13:55:45 #102
85514 ralfie
!Yvan eht nioj
pi_45436310
quote:
Op woensdag 17 januari 2007 13:22 schreef Meeldraad het volgende:
@ Ralphies oplossing:
Hoe maak ik een worksheet_onchange macro? Dit is hoe ik het geprobeerd heb: Extra => Macro => Nieuwe macro opnemen => naamgeven, OK => stopknop. Vervolgens in Macro's bewerken heb ik alles geselecteerd en jouw scriptje eroverheen geplakt. Daarna heb ik A1:A100 vervangen door B3 (aangezien er maar een cel is waarin je de geboortedatum moet invullen). Misschien heb ik een fout gemaakt, maar het resultaat is in ieder geval geen streepjes en de rekencellen rekenen er niet mee. Een voorbeeld van een rekencel is dit:
ga naar extra->macro->visual basic editor
Linksboven in de project explorer (of hoe dat ook heet) dubbelklikken op het blad waarop je het wilt hebben (bijv blad 1)
daarna kun je de code in het scherm plakken.
  woensdag 17 januari 2007 @ 14:20:35 #103
107951 JortK
Immer kwaliteitsposts
  woensdag 17 januari 2007 @ 14:27:28 #104
165854 Meeldraad
Lekker doorstampen
pi_45437332
@ Arcee
Klopt die oplossing was ook werkzaam, maar als je weet hoeveel verwijzingen ik dan handmatig zou moeten omzetten, daar wordt je niet blij van, komt nog eens bij dat de formules nog ondoorzichtiger worden dan ze al zijn en als er ergens toch nog fouten inzitten wordt het nog lastiger ze op te sporen. De formules moeten zo gestroomlijnd mogelijk zijn. En zoals gezegd lost het niet alle problemen op. Het invoeren van een datum mét streepjes leidt tot foute waarden.

@ralfie
Oké gelukt, en inderdaad maakt het nu niet uit of ik ze met of zonder streepje invoer, uiteindelijk staan ze er zoals ik ze wil zien. A sight for sore eyes! Alleen de rekencellen doen er nog niks mee. Moet ik misschien een andere verwijzing gebruiken dan in mijn vorige post?
Contemnunt spinam cum rosae deliberant
  FOK!-Schrikkelbaas woensdag 17 januari 2007 @ 14:40:27 #105
862 Arcee
Look closer
pi_45437801
quote:
Op woensdag 17 januari 2007 14:27 schreef Meeldraad het volgende:
@ Arcee
Klopt die oplossing was ook werkzaam, maar als je weet hoeveel verwijzingen ik dan handmatig zou moeten omzetten, daar wordt je niet blij van, komt nog eens bij dat de formules nog ondoorzichtiger worden dan ze al zijn en als er ergens toch nog fouten inzitten wordt het nog lastiger ze op te sporen. De formules moeten zo gestroomlijnd mogelijk zijn. En zoals gezegd lost het niet alle problemen op.
Waar heb je die datums die je invoert dan allemaal al staan?
quote:
Het invoeren van een datum mét streepjes leidt tot foute waarden.
Daar maak je dan weer een aparte ALS voor. In jouw Nederlandse versie zou dat dan zo moeten worden:

DATUMWAARDE(TEKST.SAMENVOEGEN(LINKS(B3;2);"-";DEEL(B3;ALS(DEEL(B3;3;1)="-";4;3);2);"-";RECHTS(B3;4))

Ervaanuitgaande dat die DATUMWAARDE-functie zo al werkt.

Die formule hoef je maar 1 keer in te voeren en mee te kopiëren.

Nederlandse versies zijn kut!

[ Bericht 3% gewijzigd door Arcee op 17-01-2007 14:46:01 ]
pi_45438537
met ctrl-H kun je in de formules in een werkblad heel eenvoudig vervangingen toepassen.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  woensdag 17 januari 2007 @ 21:35:57 #107
129106 Chav
Oi Oi Oi !!!
pi_45452175
Ik word gek! Hij zegt steeds dat mn sub niet goed is.

Wat ik doe.

extra, macro, nieuwe macro opnemen, macronaam geven, knop maken, macro toevoegen en dan de formule in VB. Ik krijg dan de fout: Compileerfout: Sub of Function is niet gedefinieerd.

Grrrrr!
In me Burberry......
pi_45463906
Een paar kleine handige macrotjes die ikzelf veel gebruik bij dateverwerking (tevens schopje)

Stel je hebt een kolom met datat erin maar ook lege plekken tussen de data. Met ctrl+pijltje naar beneden of naar boven kun je dan naar de eerstvolgende (lager danwel hoger gelegen) lege cel. Soms wil je echter direct naar de alleronderste waarde of de allerbovenste waarde, daarvoor heb ik onderstaande twee macro's gemaakt.

Als je naar de onderste cel met een waarde wilt gaan kun je deze macro gebruiken
1
2
3
4
Sub Last_data()
    Application.Goto Reference:="R65536C[0]"
    Selection.End(xlUp).Select
End Sub


Als je naar de bovenste cel met een waarde wilt gaan kun je deze macro gebruiken
1
2
3
4
Sub First_data()
    Application.Goto Reference:="R1C[0]"
    If ActiveCell.Value = "" Then Selection.End(xlDown).Select
End Sub
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45464258
Onderstaande macro geeft elke cel in de actieve kolom een zelf te kiezen kleur als de waarde die erin staat overeenkomt met de waarde (getal of string) die je in de inputbox invoert. Macro begint in de actieve cel en gaat door tot eerstvolgende lege cel.

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

Dim Mark As Integer
Dim Marker, Markcolor As String

Marker = InputBox("Welke tekenreeks (getal of string) staat in de te markeren cel?", "Merkteken")
If Marker = "" Then Exit Sub

Markcolor = InputBox("Welke kleur markering? (rood, groen, blauw, geel, roze)", "Markerkleur", "rood")
bool = Markcolor = "rood" Or Markcolor = "groen" Or Markcolor = "blauw" Or Markcolor = "geel" Or Markcolor = "roze"
If bool = False Then Exit Sub
If Markcolor = "rood" Then Mark = 3
If Markcolor = "groen" Then Mark = 4
If Markcolor = "blauw" Then Mark = 5
If Markcolor = "geel" Then Mark = 6
If Markcolor = "roze" Then Mark = 7

Do Until ActiveCell.Value = ""
    
    If ActiveCell = Marker Then ActiveCell.Interior.ColorIndex = Mark
    If CStr(ActiveCell.Value) = Marker Then ActiveCell.Interior.ColorIndex = Mark
    ActiveCell.Offset(1, 0).Range("a1").Select
Loop
   
End Sub
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  donderdag 18 januari 2007 @ 11:10:10 #110
85514 ralfie
!Yvan eht nioj
pi_45464704
quote:
Op woensdag 17 januari 2007 14:27 schreef Meeldraad het volgende:
@ralfie
Oké gelukt, en inderdaad maakt het nu niet uit of ik ze met of zonder streepje invoer, uiteindelijk staan ze er zoals ik ze wil zien. A sight for sore eyes! Alleen de rekencellen doen er nog niks mee. Moet ik misschien een andere verwijzing gebruiken dan in mijn vorige post?
ja, de cel geeft het nu als tekst weer. Om met deze tekst als datum te werken, moet je de functie DATUMWAARDE gebruiken, bijv
1=ALS(DATUMWAARDE(A1)>DATUMWAARDE("13-3-2001");"ja";"nee")
  donderdag 18 januari 2007 @ 12:01:27 #111
165854 Meeldraad
Lekker doorstampen
pi_45466421
@ ralfie
Dat is nog een relatief kleine toevoeging... even testen....


Wauw, ik geloof dat dit een oplossing is waar ik mee kan leven! Het is niet zo te regelen dat de celeigenschap al op datum staat en dat je vervolgens via een macro het hele streepverhaal bewerkstelligt? (Zoals gezegd, ik wil de formules zo kort mogelijk houden)

@ Arcee
Je formule krijg ik niet werkend. En de oplossing van ralfie is gestroomlijnder. Evengoed, enorm bedankt voor al je input. Heb ik echt gewaardeerd!

Als jullie er belangstelling bij hebben, wil ik het eindproduct wel naar je toemailen. Dan begrijp je misschien ook beter waarom het me te doen was en wie weet zie je nog dingen die beter of handiger zouden kunnen. Het is een sheet waarin je met relatief weinig variabelen, snel je inkomstenbelasting kunt uitrekenen. PM maar een mailadres bij belangstelling.
Contemnunt spinam cum rosae deliberant
  donderdag 18 januari 2007 @ 12:11:18 #112
165854 Meeldraad
Lekker doorstampen
pi_45466707
Trouwens, nog een vraag: de RANGE betreft 6 cellen, maar als ik het zo noteer: Range("c6;c22;c38;c54;c71;c87") werken ze niet, behalve de eerste waar ik mee getest heb, namelijk cel c22. (Bij c6 was ik arcee's opmerkingen aan het proberen).
Ze staan allemaal op tekst, dus daar ligt het niet aan. Ik zal het wel verkeerd genoteerd hebben... help?
Contemnunt spinam cum rosae deliberant
pi_45471354
* Deetch noteert worksheet_change idee voor later gebruik
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  FOK!-Schrikkelbaas donderdag 18 januari 2007 @ 14:37:17 #114
862 Arcee
Look closer
pi_45471799
quote:
Op donderdag 18 januari 2007 12:01 schreef Meeldraad het volgende:
PM maar een mailadres bij belangstelling.
Zie m'n profiel. Je hebt zo te zien je PM niet geactiveerd.
  donderdag 18 januari 2007 @ 16:40:50 #115
85514 ralfie
!Yvan eht nioj
pi_45476889
quote:
Op donderdag 18 januari 2007 12:01 schreef Meeldraad het volgende:
@ ralfie
Dat is nog een relatief kleine toevoeging... even testen....


Wauw, ik geloof dat dit een oplossing is waar ik mee kan leven! Het is niet zo te regelen dat de celeigenschap al op datum staat en dat je vervolgens via een macro het hele streepverhaal bewerkstelligt? (Zoals gezegd, ik wil de formules zo kort mogelijk houden)
Het probleem is dat een illegale datum door excel niet kan worden omgezet en dan kun je er in visual basic ook niks mee.Maar na wat experimenteren net iets uitgevonden. Cell.value2 geeft de ingevoerde waarde, ook als deze geen legale datum is. De aangepaste code wordt dan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("A1:A100"), Target) Is Nothing Then
        On Error GoTo wrong
        Dim vale As String, length As Integer
        For Each cell In Target
            length = Len(cell.Value2)
            If length = 7 Or length = 8 And Not length = 0 Then
                If length = 7 Then
                    vale = "0" & cell.Value2
                Else
                    vale = cell.Value2
                End If
                cell.Value = DateValue(Left$(vale, 2) & "-" & Mid$(vale, 3, 2) & "-" & Right$(vale, 4))
            End If
        Next cell
    End If
    Exit Sub
wrong:
    MsgBox "De ingevulde waarde: '" & vale & "' is geen geldige datum!"
End Sub
Nu kun je je cellen wel op dd-mm-jjjj zetten, en er gewoon mee rekenen

[ Bericht 6% gewijzigd door ralfie op 18-01-2007 16:46:38 ]
  donderdag 18 januari 2007 @ 18:05:27 #116
165854 Meeldraad
Lekker doorstampen
pi_45480598
Exact!!! ZOOOO moet ie zijn!!! You just made my day! Elk biertje dat ik drink vandaag zal zijn op Ralph van Hoorn, wat een held! Zegt het voort!

Alle anderen, met name Arcee ook hartelijk dank!

Oh en als je nog belangstelling hebt bij het resultaat, dan moet je maar even een mailadres naar mijn inmiddels geactiveerde PM-inbox sturen.
Contemnunt spinam cum rosae deliberant
pi_45499548
Soms moet je duplicaten uit een kolom verwijderen. hiervoor heb ik twee macros geschreven:

De eerste macro verwijderd duplicaten als ze direct onder elkaar staan.
1, 1, 2, 2, 3, 4, 5, 1, 1,2
wordt
1, 2, 3, 4, 5, 1, 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Del_below_dupli()

' Deze macro kijkt of de cel onder de active cell dezelfde waarde bevat.
' Zo ja dan wordt deze verwijderd, anders wordt er verder gegaan
    
Do While ActiveCell.Value <> ""
    
    Curr = ActiveCell.Value
    ActiveCell.Offset(1, 0).Range("A1").Select
    Do
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlUp
    Loop While ActiveCell.Value = Curr
    
Loop
End Sub


De tweede macro verwijderd alle duplicaten uit een kolom.
1, 1, 2, 2, 3, 4, 5, 1, 1,2
wordt
1, 2, 3, 4, 5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Del_duplicate_column()
'
' Deze macro verwijderd duplicaten uit een ongesorteerde kolom
' Hierbij wordt bovenaan begonnen
    
Do While ActiveCell.Value <> ""
    Check = ActiveCell.Value
    rij = ActiveCell.Row
    kol = ActiveCell.Column
    
    Do While ActiveCell.Value <> ""
        ActiveCell.Offset(1, 0).Range("a1").Select
        If ActiveCell.Value = Check Then
            Selection.Delete Shift:=xlUp
            Else: End If
        Loop
    
'activecell weer terug naar check cell en 1 cel naar beneden en do -loop
Range("a1").Select
ActiveCell.Offset(rij, kol - 1).Range("a1").Select
Loop

End Sub
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45549314
Deetch need your help again
Maat van me is naar het volgende op zoek.. ( dont ask me why )
Regel 1 heeft x velden gevuld
Regel 2 .. etc etc

Door het draaien van een macro wil hij op blad 2 het volgende krijgen
A1
B1
C1 D1 E1 F1 G1 etc..

Dus blad1 A1 komt op A1, Blad1 B1 komt op A2, Blad1 C1 komt op A3 en de rest komt naast A3..
de 2e regel van blad 1 gaat hetzelfde verder,

vb.
Regel 1 : 1 2 3 4 5 6 7
Regel 2 : a b c d e f g

blad 2:
1
2
3 4 5 6 7
a
b
c d e f g h
  zondag 21 januari 2007 @ 11:39:13 #119
85514 ralfie
!Yvan eht nioj
pi_45553922
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
Sub test()
Dim arr() As Integer
Dim vals() As Variant
Dim number As Integer
number = ThisWorkbook.Sheets("blad1").UsedRange.Count

ReDim arr(number, 2)
ReDim vals(number)

Dim x

For Each cell In ThisWorkbook.Sheets("blad1").UsedRange
    If Not cell.Value = "" Then
        arr(x, 1) = cell.Column
        arr(x, 2) = cell.Row
        vals(x) = cell.Value
        x = x + 1
    End If
Next cell


ThisWorkbook.Sheets("blad2").Activate
Dim drow As Integer, dcol As Integer

For y = 0 To x - 1
    dcol = arr(y, 1) - 2
    If dcol < 1 Then dcol = 1
    drow = arr(y, 2) * 3
    If arr(y, 1) = 1 Then
        drow = drow - 2
    ElseIf arr(y, 1) = 2 Then
        drow = drow - 1
    End If
    Cells(drow, dcol).Value = vals(y)
Next y
End Sub
hoeft alleen nog maar de sheets namen te veranderen mochten die anders zijn
  maandag 22 januari 2007 @ 11:28:43 #120
163064 Cuegirllie
Vreemd, maar lekker!
pi_45573572
Ik zit met een probleem.. Ik moet een gestapelde grafiek maken, maar hij wil niet zoals ik dat wil.. iemand hier een idee?? Jammergenoeg geen idee hoe ik een mooie screenshot ervan kan maken.. maar zal t proberen uit te leggen dmv overname;
Dit zijn mijn gegevens

Persoon A
Datum Kosten1 Kosten 2
Jan 50.00 0.00
Feb 60.00 5.00
Maart 70.00 10.00
April 50.00 10.00

Persoon B
Datum Kosten1 Kosten 2
Jan 20.00 1.00
Feb 30.00 10.00
Maart 60.00 7.00
april 10.00 5.00

Nu wil ik dus een gestapelde grafiek, waarin per maand aan wordt gegeven wat de kosten per persoon zijn.
op de x-as de maanden
op de y-as de bedragen

In sitautie van hierboven wil ik dus 1 grafiek met 2 staven per maand (persoon A en B)
Elk zo';n staaf bestaat uit kosten 1 en kosten 2 (bovenop elkaar, gestapeld)
Echter in mijn geval gaat het om 12 maanden en zo'n 12 werknemers, dus zijn bv aparte grafieken geen opties.

Iemand enig idee hoe ik dit moet doen?? Hoop dat het een beetje duidelijk is.

Wat mijn probleem namelijk is, is dat ie of alles bij elkaar in een gestapelde balk zet (dus van alle personen) of alle maanden bij elkaar doet. Het wil gewoon niet lukken. Hoop dat iemand t antwoord weet

[ Bericht 11% gewijzigd door Cuegirllie op 22-01-2007 13:17:00 (verduidelijking probleem) ]
Cue, het komkommermeisje!
Het moet niet mooi zijn, het moet functioneel zijn!
Verliefdheid is een uitvinding voor mensen zonder geld zodat ze gratis seks kunnen hebben..
pi_45575041
Ik heb geprobeerd een voorbeeldje te maken maar kan hem niet posten omdat ik geen ftp toegang heb. Ik kan hem wel naar je mailen als je ff je mail adres doet.
Wat ik nu heb is een grafiek met op de x-as de maanden als volgt: jan feb mrt dec en dan weer jan feb mrt dec voor persoon twee. Op de y-as staan de gestapelde kosten (kosten 1 en 2) per persoon. Je hebt dus in totaal 8 stapels.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  maandag 22 januari 2007 @ 12:26:42 #122
163064 Cuegirllie
Vreemd, maar lekker!
pi_45575251
hm.. dat gaat jammer genoeg ook niet werken.. vergeten bij te vermelden.. Maar het gaat om zo'n 12 personen. Dus dan zou het erg veel worden.
Evt voorbeelden kun je pm-en
Cue, het komkommermeisje!
Het moet niet mooi zijn, het moet functioneel zijn!
Verliefdheid is een uitvinding voor mensen zonder geld zodat ze gratis seks kunnen hebben..
pi_45575297
quote:
Op zondag 21 januari 2007 00:32 schreef realbase het volgende:
Deetch need your help again
Hehe, ik slaap in het weekend. Maar Ralfie is een betere coder dan ik en die heeft op zondag niets te doen zo te zien
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45575860
@Cuegirllie: probeer het hier eens mee: http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q214119

Ik kan zelf helaas nu ff niet helpen ivm lunchmeeting.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_45579467
Ik heb een voorbeeld excelletje klaar op basis van bovengenoemde link, volgens mij hoef je alleen de namen en bedragen nog in te vullen.

Waar kan ik hem heen sturen? Je kunt nl. geen bestanden PM'en.

[ Bericht 22% gewijzigd door Deetch op 22-01-2007 14:48:17 ]
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')