abonnement Unibet Coolblue Bitvavo
pi_59560721
Het grote Excel vragen topic deeltje 6 alweer

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

Voorgaande deeltjes met veel informatie:


[EXCEL] Het grote Excel vragen topic, #5
  vrijdag 20 juni 2008 @ 21:23:29 #2
134533 donroyco
dus niet Donroyco
pi_59560971
De TT laat wat te wensen over
Op maandag 29 september 2008 11:45 schreef HostiMeister het volgende:
Dat is zeg maar de Nederlandse taal op een vuige keukentafel voorover buigen en hem dan zonder glijmiddel anaal verkrachten. :'(
  vrijdag 20 juni 2008 @ 21:26:17 #4
62215 qu63
..de tijd drinkt..
pi_59561060
quote:
Op vrijdag 20 juni 2008 21:23 schreef donroyco het volgende:
De TT laat wat te wensen over
D'r zit een fout in idd!
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  vrijdag 20 juni 2008 @ 22:10:46 #5
3269 Dixidito
*loves Joke*
pi_59562372
quote:
Op donderdag 19 juni 2008 21:51 schreef Dixidito het volgende:
Is er een manier om een totaal document met meerdere werkbladen op een simpele manier van al zijn formules te ontdoen en de getallen te vervangen door waarden?

Ik heb namelijk een document dat veel te groot wordt om te mailen, maar dat komt volgens mij door alle regels en formules in het document. Als ik dat op een makkelijke manier kan vervangen door alleen de waarden en opmaak is het document stukken kleiner.
Ik bedoel dus inderdaad de 'Plakken speciaal'-optie en dan alleen waarden en opmaak, maar dan in één keer een heel document, zonder elk werkblad opnieuw te moeten selecteren.

En zippen is geen optie... ik wil het in excel voor elkaar krijgen, vandaar de vraag in het Excel-topic
  vrijdag 20 juni 2008 @ 22:41:40 #6
80690 hooibaal
Be prepared.
pi_59563356
Dat moet met een macro wel te organiseren zijn, toch? Ik ben niet bepaald een ervaren macrobouwer, maar als je een macro maakt die *Blad selecteert - Kopieert - Speciaalplakt - CTRL-Page Down* en dat 255 keer, dan ben je denk ik waar je wezen wil.

TeVensP.
Brutalen hebben de halve wereld; doe mij die andere helft dan maar
pi_59563811
quote:
Op vrijdag 20 juni 2008 22:41 schreef hooibaal het volgende:
Dat moet met een macro wel te organiseren zijn, toch? Ik ben niet bepaald een ervaren macrobouwer, maar als je een macro maakt die *Blad selecteert - Kopieert - Speciaalplakt - CTRL-Page Down* en dat 255 keer, dan ben je denk ik waar je wezen wil.

TeVensP.
als je er dan een werkbladje bij maakt kun je een nieuwe macro maken, 255 keer
als ik iets wil bekijkek thuis zet ik het ff op www.driveway.com gratis accountje maken 2 gb

[ Bericht 11% gewijzigd door henkway op 20-06-2008 23:00:48 ]
  vrijdag 20 juni 2008 @ 22:58:14 #8
80690 hooibaal
Be prepared.
pi_59563897
quote:
Op vrijdag 20 juni 2008 22:55 schreef henkway het volgende:

[..]

als je er dan een werkbladje bij maakt kun je een nieuwe macro maken, 255 keer
?
Brutalen hebben de halve wereld; doe mij die andere helft dan maar
pi_59569952
Dixidito, ik ben gister bezig gewees tmet jouw probleem. Problemen waar ik tegen aan loop:
a) Je kan niet Plakken speciaal in dezelfde range als waar je vandaan kopieert, dus je moet een nieuwe worksheet maken
b) Als je een nieuwe worksheet maakt, kan je geen gebruik meer maken van For Each ws in.... (om door alle werkbladen te loopen), omdat het 'nieuwe' werkblad ook wordt meegenomen daarna. Je blijft dus vastzitten.

Je kan dit eventueel oplossen door een constructie als dit te gebruiken, moet je alleen even voor de array bekijken hoe dat precies moet, ik ben er geen fan van
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DIm ws as Worksheet
Dim wsName as String

For Each ws In Worksheets
  < Voeg hier de worksheetname toe aan je array >
Next ws

< Hier loop je door je array heen >
For each ..... < geenidee >
  Sheets.Add
  Activesheet.Name = wsName & ".new"
  Sheets(wsName).Select
  Cells.Copy
  Sheets(wsName & ".new").Select
  Range("A1").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
  Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
Next < volgende in array >


Hoop dat je hiermee een beetje in de goede richting kan komen!
  zaterdag 21 juni 2008 @ 19:03:45 #10
85514 ralfie
!Yvan eht nioj
pi_59583243
1
2
3
4
5
dim values as variant
for each ws in Worksheets
     values=ws.usedrange
     ws.usedrange=values
next ws


Simpler dan je denkt! Een range kan gewoon naar een variant geconverteerd worden, je krijgt dan een array met waarden. Dit kun je net zo snel terugzetten. Niet alleen simpeler, maar honderden keren sneller dan door je range heen iteraten...

[ Bericht 6% gewijzigd door ralfie op 21-06-2008 20:26:20 ]
  zondag 22 juni 2008 @ 12:19:48 #11
170545 DaviniaHR
Mrs. PhysicsRules
pi_59600333
tvp'tje voor nu dan maar.
*O* Trotse mama van E l i en A v i v a *O*
Insanity is heritable. You get it from your children.
Ik ben wel gek, maar niet achterlijk.
If you can't beat them, confuse them.
pi_59600883
Zo'n topicreport helpt ook geen klap, mod heeft alleen } naar ] veranderd.
  zondag 22 juni 2008 @ 12:48:25 #13
62215 qu63
..de tijd drinkt..
pi_59601082
quote:
Op zondag 22 juni 2008 12:41 schreef DaFan het volgende:
Zo'n topicreport helpt ook geen klap, mod heeft alleen } naar ] veranderd.
Wat had je nog meer gereport dan
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59601163
Exel -> Excel, excel -> Excel en oude topics in de OP.
pi_59601178
quote:
Op zondag 22 juni 2008 12:48 schreef qu63 het volgende:

[..]

Wat had je nog meer gereport dan
'Exel' ?
Op woensdag 20 april 2011 23:38 schreef luckass het volgende:
bazen zijn alleen vindbaar voor de chicks.
  zondag 22 juni 2008 @ 12:52:52 #16
62215 qu63
..de tijd drinkt..
pi_59601205
quote:
Op zondag 22 juni 2008 12:51 schreef DaFan het volgende:
Exel -> Excel, excel -> Excel en oude topics in de OP.
Ah!

Maar nu staat er wel excel
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59601774
quote:
Op zondag 22 juni 2008 12:52 schreef qu63 het volgende:

[..]

Ah!

Maar nu staat er wel excel
Kijk nog eens goed naar de TT
  zondag 22 juni 2008 @ 13:16:44 #18
62215 qu63
..de tijd drinkt..
pi_59601822
quote:
Op zondag 22 juni 2008 13:15 schreef Dirkh het volgende:

[..]

Kijk nog eens goed naar de TT
ah fuck

ik keek alleen naar grote excel vragentopic
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59618331
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_59636692
Uit vorig topic: Excel enter in veld (mht versie)
quote:
Op maandag 23 juni 2008 17:18 schreef Cothen het volgende:
De enige manier om in Excel meerdere gegevens onder elkaar in dezelfde tabel te krijgen, is gebruik te maken van het "tekstterugloop" (celeigenschappen). Waarbij de celbreedte net zo breed moet blijven als het breedste gegeven in de cel.

Overigens, waarom gebruik je een formaat dat alleen bedoeld is om te publiceren later weer om te bewerken? Kan je dan niet beter de .xls oom bewaren en die openen om te bewerken?
Het probleem is dat ik geen XLS kan genereren op de server zonder COM objecten te gebruiken, helaas kan / mag ik geen COM object gebruiken op de server waardoor ik wel op deze manier verder moet gaan. Lezen van een XLS bestand is geen probleem maar het schrijven wel weer daarom dus deze keuze.

Ik had gehoopt dat ook excel een soort tekst vak zou hebben waarin ik 'enters' mag gebruiken, maar blijkbaar is dat niet het feit...

Misschien nog een andere oplossing?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_59638608
met alt+enter kun je meerdere regels in een cel kwijt
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_59644639


Ik wil dit graag in 1 lange lijst hebben in Acces.

Dus:
Admiral group - 30/12/06 - 455
Admiral group - 2/1/06 - 455
Admiral group - 3/1/06 - 466,75

t/m

Xstrata - 1/1/08 - 673

Oftewel, hoe krijg je een tabelvorm in databasevorm ? De lijst gaat een heul stuk naar beneden en een heul stuk naar rechts dus vandaar dat zo automatisch mogelijk handig is .
Op maandag 30 november 2009 19:30 schreef Ian_Nick het volgende:
Pietje's hobby is puzzelen en misschien ben jij wel het laatste stukje O+
pi_59648385
quote:
Op dinsdag 24 juni 2008 09:34 schreef PietjePuk007 het volgende:
[ afbeelding ]

Ik wil dit graag in 1 lange lijst hebben in Acces.

Dus:
Admiral group - 30/12/06 - 455
Admiral group - 2/1/06 - 455
Admiral group - 3/1/06 - 466,75

t/m

Xstrata - 1/1/08 - 673

Oftewel, hoe krijg je een tabelvorm in databasevorm ? De lijst gaat een heul stuk naar beneden en een heul stuk naar rechts dus vandaar dat zo automatisch mogelijk handig is .
Importeren he?
pi_59648452
Het is inmiddels opgelost dmv VBA .
Op maandag 30 november 2009 19:30 schreef Ian_Nick het volgende:
Pietje's hobby is puzzelen en misschien ben jij wel het laatste stukje O+
  dinsdag 24 juni 2008 @ 12:24:19 #25
15967 Frollo
You know I am a righteous man
pi_59648643
Even een tvp'tje want er zit soms wel eens een vraag bij die ik kan beantwoorden.
  woensdag 25 juni 2008 @ 10:28:27 #26
14337 BierKoning
Bier 4 Ever!!
pi_59670210
Ok ik heb een nogal vervelend probleem nu.

Ik ben weer bezig gegaan met VBA en opzich gaat het niet slecht. Op 1 puntje na.. :?

Wanneer ik de volgende code gebruik:
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Checkbox1_Change()
        If CheckBox1.Value = True Then
            Date = Worksheets("Sheet1").Range("H2").Value
            Worksheets("Sheet1").Range("H2").Value = Date + 152
            Date = Worksheets("Sheet1").Range("I2").Value
            Worksheets("Sheet1").Range("HI").Value = Date + 183
                Else
                 If CheckBox1.Value = False Then
                        Exit Sub
                    End If
            End If
End Sub

Telt hij netjes 152 dagen bij H2 op en 183 dagen bij I2. So far so good.

Alleen telt hij ook 183 dagen bij de computerdatum op :? Dit is binnen excel een probleem (ik heb de computerdatum nodig) maar het is ook gewoon algemeen onhandig als je computerdatum +10 jaar is (door het testen) :P

Weet iemand hoe dit komt?
pi_59670524
Wat is 't verschil tussen deze 2 formules, als je geen filter hebt aanstaan?
1
2
=SUBTOTAAL(2;data100!G:G)
=AANTAL(data100!G:G;2)

Er zit exact 1 verschil in (52.204 vs 52.205).

edit - opgelost, die 2 in de 2e formule was blijkbaar nergens voor nodig

[ Bericht 17% gewijzigd door PietjePuk007 op 25-06-2008 11:34:26 ]
Op maandag 30 november 2009 19:30 schreef Ian_Nick het volgende:
Pietje's hobby is puzzelen en misschien ben jij wel het laatste stukje O+
  woensdag 25 juni 2008 @ 11:22:39 #28
14337 BierKoning
Bier 4 Ever!!
pi_59671680
Stel ik heb een Rij, Rij 1, daarin zitten per kolom informatie, enkele datums die opgeteld worden met een excel formule, en enkele VBA-checkboxes. De kolommen staan dus met elkaar in verband (Dus bv Datum A1wordt gekoppeld aan B1, enz enz). Ditzelfde met de VBA-checkboxen.

Is het nu mogelijk om een scriptje te maken (wellicht aan een button) om een nieuwe rij toe te voegen, die exact deze layout van rij 1 aan te houden, inclusief alle formules, en VBA-checkboxen, alleen dan ipv A1 --> B1, A2 --> B2. Dus alles relevant aan rij 1 wordt nu rij 2. De rest van de losse informatie kan ik dan aan de hand van dropdown menu's zelf toevoegen.

Met copy past kom je met gewone formules een heel eind, alleen is dat niet mooi met data (als de formule een niet bestaande datum (leeg veld) opteld met 150 dagen telt hij het op bij het jaar 1900. Dus niet handig.

Kortgezegd:
Kan je met 1 druk op de knop een geheel nieuwe rij aanmaken, met gecorrigeerde formules en checkboxen, met behoud van de layout?
pi_59672058
Bij AANTAL hoef je alleen maar de range te geven G:G, en niet 2 erachter. '2' ziet Excel namelijk als één getal, en dus telt ie er één bij op.

=AANTAL(4,2) resulteert in 2 (er zijn immers 2 cijfers)

SUBTOTAAL en AANTAL zijn 2 totaal verschillende functies die qua functionaliteit niets met elkaar te maken hebben (alleen in het geavl van '2' als functie).

De 2 die jij als eerste argument geeft, zegt tegen SUBTOTAAL dat hij moet tellen hoeveel cellen er zijn, en dus doet SUBTOTAAL dat. In dit geval zijn SUBTOTAAL(2;data100!G:G) en AANTAL(data100!G:G) dus gelijk (allebei 52.204).

SUBTOTAAL heeft nog ongeveer 20 functies, raadpleeg hiervoor de Help voor meer uitleg
pi_59672189
Thanx voor de uitgebreide uitleg, die 2 was idd voor de subtotaal-functie . Ik gebruik de beide functies om bepaalde selecties te kunnen vergelijken met het totaal .
Op maandag 30 november 2009 19:30 schreef Ian_Nick het volgende:
Pietje's hobby is puzzelen en misschien ben jij wel het laatste stukje O+
pi_59672193
Bierkoning voor je 2e vraag, die eerste heb ik echt geen idee wat er gebeurt:

Je moet hiervoor denk ik op zoek gaan naar het groeperen van al je Controls die op die rij horen. Groups kan je namelijk een naam geven, en zo (waarschijnlijk) kopiëren en plakken.
  woensdag 25 juni 2008 @ 13:31:20 #32
14337 BierKoning
Bier 4 Ever!!
pi_59674929
Ik kom er echt niet uit

Ik kan inderdaad via grouping de 4 verschillende checkboxes selecteren en groupen. Dus wanneer ik deze 'groep' copy en paste dan krijg ik 4 nieuwe checkboxes, alleen zijn deze allemaal 'leeg'. Terwijl ik dus wil dat dezelfde VBA-macro van de checkboxRIJ1, nu checkboxRIJ2 wordt, en dat dus rij1 variabelen nu rij2 worden.

Dit opzichzelf is al niet echt makkelijk denk ik.

Los daarvan wil ik dan dus deze 4 checkboxen automatisch plaatsen op een voorgeselecteerde plek. Dit is wel mogelijk van wat ik op het web vond. Alleen moet ik dit nu dan ook nog zo voor elkaar krijgen dat dit OF gebeurd wanneer ik op een knop "NIEUW" klik, OF dat dat gebeurd wanneer ik bijvoorbeeld het eerste veld van een nieuwe rij maak.

Verder zou het dan geweldig zijn wanneer de rest van de dropdown menu's om de algemene data in te voeren ook gelijktijdig aanwezig zou zijn. Met uitzondering van de datum-invoervelden uiteraard.

Waarom ik dit zou graag wil:
1)Om mijzelf een hele hoop werk te besparen, ik verwacht ongeveer een lijst van 150 rows te hebben. Dit komt dus neer op handmatig 150x4 vba checkboxen aan te passen.
2)Om de sheet idiot-proof te maken. Zodat wanneer iemand buiten mij de sheet gebruikt, niks fout kan doen en alleen een nieuwe rij aan te maken en in te vullen.

Ook al kan iemand mij een beetje op weg helpen zou ik al blij zijn!
pi_59675019
Ik zie het niet echt gebeuren dat je zomaar macro's kan krijgen voor je gekopieerde tekst. Ik zou het eens hier proberen:
http://www.mrexcel.com/forum/forumdisplay.php?f=10
  woensdag 25 juni 2008 @ 14:07:09 #34
14337 BierKoning
Bier 4 Ever!!
  woensdag 25 juni 2008 @ 14:25:34 #35
14337 BierKoning
Bier 4 Ever!!
pi_59676393
Een nieuw idee wat ik mij net zat te bedenken:
Is het misschien makkelijker of meer do-able om een vragenlijst in sheet 2 te maken, en dat de informatie die deze vragenlijst krijgt aan antwoorden, weg te schrijven in de database van sheet 1?

Dan tackle ik alleen niet dat de checkboxes al goed staan

Kan ik ook niet een dag als een dolle aan de gang gaan en 2000 checkboxes maken en op de goeie plek zetten, en dan deze 'hiden' zodat mn database dr niet onwijs lelijk uit gaat zien met allemaal ongebruikte checkboxen?
pi_59676963
Je zou eens kunnen kijken naar zelfgeschreven Functions. Je maakt dan een code (een formule zo je wil) met eigen argumenten. Heel simpel voorbeeld:

1
2
3
4
5
6
Function Som(a, b, c as Integer)

x = a + b
Range("A" & c).Value = x

End Function


Dit kan je dan gebruiken om delen van code in te korten, zoals bv zo:
1
2
3
4
5
6
7
8
9
Private Sub Rekenen()

a = Range("B1").Value
b = Range("B2").Value
c = Range("B3").Value

Som(a, b, c)

End Sub

Als je deze Sub runt, pakt hij de waarden uit B1 en B2, telt ze bij elkaar op en zet ze in A1 (als B3 een '1' bevatte).
Hoop dat dat zo een beetje duidelijk is.

Ik heb dit zelf nog NOOIT gebruikt, maar ik denk dat je er wel iets mee kan

Succes.

Edit: zie ook bv http://archive.baarns.com/excel/faq/xd_macr1.asp#5
of
http://en.allexperts.com/(...)x-macro-hide-row.htm

Je kan vanaf andere checkboxes gewoon dezelfde subroutines aanroepen, dit moet je aanpassen in het Macro scherm of via de Properties (volgens mij). Dat scheelt al een hoop. Via de eerste link kan je dan testen wélke button de routine heeft aangeroepen, en op basis daarvan je variabelen aanpassen.
pi_59694127
quote:
Op woensdag 25 juni 2008 10:28 schreef BierKoning het volgende:
Ok ik heb een nogal vervelend probleem nu.

Ik ben weer bezig gegaan met VBA en opzich gaat het niet slecht. Op 1 puntje na..

Wanneer ik de volgende code gebruik:
[ code verwijderd ]

Telt hij netjes 152 dagen bij H2 op en 183 dagen bij I2. So far so good.

Alleen telt hij ook 183 dagen bij de computerdatum op Dit is binnen excel een probleem (ik heb de computerdatum nodig) maar het is ook gewoon algemeen onhandig als je computerdatum +10 jaar is (door het testen)

Weet iemand hoe dit komt?
Als je de variabele "datum" noemt ipv "date" zal het ws. een stuk beter gaan. "Date" is nl. een interne vba functie die de computerdatum opvraagt en schijnbaar ook terug kan schrijven.
Hetzelfde geldt ook voor "time"
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
  vrijdag 27 juni 2008 @ 10:04:26 #38
14337 BierKoning
Bier 4 Ever!!
pi_59725089
Is het mogelijk om op sheet1 binnen een cel een dropdown menu te maken, met data die uit sheet2 komt? Zodoende kan ik drie cellen naast elkaar maken met elk een dropdown menu, naast deze 3 cellen nog 2 cellen handmatig invullen, en dan deze 5 cellen kopieren naar sheet 3.

Ik heb het al geprobeert met data validitation maar die is gebonden aan de gebruikte sheet. Advanced filter kwam ik zelf niet uit, kreeg het niet aan de praat..

Ik wil dit perse op sheet 1, aangezien dit mn data invoer veld is, en sheet 2 en 3 zijn mn databases.

Iemand anders nog een idee om dit op deze manier aan de gang te krijgen?
  vrijdag 27 juni 2008 @ 10:05:25 #39
14337 BierKoning
Bier 4 Ever!!
pi_59725116
Date veranderen in datum werkte perfect trouwens!
pi_59727008
Data validation kan je wel gebruiken cross-sheet als je een Named range gebruikt voor je lijst in Sheet2.

(Range selecteren, Invoegen -> Naam -> Definiëren, óf direct in het witte vak linksboven (waar je celnummer staat) een naam intoetsen en op Enter drukken).

In Data Validation kan je dan kiezen voor Lijst -> =<jenaamhier>

Zo kan je ook dubbele dropdowns maken, die dus afhankelijk van de keuze uit dropdown 1 verandert...erg fijn. Zie hier voor een tutorial
pi_59750112
quote:
Op vrijdag 27 juni 2008 11:17 schreef DaFan het volgende:
Data validation kan je wel gebruiken cross-sheet als je een Named range gebruikt voor je lijst in Sheet2.

(Range selecteren, Invoegen -> Naam -> Definiëren, óf direct in het witte vak linksboven (waar je celnummer staat) een naam intoetsen en op Enter drukken).

In Data Validation kan je dan kiezen voor Lijst -> =<jenaamhier>

Zo kan je ook dubbele dropdowns maken, die dus afhankelijk van de keuze uit dropdown 1 verandert...erg fijn. Zie hier voor een tutorial
Dat is wel een leuk dingetjes zeg dat je afhankelijke dropdown menus kan maken.
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_59750385
Ik heb een bestand met 7 werkbladen waarin voornamelijk klantnummers verwerkt staan. Deze sheet gebruik ik voor rapportages maar ook voor follow-ups.
In werkblad 1 plaats ik de dagelijkse dingen, bijvoorbeeld:
Kl.nr.: 1234 | werkzaamheden: bestelling | Datum: 27-06-2008

Nu staan in werkblad 2 allerlei acties voor follow-ups, bijvoorbeeld:
Kl.nr.: 1234 | followup: over drie maanden bellen | Datum: 27-06-2008

Nu wil ik graag dat als ik in werkblad het klantnummer 1234 intik, dat er een melding (of een wijziging in kleur) komt, waardoor ik kan zien dat er al een follow-up bekend is, die dus zou kunnen komen te vervallen omdat deze als door de dagelijkse werkzaamheden is uitgevoerd.

Dus eigenlijk in het kort, in werkblad één voer ik een waarde in (klantnummer) die al in werkblad twee staat. Ik zal dan in werkblad één een melding moeten zien, zodat ik weet dat dezelfde waarde ook al in werkblad twee staat. Is dat mogelijk?
pi_59750493
Heb je een vaste cel waar je dat klantnummer invoert of kan dat elke cel zijn? In situatie 1 is het wel te doen, situatie 2 schier onmogelijk (automatisch = als je m intikt en op Enter ramt).

Wat wel kan, is een knop in Werkblad 1 die je gaat gebruiken om nieuwe klanten toe te voegen (met Prompts of via een Form, whatever) want dan kan je simpeler testen op het ingevoerde klantnummer.
pi_59750615
quote:
Op zaterdag 28 juni 2008 11:59 schreef Deetch het volgende:

[..]

Dat is wel een leuk dingetjes zeg dat je afhankelijke dropdown menus kan maken.
Ja ik leerde dit ook pas 2 maanden terug, scheelt een BERG gezeur met VBA
pi_59750658
quote:
Op zaterdag 28 juni 2008 12:18 schreef DaFan het volgende:
Heb je een vaste cel waar je dat klantnummer invoert of kan dat elke cel zijn? In situatie 1 is het wel te doen, situatie 2 schier onmogelijk (automatisch = als je m intikt en op Enter ramt).

Wat wel kan, is een knop in Werkblad 1 die je gaat gebruiken om nieuwe klanten toe te voegen (met Prompts of via een Form, whatever) want dan kan je simpeler testen op het ingevoerde klantnummer.
Het klantnummer staat altijd in kolom a, in alle sheets. Het is dus een lange rits met klantnummers onder elkaar.
pi_59750907
Ja daar was ik al bang voor

Kijk:
Als jij een nummer toevoegt, is er voor Excel geen manier om te kijken wáár dit is gebeurt (in welke cel). Dit kan wél als het altijd in dezelfde cel is. Je maakt dan een zogenaamde _change event, die elke keer gedaan wordt bij een wijziging in je sheet. (Kort gezegd, die cel wordt gekopieerd ergens ver weg buiten beeld en dan vergeleken met de oude waarde, is deze anders dan weet je dus dat er geknoeid is). Het is nu dus niet te doen om te bepalen óf er een nummer is toegevoegd en wáár (als je dat weet is het nummer bekend, dus kan je testen of hij al in werkblad 2 voorkomt).

Ik moet dit zelf nog even testen, misschien heb ik wel een manier om dit te omzeilen. Máár het is heir inmiddels half 9 dus ik ga even bier drinken en film kijken Misschien vanavond nog, anders morgen! Sorry
pi_59751004
quote:
Op zaterdag 28 juni 2008 12:34 schreef DaFan het volgende:
Ja daar was ik al bang voor

Kijk:
Als jij een nummer toevoegt, is er voor Excel geen manier om te kijken wáár dit is gebeurt (in welke cel). Dit kan wél als het altijd in dezelfde cel is. Je maakt dan een zogenaamde _change event, die elke keer gedaan wordt bij een wijziging in je sheet. (Kort gezegd, die cel wordt gekopieerd ergens ver weg buiten beeld en dan vergeleken met de oude waarde, is deze anders dan weet je dus dat er geknoeid is). Het is nu dus niet te doen om te bepalen óf er een nummer is toegevoegd en wáár (als je dat weet is het nummer bekend, dus kan je testen of hij al in werkblad 2 voorkomt).

Ik moet dit zelf nog even testen, misschien heb ik wel een manier om dit te omzeilen. Máár het is heir inmiddels half 9 dus ik ga even bier drinken en film kijken Misschien vanavond nog, anders morgen! Sorry
Wat niet kan, dat kan niet. Bedankt in ieder geval.
Have fun, proost.
pi_59752897
Ik zal morgen eens kijken voor je, nu nog ff geen zin in

Misschien kan ik er wel een knop bijbouwen die je moet indrukken om een nieuwe klant toe te voegen, + de gegevens, en die dan kijkt.
pi_59767327
Ok Dirkh het is gelukt :)

Ik ga uit van jouw voorbeeld zoals in je post staat. Kort samengevat:

- "Sheet1" is de eerste sheet en bevat de koppen Klantnummer, Werkzaamheden, Datum, waarbij Klantnummer in A1 staat.
- "Sheet2" is de tweede sheet en bevat de koppen Klantnummer, Followup, Datum, Klantnummer wederom in A1.

Ik heb de boel als volgt opgebouwd:
- F1 en G1 zijn hulpcellen. Je kan deze verplaatsen naar twee van de 16 miljoen cellen die je niet gebruikt, pas dan de code aan waar je F1 en G1 tegenkomt
- De formule in F1 is:
1INDEX(A:A,MATCH(9000000000+307,A:A))
of in het Nederlands
1INDEX(A:A;VERGELIJKEN(9000000000+307;A:A))


Jij dient nu nog het volgende te doen:
Ga naar de Visual Basic editor (Alt-F11) vanuit Sheet1, klik in de linkerdropdown in het rechterscherm Worksheet, en in de rechter Change.

Je krijgt dan dit te zien:
1
2
3
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub


Plak hier de volgende code tussen, zodat het er zo uit ziet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Worksheet_Change(ByVal Target As Range)

LastRowB = Sheets("Sheet2").Range("A65536").End(xlUp).Row

With Sheets("Sheet1")
    If .Range("F1").Value <> .Range("G1").Value Then
        NwKlantnummer = .Range("F1").Value
            
        For i = 1 To LastRowB
            If Sheets("Sheet2").Range("A" & i).Value = NwKlantnummer Then
            
                Followup = Sheets("Sheet2").Range("B" & i).Value
                Datum = Sheets("Sheet2").Range("C" & i).Value
                
                MsgBox "Klantnummer al bekend in Sheet2!" & (Chr(13)) & (Chr(13)) & "Datum:  " & Datum _
                & (Chr(13)) & "Actie:  " & Followup, vbOKOnly, "Melding"
            End If
        Next i
    
    .Range("G1").Value = .Range("F1").Value
    End If
End With

End Sub


Als ik nu bijvoorbeeld 1234 intyp in Sheet1, krijg je de volgende melding:


Hoop dat je hier wat aan hebt!
pi_59767689
quote:
Op zondag 29 juni 2008 07:01 schreef DaFan het volgende:
Ok Dirkh het is gelukt

Hoop dat je hier wat aan hebt!
Hier heb ik helemaal wel wat aan. Het werkt precies zoals ik dat wil hebben.
Hardtstikke bedankt!
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')