• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Vinkje niet zichtbaar bij lege cel

Status
Niet open voor verdere reacties.

Paul-RT

Giga Honourable Senior Member †
Lid geworden
6 dec 2003
Berichten
10.886
Als cel A1 leeg is, dan zou ik graag willen dat het vinkje in C1 niet zichtbaar is. Evenals het woord "Open" of "Betaald" in cel D1.
Dat laatste is eenvoudig en is ook gelukt.
Maar hoe kan ik dat vinkje verbergen bij een lege cel A1 ?

Vul gegevens in in cel A1, en zie wat er gebeurd. Plaats het vinje .....


Dit is een regeltje uit een klanten bestand. Openstaande factuur of betaalde factuur.


Edit:
In de uitgebreide eigenschappen van het vinkje kan ik daar geen voorwaarde voor maken. Wel van alles met true en false, maar niet wat ik zoek. Al het alleen mogelijk is, om de knop "Disabled" te zetten wanneer A1 leeg is, is dat ook prima. Maar liefst niet zichtbaar.
 
Laatst bewerkt:
Ok, thanx Ad, dit werkt inderdaad.

Echter: ik heb op 1 werkblad 100 van deze vinkjes onder elkaar.

Dus van C1 tot C100.
Telkens met de voorwaarde in A1 tot A100.

Nog steeds mogelijk?
Ik hoopte dat met een instelling per cel te kunnen doen.
Dan kon ik ze 100x naar beneden kopieren.

Is er nog een optie?
 
Hoi Paul,

Misschien hier een oplossing?
 

Bijlagen

Laatst bewerkt:
@HSV:

Helaas dit is het niet.
Het vinkje met het woordje "Betaald" eraan vast moet in zijn geheel verdwijnen wanneer A1 leeg is.
Ik heb 100 regels, met dus 100 vinkjes.
In de loop der jaren zuleln de cellen worden gevuld.
Dus langzaam moeten er steeds meer vinkjes ontstaan, wanneer de bijhorende cel gevuld is.
Als ik nu al 100 vinkjes zie, staat dat slordig.
 
Beste Paul-RT ;)

Wat is de bedoeling van je vinkje ?

- Wil je via deze weg A1 verwijderen ?
- Of is het om te zien dat het OPEN of BETAALD is ?

Heb het over een andere boeg gegooid en heb het volgende gemaakt met lachebekjes.
Zie bestandje.

Zal natuurlijk niet hetgeen zijn dat jij wilt, maar alle hulp kan van pas komen hé.

Groetjes Danny. :thumb:
 

Bijlagen

De exacte bedoeling:
Ik heb een klantenbestand.
Dat is een lange lijst met adresgegevens, voorafgaand aan een klantnummer.
Helemaal vooraan de lijst staat per klant meteen een cijfer of-en hoeveel openstaande facturen die nog heeft.

Een klik op een klantnummer opent een "History overzicht" van die klant.
Daar staat op welke datum ik iets heb gedaan.
Dit overzicht is nu voor 80% geautomatisseerd.
Ik open een overzicht:
Op een bepaalde plaats, op de eerstvolgende lege regel komt de datum van vandaag.
De cel ernaast typ ik offerte- of factuur-nummer. Eventueel met omschrijving.
Zodra ik deze regel enter, moet het vinkje zichtbaar worden.
Ongeacht of ik die klik.

Klik ik niet, dan is de betreffende rekening open.
Klik ik wel, dan is de rekening betaald.

Ik sla niets op, maar sluit het document.
(Aanmaak van nieuw, en aut. opslaan zonder commentaar gebeurd op de achtergrond)

Ga ik nu terug naar het overzicht, dan zie ik in 1 oogopslag of die klant nog rekeningen open heeft staan (rode cijfers) of een groene nul.

Dus de funcite van het beruchte vinkje is gekoppeld aan info in andere documenten.


Waarom een overzicht?
Als ik in dat overzicht klik op "Factuur", dan opent zicht een nieuw leeg factuur.
Met een pull-down menu selecteer ik een klant naam.
De rest wordt met vert. zoeken direct ingevuld.
Klantnummer, btw nr, adres, zelfs ZIJN factuurnummer, bestaand uit een paar letters, diens klantnummer en diens volgnummer.
Dat volgnummer komt weer uit diens history.

Alle door mij gebruikte documenten zijn ergens gelinkt aan elkaar.


Wat is mijn voordeel:
Snel overzicht.
In enkele minuten maak ik een factuur of offerte. Zelfs als ik een nieuwe klant invoer.
Want: (sneaky) ik typ in het overzicht de gegevens van de klant.
Dan open ik een nieuwe lege history.
Ik typ alleen de cijfers van het klantnummer.
De rest van de gegevens staan direct ingevuld.
Incl zijn eerstvolgende factuurnummer :) (die ik ooit eens ga gebruiken voor hem) :thumb:

(Met veel dank aan Wigi en Richard1970)

Hoop dat een en ander duidelijk is, wat ik wil.
 
@ Warme Bakkertje:

:D:thumb:

Via dat forum en je gegeven topic iets gecreeerd wat werkt!
Staat in cel A1 niets (rechter klik, inhoud wissen), dan staat er geen vinkje.
Wel info in A1, dan wel een vinkje in B1 en Open of Betaald in C1

V.W.opmaak B1 geeft witte letter bij "waar" en "onwaar".


Nog 1 puzzeltje: Kan ik deze checkbox 100x naar beneden kopieren?
Evenals de formule in V.B. aanpassen?
Zou veel werk schelen !

Thanx so far ! Ben heel blij :)
 
Laatst bewerkt:
Laatste edit:
Ik heb nu een versie met 10 onzichtbare vinkjes werken.
Wel een page vol met code :)
Als iemand daar een kortere code voor weet, graag.
Maar zo lukt het ook. Vul maar iets in bij cel A1 t/m A10..... :thumb:

Topic voorlopig opgelost.
 
Paul-RT, onderstaande code plaatst in een keer 100 checkboxen in kolom C, past tekstkleur kolom B aan en plaatst formule en voorwaardelijke opmaak in kolom D.
Enjoy (hopelijk niet te laat)

Code:
Sub CheckboxenMaken()
Application.ScreenUpdating = False
'Plaatsen checkboxen
Dim h As Range
For Each c In Range("A1:A100")
Set h = ActiveCell.Offset(0, 2)
With ActiveSheet.CheckBoxes.Add(h.Left + 2, h.Top - 3, 11, 11)
    .LinkedCell = ActiveCell.Offset(0, 1).Address
    .Characters.Text = "Betaald"
    .ShapeRange.ScaleWidth 2.03, msoFalse, msoScaleFromTopLeft
    .ShapeRange.ScaleHeight 1.05, msoFalse, msoScaleFromMiddle
    .Placement = xlFreeFloating
    .Value = xlOff
    .PrintObject = False
End With
ActiveCell.Offset(1, 0).Select
Next c
'Tekstkleur wijzigen in wit
Range("B1:B100").Font.ColorIndex = 2
'Formule en voorwaardelijke opmaak invoeren
Range("D1:D100").Select
    With Selection
        .FormulaR1C1 = "=IF(RC[-3]="""","""",IF(RC[-2],""Betaald"",""Open""))"
        .FormatConditions.Delete
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""Open"""
        .FormatConditions(1).Font.ColorIndex = 3
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""Betaald"""
        .FormatConditions(2).Font.ColorIndex = 50
    End With
Range("A1").Select
Application.ScreenUpdating = True
End Sub


Mvg

Rudi
 
Super bedankt Rudi !:thumb::thumb: (wat een werk.....:shocked::eek:)
Ik ga daar deze week mee aan de slag.
Ik wil de code deels leren begrijpen, en iets wijzigen, omdat de knopjes nou eenmaal niet in A of B komen te staan.
Daarna toepassen in mijn gewenste file.

U hoort nader :)
 
De code die het eigenlijke werk uitvoert kan tot 1 regel beperkt worden:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then OLEObjects("Checkbox" & Target.Row).Visible = Target <> ""
End Sub
 
@ Snb:
Ehm, doel je op het niet-zichtbaar zijn van alle boxjes tenzij de bijhorende cel ingevuld is?
 
Dat is het inderdaad, en mocht er aan de code iets niet duidelijk zijn dan hoor ik het wel.;)
In jouw geval wordt het echter onderstaande aangezien we met een ander soort checkboxen werken.
Code:
If Target.Column = 1 Then ActiveSheet.Shapes("Check Box " & Target.Row).Visible = Target <> ""

Mvg

Rudi
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan