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

calender in één cel

Status
Niet open voor verdere reacties.

dirk hogendoorn

Gebruiker
Lid geworden
8 jun 2007
Berichten
96
Goedendag,

Ik heb via de zoekfunctie een calender gevonden die tevoorschijn komt door dubbel te klikken. Dit zoek ik ook, alleen wil ik dat de calender niet tevoorschijn komt als er ergens willekeurig geklikt wordt, maar alleen als er bijvoorbeeld in cel b3 geklikt wordt.

De volgende code heb ik gebruikt: weet iemand wat ik hier aan moet veranderen?
Alvast bedankt.


Private Sub Calendar1_Click()

ActiveCell = Calendar1.Value

ActiveCell.NumberFormat = "dd/mmmm/yyyy"

End Sub



Private Sub UserForm_Activate()

Me.Calendar1.Value = Date

End Sub
 
Ik heb deze code achter het userform zitten:

Code:
Private Sub cmdClose_Click()
' Close the UserForm
    Unload Me
End Sub

Private Sub UserForm_Initialize()
' Check if active cell contains a date. If 'yes' show
' same date on calendar. If 'no' show today's date.
    If IsDate(ActiveCell.Value) Then
        Calendar1.Value = DateValue(ActiveCell.Value)
    Else
        Calendar1.Value = Date
    End If
End Sub

Private Sub Calendar1_Click()
' Transfer date selected on calendar to active cell
' and close UserForm.
    ActiveCell.Value = Calendar1.Value
    Unload Me
End Sub
 
Ik begrijp de code wel. Hierdoor komt of de huidige datum tevoorschijn of de datum die al in de cel aanwezig is. Dit is een welkome aanvulling. Maar hoe zorg ik ervoor dat dit niet in iedere cel mogelijk is, maar alleen in een bepaalde cel, bijvoorbeeld; b3?
 
dirk hogendoorn,

Zou die het zo doen?
Code:
Private Sub Calendar1_Click()
' Transfer date selected on calendar to active cell
' and close UserForm.
    [B3].Value = Calendar1.Value
    Unload Me
End Sub
 
Voeg deze regel als eerste tussen.

Code:
If not intersect(target,range("B3")) is nothing then

Cobbe
 
Ik was vergeten te vertellen dat ik achter het desbetreffende blad de volgende code heb:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("L58")) Is Nothing Then
UserForm1.Show
End If
End Sub
 
Dank je. Ik had alleen nog een klein vraagje. ik krijg nu het werkblad niet beveiligd met de 'normale' beveiligingsknop van excel, want dan werkt de macro niet meer. is hier misschien nog een oplossing voor?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan