• 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.

auto opmaak

Status
Niet open voor verdere reacties.

elodie

Gebruiker
Lid geworden
18 mei 2010
Berichten
48
Beste,

Ik zou graag een kolom willen maken waardat als ik een nummer van 1 tot en met 4 in typ, een macro hiervoor het huidige jaartal zet.
bv.

Ik typ vandaag:
in een vakje van deze kolom "1" , en wanneer ik een ander vakje selecteer wordt dit "2010-1".
in een ander vakje van deze kolom "3" en wanneer ik een ander vakje selecteer wordt dit "2010-3".

Ik typ volgend jaar:

in een vakje van deze kolom "1" , en wanneer ik een ander vakje selecteer wordt dit "2011-1".
in een ander vakje van deze kolom "4" en wanneer ik een ander vakje selecteer wordt dit "2011-3".


wanneer ik een ander getal dan 1,2,3 of 4 typ, moet er een foutmelding zoals "WAARDE" of "FOUT" te voorschijn komen .

Kan iemand mij hierbij helpen?
 
Laatst bewerkt:
Het zou zo kunnen.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Len(Target) = 1 Then Target.Value = Year(Now()) & "-" & Target
End Sub

Als een cel in de A-kolom gewijzigd wordt, verschijnt de huidige dag met het getal.

Met vriendelijke groet,


Roncancio
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Len(Target) = 1 And (Target.Value >= 1 Or Target.Value <= 4) Then Target.Value = Year(Now()) & "-" & Target
ElseIf (Target.Value <= 1 Or Target.Value >= 4) Then Target.Value = "FOUT!"
End Sub

wat is er fout aan deze code?
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Len(Target) = 1 And (Target.Value >= 1 Or Target.Value <= 4) Then Target.Value = Year(Now()) & "-" & Target
ElseIf (Target.Value <= 1 Or Target.Value >= 4) Then Target.Value = "FOUT!"
End Sub

wat is er fout aan deze code?

Doordat je achter de Then code zet, ziet VBA dit als 1 IF-functie.

Zo kan het wel.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 4 And Len(Target) = 1 Then
    Target.Value = Year(Now()) & "-" & Target
ElseIf Left(Target, 4) <> CStr(Year(Now())) Then

    Target.Value = "FOUT!"
End If

End Sub

Met vriendelijke groet,


Roncancio
 
dank je wel

''° 0 ( ) (wat een man!)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan