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!
pi_59772251
Als je nog wat aanpassingen moet hebben kan je nog wel even terugkomen, maar eerst zelf proberen En het was eigenlijk simpeler dan ik dacht

Geen probleem natuurlijk, succes ermee.
  dinsdag 1 juli 2008 @ 11:18:06 #52
62215 qu63
..de tijd drinkt..
pi_59814571
Ok, niet helemaal een code-probleem, maar een opmaak probleem

In een cel staat een tijd. Het totaal aantal uur wat ik gewerkt heb. Dit is dus meestal meer dan 24 als het gaat om een maand. Dat kan je opvangen door [u] te doen ipv u.

Alleen wil ik een aangepaste opmaak, die zoiets weergeeft:
1xx uur en xx minuten

dingen als
1
2
3
4
""[u]" uur en "m" minuten
""&[u]&" uur en "&m&" minuten
[u]" uur en "m" minuten
&[u]&" uur en "&m&" minuten

werken niet.

iemand anders een idee?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  dinsdag 1 juli 2008 @ 14:08:51 #53
14337 BierKoning
Bier 4 Ever!!
pi_59818425
Volgens mij wil ik echt rare dingen Ik ben al een tijd opzoek, en vind wel kleine dingen, maar ik wil het volgende:

Stel ik heb een range van 4 cellen B1 C1 D1 E1. Wanneer ik in deze range B1 invul met data, wil ik dat de datum in A1 wordt opgeteld met 100 dagen. Verder kan C1 alleen worden ingevuld wanneer B1 ook is ingevuld. Is dit het geval, dan moet er 200 dagen bij A1 worden opgeteld. Dus excel moet kijken dat "als(twee cellen ingevuld) dan (tel 200 dagen bij A1). Zo verder bij D1 en E1, bij D1 moeten er al 2 zijn ingevuld en bij E1 3, met respectievelijk 300 en 400 dagen.

Verder, en dit is het moeilijke, moet Excel dus gaan snappen dat wanneer er in rij 1 een cel wordt veranderd, dat hij dan ook de "A" van rij 1 verandert. Wanneer het verhaal van boven opgaat voor B2, C2, D2 en E2 dan moet Excel dus snappen dat dan A2 moet worden veranderd.

Dit scheelt mij dan al gauw 800 checkboxen
pi_59818761
Kan wel, morgen op werk ok? Kan je wel nog even het volgende toelichten:
- Wat kolom A gaan doen op die rij als of B-C-D verandert?
- Kan je geen hulpkolom maken waar de aangepaste datum inkomt? DAt scheelt HEEL veel werk.
- Wat komt er in B1-E1 ?
  dinsdag 1 juli 2008 @ 14:28:48 #55
14337 BierKoning
Bier 4 Ever!!
pi_59818943
quote:
Op dinsdag 1 juli 2008 14:21 schreef DaFan het volgende:
Kan wel, morgen op werk ok? Kan je wel nog even het volgende toelichten:
- Wat kolom A gaan doen op die rij als of B-C-D verandert?
- Kan je geen hulpkolom maken waar de aangepaste datum inkomt? DAt scheelt HEEL veel werk.
- Wat komt er in B1-E1 ?
Je bent echt een held
1) Kolom A (1 tm tot nu toe 180) zijn datums die ik dus met respectievelijk 100, 200, 300, 400 dagen wil verhogen.
2) Een hulpkolom is zeer zeker wel mogelijk (die hide ik dan gewoon)
3) Er komt in die kolommen een certificaatnummer en een datum.
pi_59819030
Ik woon niet Nederland, mar Sydney dus ga zo slapen. Over 24 uur heb je je antwoord wel het is niet zo lastig (kan gewoon met formules).
pi_59826552
quote:
Op zondag 29 juni 2008 14:51 schreef DaFan het volgende:
Als je nog wat aanpassingen moet hebben kan je nog wel even terugkomen, maar eerst zelf proberen En het was eigenlijk simpeler dan ik dacht

Geen probleem natuurlijk, succes ermee.
Gister op het werk een en ander aangepast en het werkt geweldig. Op deze manier voorkom ik dat er twee afspraken of acties elkaar gaan kruisen. Dus nogmaals bedankt.
  dinsdag 1 juli 2008 @ 21:07:28 #58
62215 qu63
..de tijd drinkt..
pi_59827405
quote:
Op dinsdag 1 juli 2008 14:32 schreef DaFan het volgende:
Ik woon niet Nederland, mar Sydney dus ga zo slapen. Over 24 uur heb je je antwoord wel het is niet zo lastig (kan gewoon met formules).
Ik vond het al knap van je dat je om half 6 's morgens begint aan DirkH's probleem
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59832506
Eerst qu63:

Als je uren in A1:A3 staan:
1=(INT(SUM(A1:A3))*24)+HOUR(SUM(A1:A3))&" uur en "&MINUTE(SUM(A1:A3))&" minuten"

Range aanpassen naar je eigen range


Edit:
Nederlands:
1=(INTEGER(SOM(A1:A3))*24)+UUR(SOM(A1:A3))&" uur en "&MINUUT(SOM(A1:A3))&" minuten"


[ Bericht 18% gewijzigd door DaFan op 02-07-2008 01:25:06 ]
pi_59832575
BierKoning:

A1 is je datum, B1 tot E1 zijn je cellen zoals beschreven, H1 is je hulpkolom en kan verplaatst/hide worden:

Formule voor A1:
1=G2+IF(E2<>"",400,IF(D2<>"",300,IF(C2<>"",200,IF(B2<>"",100,0))))


Nederlands:
1=G2+ALS(E2<>"";400;ALS(D2<>"";300;ALS(C2<>"";200;ALS(B2<>"";100;0))))


Data validation C1:
Custom -> Formule:
1=B1 <> ""


Idem voor D1 en E1 maar dan natuurlijk met C1 en D1.
pi_59832741
DirkH:
Je kan je macro eventueel nog aanpassen als volgt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Const iStatusColumn As Integer = 1

If Target.Column <> iStatusColumn Then Exit Sub

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

NwKlantnummer = Cells(Target.Row, iStatusColumn).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

End Sub

Dan heb je ook geen hulpcellen meer nodig én je kan het nieuwe klantnummer overal in kolom A toevoegen, hij kijkt dus niet alleen naar de laatste cel (je kan met de huidige code nog iets verwijderen tussendoor en toevoegen, zonder dat er een foutmelding komt.

Disclaimer: Ik heb je oude code en sheet hier niet bij de hand, dus zou kunnen dat er een foutje in zit! (Of helemaal niet, hou het dan maar bij de oude Maak wel eerst een backup of kopie van je bestand voordat je dit probeert). We willen het niet ingewikkelder maken dan het al is
  woensdag 2 juli 2008 @ 09:07:23 #62
14337 BierKoning
Bier 4 Ever!!
pi_59834369
quote:
Op woensdag 2 juli 2008 01:21 schreef DaFan het volgende:
BierKoning:

A1 is je datum, B1 tot E1 zijn je cellen zoals beschreven, H1 is je hulpkolom en kan verplaatst/hide worden:

Formule voor A1:
[ code verwijderd ]

Nederlands:
[ code verwijderd ]

Data validation C1:
Custom -> Formule:
[ code verwijderd ]

Idem voor D1 en E1 maar dan natuurlijk met C1 en D1.
Ok het werkt! Je code heb ik in zoverre aangepast dat ik " ; " ipv " , " heb, anders pakte Excel hem niet. Verder B2 C2 enz verandert in B1 C1 enzo

Nu werkt het zo prima, als ik ook maar iets invul in de cellen wordt A1 verhoogd. De hulpcel is trouwens ook ideaal omdat ik dan altijd de orginele startdatum behoud!

Nou is het enige wat ik eigenlijk nog mis, en waar ik nu het grote web naar aan het doorspitten ben, hoe ik zorg dat wanneer B1 niet ingevuld is, en C1 wel, dat er dan nog niks gebeurd met de waarde in A1.
pi_59835451
Ik had een Nederlandse versie eronder gezet En ben ervanuit gegaan dat je headers hebt dus dat je begint op A2, maarja dat boeit niet zo.

Je kan testen of de waarde in de cellen een datum is met ISDATUM(). Probleem hier is dat je tegen het maximum van 7 IF-statements gaat aanlopen dus dat wordt lastig.

Als het goed is kan je C1 niet invullen als B1 niet ingevuld is toch?
  woensdag 2 juli 2008 @ 10:25:54 #64
14337 BierKoning
Bier 4 Ever!!
pi_59835949
Hm nou ik ga er ook vanuit dat ik een engelse versie heb hoor, alleen een combi misschien haha. Bij mij werkt dit iig prima:
1=G2+IF(E2<>"";400; IF(D2<>"";300; IF(C2<>"";200; IF(B2<>"";100))))


Verder kan ik C2 (heb inderdaad nu headers, in mn eerste test nog niet) gewoon invullen zonder B2 ingevuld te hebben.
Hierbij is dan dus C1 --> Data Validation --> formula: =B2 <> ""
"" "" "" D1 --> Data Validation --> formula: =C2 <> ""
"" "" "" E1 --> Data Validation --> formula: =D2 <> ""
  woensdag 2 juli 2008 @ 10:35:26 #65
14337 BierKoning
Bier 4 Ever!!
pi_59836165
Het is wel backwards compatible Als ik eerst E2 invul, dan telt ie braaf 400 op, als ik daarna B2/C2/D2 invul doet hij niks meer.
Het is alleen van belang dat de volgorde van B2 naar E2 doorloop. Ligt ook aan de gebruiker, maar een kleine backup is wel handig.
  woensdag 2 juli 2008 @ 11:09:50 #66
62215 qu63
..de tijd drinkt..
pi_59836941
quote:
Op woensdag 2 juli 2008 01:14 schreef DaFan het volgende:
Eerst qu63:

Als je uren in A1:A3 staan:
[ code verwijderd ]

Range aanpassen naar je eigen range


Edit:
Nederlands:
[ code verwijderd ]
zo kan het natuurlijk ook

Waarom nou die int(eger) eigenlijk?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59837130
quote:
Op woensdag 2 juli 2008 10:25 schreef BierKoning het volgende:
Verder kan ik C2 (heb inderdaad nu headers, in mn eerste test nog niet) gewoon invullen zonder B2 ingevuld te hebben.
Hierbij is dan dus C1 --> Data Validation --> formula: =B2 <> ""
"" "" "" D1 --> Data Validation --> formula: =C2 <> ""
"" "" "" E1 --> Data Validation --> formula: =D2 <> ""
- Waarom de aparte rijen, nu haal je 1 en 2 door elkaar
- Bij mij werkt het prima, C2 kan niet ingevuld worden als ik als formule heb =B2<>""
quote:
Op woensdag 2 juli 2008 10:35 schreef BierKoning het volgende:
Het is wel backwards compatible Als ik eerst E2 invul, dan telt ie braaf 400 op, als ik daarna B2/C2/D2 invul doet hij niks meer.
Het is alleen van belang dat de volgorde van B2 naar E2 doorloop. Ligt ook aan de gebruiker, maar een kleine backup is wel handig.
Dat lijkt mij ook de bedoeling?
Anders moet je de IF volgorde omdraaien, dus eerst B2 testen, dan naar E2.
pi_59837197
quote:
Op woensdag 2 juli 2008 11:09 schreef qu63 het volgende:

[..]

zo kan het natuurlijk ook

Waarom nou die int(eger) eigenlijk?
INT rondt af naar het laagste hele getal (2.9 wordt 2). Hiermee weet je hoeveel dagen je hebt (en je dus maal 24 moet doen). Uren worden namelijk in delen van een dag weergegeven (zet je format maar eens op General ipv [h]:mm, dan kan je het zelf zien
  woensdag 2 juli 2008 @ 12:37:23 #69
62215 qu63
..de tijd drinkt..
pi_59839156
quote:
Op woensdag 2 juli 2008 01:14 schreef DaFan het volgende:
Eerst qu63:

Als je uren in A1:A3 staan:
[ code verwijderd ]

Range aanpassen naar je eigen range


Edit:
Nederlands:
[ code verwijderd ]
Als ik het invul krijg ik alleen de code te zien, niet het antwoord.
Als ik em opsplits in
=(INTEGER(SOM(F2:F34))*24)
&
=UUR(SOM(F2:F34))

Krijg ik bij de eerste 0, en bij de 2e 5 als antwoord. Tel ik ze bij elkaar op
=(INTEGER(SOM(F2:F34))*24)+UUR(SOM(F2:F34))
Dan wordt het 0

Als antwoord moet er komen 5 uur en 30 minuten
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_59840285
Je krijgt niet als antwoord 0, je krijgt 0:00. Format hem maar eens als General, dan krijg je als antwoord 5, zoals het hoort.
  donderdag 3 juli 2008 @ 11:22:18 #71
100297 teamlead
Nu met Napoleon complex
pi_59861134
ja hoi

Ik heb een excel-sheet met daarin 2 kolommen met datums. Echter: deze datums hebben niet allemaal dezelfde opmaak.
Er zijn cellen met dd-mm-yyyy en er zijn cellen met mm-dd-yyyy. Voor de verwerking is het van belang dat ze wel allemaal dezelfde opmaak hebben.
De celeigenschappen staan op dd-mm-yyyy, maar toch blijven er cellen "verkeerd" staan.

Hoe kan ik dit nu aanpassen, zonder handmatig al die cellen te gaan aanpassen?

(excel 2003, Engelstalig)
If you wish to be a success in the world, promise everything, deliver nothing.
Nothing is more difficult, and therefore more precious, than to be able to decide.
Victory belongs to the most persevering
pi_59861300
Ik werk met grote databestanden en gebruik veel filters, hoe kopieer je alleen de gefilterde data . Soms lukt 't wel en soms niet (als 't niet lukt kopieert ie dus alle data, wat niet de bedoeling is ). In de cel linksboven onder 't filter gaan staan en dan ctrl+shift naar beneden en naar rechts werkt niet , alle rijen selecteren ook niet . Excel 2007.
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+
  donderdag 3 juli 2008 @ 12:09:22 #73
152215 ManAtWork
Maar nu even niet,...
pi_59862598
Ik heb te maken met kentekens van auto's. Is er een mogelijkheid om de ingevoerde waarde (bijv. 12rfdg) automatisch om te zetten in één met streepjes en hoofdletters (dus 12-RF-DG).
Daarnaast is het nieuwe kenteken enige tijd geleden geïntroduceerd (bijv. 43gbh3) welke omgezet moeten worden naar, in dit voorbeeld, 43-GBH-3.

De opmaak moet dus aan een voorwaarde voldoen (letters en cijfers gescheiden) en omgezet worden in hoofdletters met streepjes ertussen.

Degene die een oplossing weet, ben ik erg dankbaar.
Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
Niet storen, ik ben al gestoord genoeg,...
Vrouwen zijn om van te houden, niet om te begrijpen.
pi_59862999
Voor de andere 2 hierboven, ik heb even geen idee, morgen

ManAtWork:
1=UPPER(LEFT(A1,2)&"-"&MID(A1,3,2)&"-"&RIGHT(A1,2))

Als je Nederlandse versie hebt, kan je hier kijken voor de vertaling:
http://dolf.trieschnigg.nl/excel/excel.html

1=HOOFDLETTERS(LINKS(A1;2)&"-"&DEEL(A1;3;2)&"-"&RECHTS(A1;2))


Op welke manier kan je onderscheiden of een kenteken nieuw is of oud?
  donderdag 3 juli 2008 @ 12:30:37 #75
152215 ManAtWork
Maar nu even niet,...
pi_59863138
quote:
Op donderdag 3 juli 2008 12:24 schreef DaFan het volgende:
Voor de andere 2 hierboven, ik heb even geen idee, morgen

ManAtWork:
[ code verwijderd ]

Op welke manier kan je onderscheiden of een kenteken nieuw is of oud?
Bedankt. Dit betekent echter dat er een hulpcel (A1 in dit voorbeeld) gebruikt moet worden, of zie ik dat verkeerd?
De bedoeling is dat na het invullen van een kenteken in cel (bijv. B3) deze automatisch opgemaakt wordt met de juiste indeling. Ik weet het, het is veel gevraagd.

In principe heb ik twee 'soorten' kentekenreeksen.
  • 11-BB-CC of BB-11-CC, dus iedere keer een combi van twee posities.
  • 11-BBB-2, dus 2 posities (cijfers), 3 posities (letters) en 1 positie (cijfer).
  • Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
    pi_59863312
    Ja A1 is de cel waar je de informatie uithaalt, tis vrij lastig om een hele kolom elke keer aan te passen (het is te doen, kan wel voor je maken maar ben nu druk). Welke kolom komt de informatie in?

    Waar komt de informatie vandaan dat je geen hulpkolom kan gebruiken? Je kan natuurlijk kolom IV (bv) gebruiken om je originele informatie in te plakken en dan de kolom waar je het 'goede' kenteken in wilt deze formule in zet.

    Bij mn andere vraag bedoelde ik meer anders, hoe kan iemand het verschil herkennen tussen 11bbcc en 11bbb2? Is het ALTIJD 2 cijfers, 3 letters, 1 cijfer? De uiteindelijke opmaak is een fluitje van een cent, maar het gaat om de originele string hoe je daarbij kan onderscheiden of hij oud of nieuw is.
      donderdag 3 juli 2008 @ 13:32:39 #77
    152215 ManAtWork
    Maar nu even niet,...
    pi_59864578
    Het is een invulblad waarbij cel D18 gevuld moet worden met een kenteken.
    En om nu twee cellen te gaan gebruiken voor het kenteken,... gaat bij de gebruikers denk ik leiden tot verwarring.

    Ik snap je vraag over het kenteken niet helemaal. Het kenteken van een auto bestaat uit de combi 2-2-2 of 2-3-1. Waarbij de combi 2-2-2 kan bestaan uit AA-BB-11, 11-AA-BB of AA-11-BB.
    De combi 2-3-1 bestaat (voorlopig) alleen nog uit 11-AAA-2. Het kenteken is simpelweg af te lezen van de gele platen op de auto (of het kentekenbewijs).

    Ondertussen heb ik deze macro gevonden/aangepast.
    1
    2
    3
    4
    5
    6
    Sub Notatie_Veranderen()
    Dim C As Range
    For Each C In Selection
    C.Offset(0, 0) = Format(UCase(C), "&&-&&-&&")
    Next
    End Sub

    Nu moet er na het invullen van de cel (na het geven van een ENTER dus) een automatische controle komen op de geldigheid van het kenteken. En als het mogelijk is moet het verschil tussen de combi 2-2-2 en 2-3-1 automatisch worden aangebracht.

    [ Bericht 41% gewijzigd door ManAtWork op 03-07-2008 13:57:20 (toevoeging macro) ]
    Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
    pi_59866655
    Zo dan maar. Druk Alt-F11, kies in de linkerdropdown bovenaan Worksheet, dan rechts Change en plak dit in de sub:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    If Range("D18").Value <> Range("AL1").Value Then
        Kenteken = Range("D18").Value
        
        If Len(Kenteken) <> 6 Then
            MsgBox "Geen geldig kenteken ingegeven", vbOKOnly, "Fout!"
            Range("D18").Value = ""
            Exit Sub
        End If
        
        If IsNumeric(Right(Kenteken, 1)) = True And IsNumeric(Right(Kenteken, 2)) = False Then
            Kenteken = Format(UCase(Kenteken), "&&-&&&-&")
            Range("D18").Value = Kenteken
        Else
            Kenteken = Format(UCase(Kenteken), "&&-&&-&&")
            Range("D18").Value = Kenteken
        End If
        
        Range("AL1").Value = Range("D18").Value
    End If

    De enige 'test' die ik heb op 'geldigheid' is een lengte van 6 karakters trouwens. Als jij nog andere hebt hoor ik het wel

    AL1 is een hulpcel trouwens, uit het zicht. Als je er toch last van hebt kies dan een van de andere 16 miljoen+ cellen en pas dit aan in de code.
      donderdag 3 juli 2008 @ 16:07:44 #79
    152215 ManAtWork
    Maar nu even niet,...
    pi_59868786
    Check! Dit werkt.
    Is het ook nog mogelijk dat de macro automatisch wordt uitgevoerd nadat er op ENTER is gedrukt bij het invullen van D18? Of vraag ik nu teveel?
    Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
    pi_59870166


    Hoe krijg ik de grafiek zover dat de parameters met geen informatie (quarter 2,3,4) zich niet laten zien (dus dat de grafieklijn stopt na Quarter 1). De 3 quarters moeten wel bij de brongegevens blijven!
    pi_59877945
    quote:
    Op donderdag 3 juli 2008 16:07 schreef ManAtWork het volgende:
    Check! Dit werkt.
    Is het ook nog mogelijk dat de macro automatisch wordt uitgevoerd nadat er op ENTER is gedrukt bij het invullen van D18? Of vraag ik nu teveel?
    Dat zou al moeten gebeuren als ie in je Worksheet_change event staat.

    Edit: Ik heb me iets te snel er vanaf gemaakt Probleem nu is dat hij wéér het event gaat uitvoeren als Range("D18") gevuld wordt (niet zo verwonderlijk). Ik kom er nu niet uit hoe ik het kan omzeilen sorry. Kan je er niet gewoon een ActiveX knop naast maken die ingedrukt moet worden als het kenteken omgezet moet worden?

    Je code wordt dan ook een stuk korter:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub CommandButton1_Click()

        Kenteken = Range("D18").Value
            
        If IsNumeric(Right(Kenteken, 1)) = True And IsNumeric(Right(Kenteken, 2)) = False Then
            Kenteken = Format(UCase(Kenteken), "&&-&&&-&")
            Range("D18").Value = Kenteken
        Else
            Kenteken = Format(UCase(Kenteken), "&&-&&-&&")
            Range("D18").Value = Kenteken
        End If
        
        Range("AL1").Value = Range("D18").Value
        
    End Sub


    Er wordt niet getest op geldigheid. Als je bijvoorbeeld '5' invult wordt dat '--5' , een 'p' wordt '--p'.

    [ Bericht 66% gewijzigd door DaFan op 04-07-2008 00:52:18 ]
      vrijdag 4 juli 2008 @ 08:19:33 #82
    85514 ralfie
    !Yvan eht nioj
    pi_59881487
    quote:
    Op donderdag 3 juli 2008 23:24 schreef DaFan het volgende:

    [..]

    Dat zou al moeten gebeuren als ie in je Worksheet_change event staat.

    Edit: Ik heb me iets te snel er vanaf gemaakt Probleem nu is dat hij wéér het event gaat uitvoeren als Range("D18") gevuld wordt (niet zo verwonderlijk).
    application.enableEvents op false zetten aan het begin van je subje, dan weer op true aan het eind
    pi_59881552
    quote:
    Op donderdag 3 juli 2008 17:06 schreef Xith het volgende:
    [ afbeelding ]

    Hoe krijg ik de grafiek zover dat de parameters met geen informatie (quarter 2,3,4) zich niet laten zien (dus dat de grafieklijn stopt na Quarter 1). De 3 quarters moeten wel bij de brongegevens blijven!
    Een derde kolom maken met de volgende functie: =IF(B2>0,B2,#N/A) Hierbij uitgaande dat in B2 de absenten staan.

    Vervolgens de derde kolom gebruiken om de grafiek te 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
      vrijdag 4 juli 2008 @ 09:18:12 #84
    152215 ManAtWork
    Maar nu even niet,...
    pi_59882043
    quote:
    Op vrijdag 4 juli 2008 08:19 schreef ralfie het volgende:

    [..]

    application.enableEvents op false zetten aan het begin van je subje, dan weer op true aan het eind
    Dit werkt super. Behalve als er een fout kenteken (lees: geen 6 posities) is ingevuld. Na het invullen van een correct nummer wordt dit niet meer omgezet.
    Dit is wat ik er nu heb staan.
    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
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Application.EnableEvents = False

    If Range("D18").Value <> Range("AL1").Value Then
        kenteken = Range("D18").Value
        
        If Len(kenteken) <> 6 Then
            MsgBox "Geen geldig kenteken ingegeven", vbOKOnly, "Fout!"
            Range("D18").Value = ""
            Exit Sub
        End If
        
        If IsNumeric(Right(kenteken, 1)) = True And IsNumeric(Right(kenteken, 2)) = False Then
            kenteken = Format(UCase(kenteken), "&&-&&&-&")
            Range("D18").Value = kenteken
        Else
            kenteken = Format(UCase(kenteken), "&&-&&-&&")
            Range("D18").Value = kenteken
        End If
        
        Range("AL1").Value = Range("D18").Value
    End If

    Application.EnableEvents = True

    End Sub



    (Wordt toch eens tijd om me hier verder in te verdiepen,... )
    Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
    pi_59883727
    quote:
    Op vrijdag 4 juli 2008 08:29 schreef Deetch het volgende:

    [..]

    Een derde kolom maken met de volgende functie: =IF(B2>0,B2,#N/A) Hierbij uitgaande dat in B2 de absenten staan.

    Vervolgens de derde kolom gebruiken om de grafiek te maken.
    Maar de punten die ik wil 'verbergen' uit de grafiek zijn !VERW (verwijzing fout), ook met zo'n folmule:

    =ALS(B27="#VERW!";"#N/A";B27)

    Wilt het niet want zijn leest B27 niet als '#VERW!' maar als een formule, geloof ik...

    Wat kan ik doen?
      vrijdag 4 juli 2008 @ 17:35:19 #86
    85514 ralfie
    !Yvan eht nioj
    pi_59893832
    quote:
    Op vrijdag 4 juli 2008 09:18 schreef ManAtWork het volgende:

    [..]

    Dit werkt super. Behalve als er een fout kenteken (lees: geen 6 posities) is ingevuld. Na het invullen van een correct nummer wordt dit niet meer omgezet.
    Dit is wat ik er nu heb staan.
    [ code verwijderd ]

    (Wordt toch eens tijd om me hier verder in te verdiepen,... )
    ja dat is logisch, wanneer er een fout is doe je exit sub waardoor de enableEvents=true niet meer wordt uitgevoerd. Dus datzo even daarvoor zetten he
      vrijdag 4 juli 2008 @ 18:37:13 #87
    152215 ManAtWork
    Maar nu even niet,...
    pi_59894733
    quote:
    Op vrijdag 4 juli 2008 17:35 schreef ralfie het volgende:

    [..]

    ja dat is logisch, wanneer er een fout is doe je exit sub waardoor de enableEvents=true niet meer wordt uitgevoerd. Dus datzo even daarvoor zetten he
    edit: Laat maar. Heb het al voor elkaar. (Even rustig nadenken levert ook resultaat. )

    Voor iedereen die mee heeft willen denken: mijn dank!

    [ Bericht 13% gewijzigd door ManAtWork op 05-07-2008 19:34:05 (Eigen vraag opgelost) ]
    Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
      maandag 7 juli 2008 @ 10:48:25 #88
    14337 BierKoning
    Bier 4 Ever!!
    pi_59943145
    Hoe kan ik data in 1 cell splitsen naar meerdere cellen?

    Ik heb bijvoorbeeld de volgende data:
    1EN 287-1 141 T BW 6 S t3.6 D38 PC ss nb   1


    Waarvan ik de data binnen de " " (zie hieronder) wil splitsen naar verschillende cellen.
    1"EN 287-1" "141" "T BW" "6" "S" "t3.6" "D38" "PC" "ss nb"   "1"


    Niet elke code is gelijk aan elkaar, dus het kan ook zijn dat de "141" van hierboven, ook soms ".../141" heet. Dus ik kan niet splitsen op basis van aantallen tekens, alleen op het feit dat alle " " in een andere cel wordt geplaatst.
    pi_59943203
    Kan je met "alles vervangen" de "/" niet weghalen en dan alsnog op posities scheiden?
    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_59943478
    quote:
    Op maandag 7 juli 2008 10:48 schreef BierKoning het volgende:
    Hoe kan ik data in 1 cell splitsen naar meerdere cellen?

    Ik heb bijvoorbeeld de volgende data:
    [ code verwijderd ]

    Waarvan ik de data binnen de " " (zie hieronder) wil splitsen naar verschillende cellen.
    [ code verwijderd ]

    Niet elke code is gelijk aan elkaar, dus het kan ook zijn dat de "141" van hierboven, ook soms ".../141" heet. Dus ik kan niet splitsen op basis van aantallen tekens, alleen op het feit dat alle " " in een andere cel wordt geplaatst.
    Je kunt op basis van een bepaalde inhoud van een cel elders een uitkomst genereren. Op basis van die inhoud kun je weer verder. Dus als er een "/" in voorkomt geef je een 0, anders een 1. Dan pas, op basis van die 0 of 1, die tussenstap, doorgaan.
    pi_59943602
    BierKoning is die lengte van de string altijd hetzelfde, afgezien van die 141 of /141?
      maandag 7 juli 2008 @ 11:19:28 #92
    14337 BierKoning
    Bier 4 Ever!!
    pi_59943775
    quote:
    Op maandag 7 juli 2008 10:51 schreef PietjePuk007 het volgende:
    Kan je met "alles vervangen" de "/" niet weghalen en dan alsnog op posities scheiden?
    Nee want bijvoorbeeld "T BW" of "ss nb" horen bij elkaar. Verder kan PC ook "H-L045" worden.
      maandag 7 juli 2008 @ 11:23:16 #93
    14337 BierKoning
    Bier 4 Ever!!
    pi_59943864
    quote:
    Op maandag 7 juli 2008 11:11 schreef DaFan het volgende:
    BierKoning is die lengte van de string altijd hetzelfde, afgezien van die 141 of /141?
    Nee,

    Even een kort stukje van mn uit elkaar te pluizen stukje:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    EN 287-1 135 P BW 1.2 S t10 PG ss nb   1
    EN 287-1 141/111 T BW 5 S / B t16(3/13) D168 H–L045 ss nb   1
    EN 287-1 141 T BW 5 S t6 D51 H–L045 ss nb   1
    EN 287-1 141 T BW 5 S t7 D168 H–L045 ss nb   1
    EN 287-1 141 T BW 5 S t5.8 D50 H–L045 ss nb   1
    EN 287-1 141 T BW 5 S t6.4 D158 H–L045 ss nb   1
    EN 287-1 141 T BW 5 S t4 D38 H–L045 ss nb   2
    EN 287-1 135 P BW 1.2 S t8 PF ss nb   2
    EN 287-1 135/136 T BW 1.1 S / S t12(12/12) D168 PC ss nb   2
    EN 287-1 .../135 T BW 1.1 ... / S t16(.../) D168 PC ss nb   2
    pi_59943903
    Kan je 't niet gewoon scheiden op spatie . Daarna moet je misschien nog bij een paar kolommen wat extra werk verrichten maar de bulk is dan al prima toch ?
    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+
      maandag 7 juli 2008 @ 11:28:35 #95
    14337 BierKoning
    Bier 4 Ever!!
    pi_59943973
    Dat zou in elk geval wel al iets zijn. Daar kan ik iig wel even naar opzoek.. alle beetjes helpen.. Wellicht gaat dat nog wel sneller dan overal handmatig " " bij zetten

    Het gaat nml om een 186 rijen...
    pi_59944292
    Mja dit is niet te doen, ook niet met een macro omdat je niets vasts hebt om op te scheiden. Gewoon Tekst naar kolommen doen en dan een beetje kloten met de scheidslijnen.
      maandag 7 juli 2008 @ 11:47:49 #97
    14337 BierKoning
    Bier 4 Ever!!
    pi_59944355
    Ja ben ik nu ook al mee bezig Een maar zo ruw mogelijke scheiding maken, bij een deel is het wel mogelijk.

    Iig bedankt
    pi_59944753
    Een vraagje door een door mij niet op te lossen Excel-probleem... Ik heb de opdracht gekregen om aan een order-werkblad een magazijnwerkblad koppelen, hiermee kan de magazijnmedewerker de verschillende artikelen in het magazijn per stuk af te strepen die hij/zij al gepakt heeft.

    Het order-werkblad heeft de eerste 3 kolommen:
    - 1. Itemnr. (bv. S084)
    - 2. stuknr. (bv. 2)
    - 3. aantal. (bv. 12)
    Het magazijnblad heeft als eerste kolom de samenvoegde 3 kolommen van het order-werkblad (in het voorbeeld wordt de invulling van de cel: S084.2.12).
    Daarna is het de bedoeling om alle aantalen tot 1 te vervormen, ofwel je krijgt (in het voorbeeld) 12 regels van het aantal 1. Het lukt mij niet om dit te verwerken in Excel, heeft iemand hier een oplossing voor? Of is dit überhaupt te verwezenlijken in Excel?
    pi_59944815
    Wanneer wil je dit laten gebeuren? Als in het orderwerkblad een nieuw item wordt toegevoegd?

    En je wil gewoon, als er Aantal: 2 staat, dat je andere werkblad heeft:

    1
    1

    En verder niets?
    pi_59944862
    Ja precies, als er in het orderwerkblad een nieuwe item wordt toegevoegd met het aantal 12, zal er in het magazijnwerkblad 12 regels met het aantal 1 komen te staan...
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')