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

VBA vraag

  • Onderwerp starter Onderwerp starter Hylas
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Hylas

Gebruiker
Lid geworden
5 mrt 2012
Berichten
150
Beste Leden,
heb een vba formulier gemaakt met een knop waarmee een kalender verschijnt, in de code zet ik dan neer Kalender.Show en dan verschijnt hij. echter als ik de datum aan klik dan zet hij de datum in de actieve cel op het blad.
hoe bepaal ik dan in welke cel hij komt te staan,
de 1e code is van het formulier en de 2e code is van de kalender.
Alvast hartelijk dank voor het meedenken
Groet,
Ton
HTML:
Private Sub cmdToevoegen_Click()

Static iRow As Long
    Dim ws As Worksheet
    
        Set ws = Worksheets("Afdeling")
        iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ws.Cells(iRow, 1).Value = Leverancier.Value
ws.Cells(iRow, 2).Value = Grondstof.Value
ws.Cells(iRow, 3).Value = Vers.Value
ws.Cells(iRow, 4).Value = Klasse.Value
ws.Cells(iRow, 5).Value = Temperatuur.Value
ws.Cells(iRow, 6).Value = OVdatum

Me.Leverancier.Value = " "
Me.Grondstof.Value = " "
Me.Vers.Value = " "
Me.Klasse.Value = " "
Me.Temperatuur.Value = " "
Me.OVdatum.Value = " "
End Sub

Private Sub Ovdatum_Click()
Kalender.Show

End Sub

HTML:
Private Sub plaats(x)    ActiveCell.Value = DateSerial(Year(Kalender.Tag), Month(Kalender.Tag), Me("Label" & x).Caption)     ActiveCell.Offset(1).Activate    Hide    End Sub
 
Het rood gemarkeerde deel aanpassen.
Code:
Private Sub plaats(x)
[COLOR="#FF0000"]ActiveCell.Value[/COLOR] = DateSerial(Year(Kalender.Tag), Month(Kalender.Tag), Me("Label" & x).Caption)

Kan bijvoorbeeld door:
Code:
Cells(1, 1).Value = DateSerial(Year(Kalender.Tag), Month(Kalender.Tag), Me("Label" & x).Caption)
of
Code:
Range("A1").Value = DateSerial(Year(Kalender.Tag), Month(Kalender.Tag), Me("Label" & x).Caption)
 
Laatst bewerkt:
In welke cel zou je de datum willen hebben?
 
In het formulier geef ik aan in rij 6
het is een registratie wat elk keer opvolgend in de rij komt

Gr Ton
 
Maak een Textbox of Label in het formulier waar je de datum van de kalender in plaatst.
Code:
Private Sub plaats(x)   
  Label1.caption = DateSerial(Year(Kalender.Tag), Month(Kalender.Tag), Me("Label" & x).Caption) 
End Sub


Voor het wegschrijven:
Code:
ws.Cells(iRow, 6).Value =Label1.caption

Of:
Code:
ws.Cells(iRow, 6).Value = cdate(textbox1.value)

Alles in een array zetten bevorderd de snelheid.
Code:
ws.cells(rows.count,1).end(xlup).offset(1).resize(,6) = array(Leverancier.value, Grondstof.value, Vers.value, klasse.value, Temperatuur.value, cdate(textbox1.value))
 
Laatst bewerkt:
Zet de eigenschappen van de kolom eens op Datum.
Plaats anders je bestand.
 
Ik heb een textbox toegevoegd zoals ik omschreef.
Daar komt de datum van de kalender in.

Daarna schrijf je het weg.
 

Bijlagen

Doe het eens zo:
Code:
Private Sub cmdToevoegen_Click()
    With Sheets("Afdeling")
        .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(Leverancier.Value, Grondstof.Value, Vers.Value, Klasse.Value, Temperatuur.Value, CDate(Kalender.Label1.Caption))
    End With
    
    Me.Leverancier.Value = " "
    Me.Grondstof.Value = " "
    Me.Vers.Value = " "
    Me.Klasse.Value = " "
    Me.Temperatuur.Value = " "
End Sub
 
Laatst bewerkt:
Jongens jullie zijn toppers, nu kan ik weer lekker voort borduren, ik zit vaak te puzzelen met dit soort dingetjes en dan kijk ik soms over een aantal zaken heen of denk te moeilijk.
En dan komen jullie met antwoorden en dan zie je het ja zo kan het ook.
Het maakt me werk soms zoveel makkelijker.
Zeer dankbaar voor jullie bijdrage

Groet, Ton
 
Nog 1 vraag

voor de 2e keer kalender openen, datum selecteren en wegschrijven naar andere textBox
Knop gemaakt en tekstBosxt2 gemaakt

HTML:
Private Sub cmdToevoegen_Click()
Sheets("Afdeling").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(Leverancier.Value, Grondstof.Value, Vers.Value, Klasse.Value, Temperatuur.Value, CDate(TextBox1.Value))
Sheets("Afdeling").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(Leverancier.Value, Grondstof.Value, Vers.Value, Klasse.Value, Temperatuur.Value, CDate(TextBox2.Value))
 Leverancier.Value = ""
 Grondstof.Value = ""
 Vers.Value = ""
 Klasse.Value = ""
 Temperatuur.Value = ""
End Sub
 
Dit bedoel je?
 

Bijlagen

Niet helemaal

Harry,
hij maakt nu 2 regels, de bedoeling is 1 regel met ontvangst datum en daarnaast de tht datum

Groet, Ton
 
Code:
Sheets("Afdeling").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 7) = Array(Leverancier.Value, Grondstof.Value, Vers.Value, Klasse.Value, Temperatuur.Value, CDate(TextBox1.Value),CDate(TextBox2.Value))
 
Schitterend

Harry,

Bedankt helemaal goed !!!!


Groet Ton
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan