Cellen afhankelijk maken

Status
Niet open voor verdere reacties.

Bas Fluijt

Gebruiker
Lid geworden
6 aug 2007
Berichten
7
Beste Programmeurs,

Ik ben met een Excel sheet bezig waarin het vullen van bepaalde cellen alleen dan mogelijk moet zijn als een gedefinieerd aantal cellen gevuld is en dus niet leeg.

Voorbeeld:
Een rij kan alleen worden ingevuld als een gedefinieerd aantal Cellen zijn ingevuld. Zijn de Cellen leeg of gedeeltelijk ingevuld, dan moet er een melding komen dat de lege cellen eerst moet worden gevuld alvorens de rij kan worden ingevuld

SOS :confused:
 
Bas,

eerst een aantal vragen ter verduidelijking:

Wanneer check je dit? Op het moment dat de cellen ingevuld worden? Op het moment dat het bestand afgesloten wordt? Na klik op een knop? ...

Wat komt er in die andere cellen te staan? Getallen en/of tekst? Of is dit irrelevant?

Wigi
 
Wigi,

Bedankt voor je snelle reactie! :thumb:

Ik ben momenteel bezig met een kasboekje. Hierin dient men een Datum (Kolom A, Automatich), Grootboeknummer (kolom C), Omschrijving (kolom D), Facuurnr (kolom E), Bedrag (kolom F) en BTW code (kolomG) in te voeren.

Het probleem zit het hem in de gebruikers. Men is geneigd het grootboeknummer leeg te laten omdat men niet weet onder welk nummer ze vallen. Dit mag echter niet mogelijk zijn gezien dit nummer van essentieel belang is. Waar ik voor wil zorgen is dat men niet anders kan dan eerst het Grootboeknummer in te voeren en dan pas de overige cellen. Het mooiste zou zijn dat ze vergrendeld zouden zijn totdat er een waarde in de grootboeknummer cel staat.Op die manier kan men niet anders dan eerst het grootboeknummer invoeren.

Zo wil ik dat met nog een aantal onderdelen doen. Maar als je me hier mee kunt helpen is het een geweldige stap vooruit. Ik ken VB en kan programmeren. Maar heb geen idee hoe ik dit kan af vangen gezien Cellen geen objecten zijn en ik daar geen event aan kan koppelen.

Bas
 
Laatst bewerkt:
Maar heb geen idee hoe ik dit kan af vangen gezien Cellen geen objecten zijn en ik daar geen event aan kan koppelen.

Oei oei Bas, wat zeg je daar? :eek:

Cellen zijn wel degelijk objecten, net als tabbladen, bestanden, de Excel applicatie zelf, afbeeldingen, grafieken, en nog heel veel meer.

Het event dat je nodig hebt, is een Worksheet_Change event. Je kan daar in de code dan kijken in welke kolom iets ingevuld werd, met Target.Column.

Als je er niet uit geraakt, post dan maar de code op dat moment en er kijkt zeker iemand naar. Op het forum hier heb ik dat zelf ook al vele malen gebruikt, dus gebruik de zoekfunctie op mijn naam bijvb.

Wigi
 
Mijn excuses voor de foutieve opmerking over het object cel. Ik heb inmiddels een oplossing gevonden in het Worksheet_Change event. Ook heb ik deze dynamisch gemaakt zodat deze controleert op welke regel ik aan het werken ben.

Bedankt voor je snelle reacties.

De oplossing voor mij was:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Locatie, Doel

Locatie = Selection.Address
Doel = "B" & Mid(Locatie, 4, 4)

'MsgBox Locatie
'MsgBox Doel

If Not Intersect(Target, Range("C10:C103,D10:D103,E10:E103,F10:F103")) Is Nothing Then
If Range(Doel) = "" Then
MsgBox "Voer eerst een Grootboeknummer in!!"
Range(Doel).Select
End If
End If

End Sub
 
Laatst bewerkt:
De oplossing van mij:

Dit is een stuk beter:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, Range("C10:F103")) Is Nothing Then
        If Range("B" & Target.Row) = "" Then
            MsgBox "Voer eerst een Grootboeknummer in!!"
            
            Application.EnableEvents = False
            Range("B" & Target.Row).Select
            Application.EnableEvents = True
            
        End If
    End If
    
End Sub

Trouwens, had jij geen probleem bij de regel Range(Doel).Select? Daardoor wijzigt de selectie en wordt jouw macro weer afgevuurd. Dus 2 keer. Vandaar bij mij
Code:
Application.EnableEvents = False

Wigi
 
In het vervolg ook graag code niet in het schuin en het klein zetten aub. Dank u.

Wigi
 
Beste Wigi,

Hartelijk dank voor al je hulp. Ik heb veel van je geleerd en de sheet loop nu al stukken beter. Fijn dat er bronnen zijn zoals deze om af en toe om hulp te vragen.

:thumb:
 
OK, graag gedaan.

En nu deze code toepassen in de andere vragen van jou hier op het forum... ;)

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan