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

Data vanuit een formulier naar de juiste sheet sturen op basis van weeknummer

Status
Niet open voor verdere reacties.

adile

Gebruiker
Lid geworden
2 mrt 2014
Berichten
202
Goedenavond,

ik heb een formulier in excel gemaakt met een verstuur knop.
onder die verstuurknop heb ik onderstaande code gezet.
deze code werkt als ik de knop om het formulier te openen in de sheet heb staan waarin ik bezig ben,
in dit geval "week 53".

omdat ik 53 sheets heb, wil ik weten of er een mogelijkheid is dat ik de knop om het formulier te openen op een beginblad zet,
en dat de informatie met onderstaande code aangepast, naar het juiste weeknummer sturen (juiste weeknummer is weeknummer "deze week" in dit geval week 44)

mijn sheets zijn genaamd week 1 t/m week 53

in excel reken ik de week uit met deze formule

Code:
="Week"&" "&WEEKNUMMER(VANDAAG();2)

maar hoe doe je dat in VBA?




Code:
Private Sub CmdInvoerenBoven_Click()

Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Week 53")

'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'check for a Name number
If Trim(Me.CmbDag.Value) = "" Then
Me.CmbDag.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If

'copy the data to the database

ws.Cells(iRow, 1).Value = Me.CmbDag.Value
ws.Cells(iRow, 4).Value = Me.CmbLocatie.Value
ws.Cells(iRow, 5).Value = Me.CmbBurKastNr.Value
ws.Cells(iRow, 6).Value = Me.CmbAfdeling.Value
ws.Cells(iRow, 7).Value = Me.CmbNaamEigenaar.Value
ws.Cells(iRow, 8).Value = Me.CmbBijzonderheden.Value
ws.Cells(iRow, 9).Value = Me.CmbAfgehandedDoor.Value

MsgBox "Data added", vbOKOnly + vbInformation, "Data Added"
'clear the data

    Me.CmbDag.Value = ""
    Me.CmbLocatie.Value = ""
    Me.CmbBurKastNr.Value = ""
    Me.CmbAfdeling.Value = ""
    Me.CmbNaamEigenaar.Value = ""
    Me.CmbBijzonderheden.Value = ""
    Me.CmbAfgehandedDoor.Value = ""
    Me.CmbDag.SetFocus

End Sub


Gr Adile
 
In de wat oudere versies.
Code:
Application.WeekNum(Now, 2)

Maar misschien is dit wat beter.

Code:
MsgBox "Wk. " & DatePart("ww", Date, vbMonday, vbFirstFourDays)
 
Laatst bewerkt:
Moet ik dat gedeelte het gedeelte "Worksheets("Week 53")" Vervangen?
 
Vervang het eens door:
Code:
Set ws = sheets("Week " & DatePart("ww", Date, vbMonday, vbFirstFourDays))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan