Hallo,
Ik ben bezig om het verwerken van voorraden en cap.planning doormiddel van macro's te automatiseren. Stapje voor stapje kom ik verder. Maar loop nu tegen probleem aan van het inlezen van de aangeleverde uren. Het is me al gelukt om doormiddel van een userform de actuele week en de gekozen locatie zichtbaar te maken en ook het bestand van deze locatie en week te openen.
Maar nu moet ik in dat geopende bestand(zie voorbeeld bestand) gegevens kopiëren naar de landelijke cap.planning. In de oude werkwijze staan in het bestand wat geopend wordt twee macro's(zie voorbeeld bestand) die de gegevens die ik nodig had kopieerde en ik plakte ze dan handmatig in de cap.planning. In twee stappen eerst de direct uren en daarna de indirecte uren. De range die geselecteerd/gekopieerd moest door middel van de macro's paste ik dan per locatie aan.
Ik wil nu in deze nieuw macro dat de cellen vanaf G8 en dan 5 kolommen naar rechts en alle regels die gegevens bevatten tot aan de totaal regel kopiëren.
Heb nu deze VBA wordt gestart vanuit een schakelbord/userform. Tot selectie werkt deze goed.
Ik ben bezig om het verwerken van voorraden en cap.planning doormiddel van macro's te automatiseren. Stapje voor stapje kom ik verder. Maar loop nu tegen probleem aan van het inlezen van de aangeleverde uren. Het is me al gelukt om doormiddel van een userform de actuele week en de gekozen locatie zichtbaar te maken en ook het bestand van deze locatie en week te openen.
Maar nu moet ik in dat geopende bestand(zie voorbeeld bestand) gegevens kopiëren naar de landelijke cap.planning. In de oude werkwijze staan in het bestand wat geopend wordt twee macro's(zie voorbeeld bestand) die de gegevens die ik nodig had kopieerde en ik plakte ze dan handmatig in de cap.planning. In twee stappen eerst de direct uren en daarna de indirecte uren. De range die geselecteerd/gekopieerd moest door middel van de macro's paste ik dan per locatie aan.
Ik wil nu in deze nieuw macro dat de cellen vanaf G8 en dan 5 kolommen naar rechts en alle regels die gegevens bevatten tot aan de totaal regel kopiëren.
Heb nu deze VBA wordt gestart vanuit een schakelbord/userform. Tot selectie werkt deze goed.
Code:
Private Sub okeKnopRooster_Click()
'controle op ingevulde locatie
If Me.WeeknrRooster.Value = "" Then
Me.WeeknrRooster.SetFocus
MsgBox "Je moet een het weeknr kiezen."
Exit Sub
End If
'controle op ingevulde locatie
If Me.LocactieRooster.Value = "" Then
Me.LocactieRooster.SetFocus
MsgBox "Je moet een locatie kiezen."
Exit Sub
End If
'Schrijft het gekozen weeknr en de locatie weg naar werkblad data cel N5 & N6
Worksheets("Data").Range("N5").Value = Me.WeeknrRooster.Value
Worksheets("Data").Range("N6").Value = Me.LocactieRooster.Value
'Filterd de cap.planning op basis van gekozen locatie
Application.Goto Range("week" & Val([Data!N5]))
ActiveSheet.Range("$A$7:$PR$82").AutoFilter Field:=4, Criteria1:= _
Worksheets("data").Range("N6").Value
'opend het rooster van de gekozen locatie.
'Workbooks.Open Worksheets("data").Range("N7").Value & "Capaciteitsplanning" & " " & Worksheets("Data").Range("N6").Value & " " & "week " & Worksheets("data").Range("N5").Value & " " & "2019" & ".xlsm", ReadOnly:=True
'Windows(2).WindowState = xlMinimized
'Windows(1).WindowState = xlMaximized
'Open een ander bestand naast het bestand dat al open is.
'Een werkbook dat geopend wordt wordt automatisch het active werkbook.
Workbooks.Open Worksheets("Data").Range("N7").Value & "Capaciteitsplanning" & " " & Worksheets("Data").Range("N6").Value & " " & "week " & Worksheets("data").Range("N5").Value & " " & "2019" & ".xlsm", ReadOnly:=True
'Kopieer de gegevens zoals al bekend
'Sheets("Sjabloon " & Val([A4])).Select
Range("G8").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'Sluit het active werkbook.
'Daardoor wordt het eerste bestand waarin deze macro staat
'weer het active werkbook.
ActiveWorkbook.Close
Unload Rooster
End Sub
Bijlagen
Laatst bewerkt: