1 2 3 4 5 6 7 8 9 10 11 12 13 | ' ' CheckBox1_Click Macro ' Macro recorded 11/03/2008 by Administrator ' ' If Sheet2.[naam checkbox].Value = True Then Sheet1.Range(["J9"]).Interior.Color = Green Else Sheet1.Range(["J9"]).Intertior.Color = Red End If End Sub |
Thanks, ik heb de typo gefixed en de brackets weggehaald, maar er gebeurd nog steeds niks helaas ..quote:Op dinsdag 18 maart 2008 11:02 schreef Thrilled het volgende:
typo: Intertior
en ik weet niet of het uitmaakt, maar de range kan je ook gewoon typeren als: Range("B3") dus zonder de brackets [ ]
even fixen en nog een keer kijken
Even voor mij weer een nieuwe schreeuw om hulp
Hoe kan ik in een mailmacro een controle toevoegen of 1 cel is ingevuld (de naam van de melder). Als die cel leeg is mag er niet gemaild worden..
Ook wil ik weten of het uberhaupt mogelijk is om een excel sheet te mailen als pdfbijlage zonder externe programma's of plug/addins. Dus gewoon kaal vanuit excel als pdf in een mail zetten..
1 2 3 4 5 6 7 8 | If Blad1.Range("J9").Value = True Then Blad1.Range("K9").Interior.ColorIndex = 4 Else Blad1.Range("K9").Interior.ColorIndex = 3 End If End Sub |
Doet hier helaas niks ..quote:Op dinsdag 18 maart 2008 11:36 schreef Thrilled het volgende:
Ik heb je oplossing! tenminste, hij werkt bij mij:
[ code verwijderd ]
Bij mij is mijn excel nederlands dus let even op:
Blad1 = Sheet1 (of welke sheet dan ook, hou de namen wel identiek)
Als je 3x blad1 vervangt door sheet1 werkt deze code feilloos de cellen kan je aanpassen natuurlijk. J9 is de cel waar de checkbox naar verwijst, als je deze aanpast moet je ook in de eigenschappen van de checkbox de cel aanpassen
K9 is volledig willekeurig, elke cel kan je selecteren
als de kleuren niet naar je zin zijn moet je de colorindex aanpassen (de 3 en de 4 staan nu voor groen en rood)
http://www.mvps.org/dmcritchie/excel/colors.htm
ff naar onder scrollen en daar staat een kleurenoverzicht
De cel waar TRUE en FALSE (WAAR/ONWAAR) in komt te staan kan je verbergen, dus heb je daar ook geen last van.
1 2 3 4 5 6 7 8 | If Sheet1.Range("J9").Value = True Then Sheet1.Range("K9").Interior.ColorIndex = 4 Else Sheet1.Range("K9").Interior.ColorIndex = 3 End If End Sub |
1 2 3 4 5 6 7 8 | If Sheet1.Range("J9").Value = True Then Sheet1.Range("K9").Interior.ColorIndex = 4 Else Sheet1.Range("K9").Interior.ColorIndex = 3 End If End Sub |
Vet, het werkt nu! Ontzettend bedankt man!quote:Op woensdag 19 maart 2008 14:17 schreef Thrilled het volgende:
Mogelijke dingen die fout kunnen gaan:
- Je laat waarschijnlijk de macro kijken naar de verkeerde cel, of naar het verkeerde blad.
In de macro zeg je (in jip en janneke taal):
"Als er op Sheet 1 in cel J9 het woordje "True" staat, dan maak je in Sheet 1 cel K9 de kleur groen (4), zo niet dan maak je hem rood
Meer wordt er niet gedefineerd.
- Je laat de checkbox verwijzen naar een verkeerde cel (of je verwijst hem nergens naar).
Bij het aan/uitvinken van een cel krijgt de checkbox een waarde. TRUE voor aangevinkt, FALSE voor uitgevinkt. Als de macro nergens die waarde terug kan vinden weet hij ook niet wanneer hij nou wel of niet een vakje moet in kleuren.
Ik kopieer net jou geplakte macro in een nieuwe excel sheet en ook hier werkt hij weer.. stappenplan:
- Open excel en gooi op Sheet2 ergens een checkbox neer.
- Rechtermuisknop op deze zojuist gemaakte checkbox en kies "Besturingselement Opmaken" (geen idee hoe dit in het engels weergegeven wordt, je moet in ieder geval in het 'eigenschappen' gedeelte komen van de checkbox)
- Hier zie je onderaan een invoerbalk met de tekst: "Link with celll: [ invoerbalk ] en een knopje waarin je een miniatuurweergave ziet van een spreadsheet. Ongeveer
- Klik dát kleine vierkantje aan, nu veranderd het menu in een smalle balk en kan je een cel selecteren. Klik nu eerst op "Sheet 1" en dan bijvoorbeeld op cel J9, nu komt er in die kleine balk Sheet1!$J$9 te staan. Druk 2 maal op enter.
Nu heb je alleen de checkbox laten verwijzen naar die specifieke cel. Als je nu je checkbox uit of aanvinkt komt er op Sheet 1 in cel J9 'TRUE' en 'FALSE' te staan. Als dit niet zo is, moet je het nog een keer proberen..
Nu gaan we de macro er aan toevoegen..
- Druk op Alt + F11 en het Visual Basic venster verschijnt
- in de menubalk bovenaan: Invoegen > Module (Insert > Module)
- Plak daar de volgende code:
[ code verwijderd ]
- Klik op kruisje en nu zit je weer in je excelsheet. Macro is gemaakt, Checkbox is gemaakt.. nu de macro aan de checkbox koppelen..
- Rechtermuisknop op de checkbox en selecteer "Macro toewijzen", in de nederlandse versie is dit de één-na-laatste optie.
- Nu zie je een venster waarin je als het goed is de macro 'kleurtjes' moet zien staan. Selecteer deze, druk op OK en hij moet het doen.
Mocht dit nóg niet lukken, PM me even je mailadres
Let dus even op de verschillen in de taal he.. Sheet = Blad.. cellen kun je aanpassen naar wens. Let wel op dat als je de cel waarnaar de checkbox verwijst wilt veranderen, je ook in de macro de cel moet aanpassen. Hetzelfde met de cel die je in wilt kleuren
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 | If Sheet1.Range("J9").Value = True Then Sheet1.Range("K9").Interior.ColorIndex = 4 Else Sheet1.Range("K9").Interior.ColorIndex = 3 End If End Sub Sub Kleurtjes2() If Sheet1.Range("J10").Value = True Then Sheet1.Range("K10").Interior.ColorIndex = 4 Else Sheet1.Range("K10").Interior.ColorIndex = 3 End If End Sub Sub Kleurtjes3() If Sheet1.Range("J11").Value = True Then Sheet1.Range("K11").Interior.ColorIndex = 4 Else Sheet1.Range("K11").Interior.ColorIndex = 3 End If End Sub |
Okay, niet ideaal maar ik moet het er maar mee doen. Nogmaals bedankt voor je hulp .quote:Op woensdag 19 maart 2008 15:00 schreef Thrilled het volgende:
Eindelijk
Nja als je de checkbox steeds kopieert neemt hij steeds dezelfde macro mee. Dus krijg je 10 checkboxes met allemaal dezelfde macro Als jij 10 verschillende checkboxes wil hebben met 10 verschillende vakjes zal je moeten kopieren + aanpassen..
[ code verwijderd ]
Bijvoorbeeld
Je zal hier vast wel handigere manieren voor hebben.. arrays ofzo maar weet ik zelf ook te weinig vanaf.. dit werkt gewoon
Ik zit nu enkel nog met de PDF-kwestie.quote:Op woensdag 19 maart 2008 15:29 schreef DaFan het volgende:
Thrilled over die mail vraag:
Ik denk dat het problematisch wordt PDF te maken en dan te mailen omdat je dan, met de PDF, buiten Excel om moet gaan werken.
Ik ben heel erg uit VB met Excel nu dus ik kan je helaas niet helpen met die vraag over lege cellen. Ik heb zelf wat geprobeerd met [blaat].Value = "" Then en IsEmpty ([variabele]) maar kom er niet uit...sorry.
1 2 3 4 | MsgBox "Vul uw naam in bij de Melder" Exit Sub End If |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |