Hallo,
Ik heb de onderstaande code waarin VBA checkt welke medewerker vrij is en dan zorgt dat die medewerker geactiveerd wordt.
Sub medewerker(medewerker As Integer, start As Variant, eind As Date)
Dim j As Integer
Dim maxwerkvoorraadopvoeren As Integer
Dim afstanddockopvoergoot As Date
Dim Afstandopvoergootdock As Date
Dim aantalcontainersinwerkvoorraad, aantaltelegencontainers As Double
' check of er iets gedaan moet worden
Sheets("medewerker").Activate
j = 1
While Cells(j, 1).Value <> medewerker And Cells(j, 1).Value <> ""
j = j + 1
Wend
'check eerst of de medewerker wat aan het doen is
If Cells(j, 6).Value <= endstep Or Cells(j, 6).Value = 0 Then
j = j + 1
End If
Het probleem waar ik alleen tegen aanloop is dat Cells(j,6) bijvoorbeeld aangeeft dat voor de rij j, de 6e kolom gepakt meot worden. Ik wil dan dat zodra de werknemer geactiveerd is, gaat kijken bij sheet opvoerwerkplekken naar welke goot er te weinig containers staan. Dus dacht ik doe ongeveer hetzelfde als voor de medewerker, maar dan krijg ik een foutmelding. Zou iemand hier een oplossing voor weten? Hierin is k dus de rij. ALvast bedankt!
'als de medewerker vrij is check dan wat er gedaan moet worden
While Cells(k, 1).Value <> opvoerband And Cells(k, 1).Value <> ""
k = k + 1
Wend
aantalcontainersinwerkvoorraad = Sheets("opvoerwerkplekken").Cells(k, 10).Value
maxwerkvoorraadopvoeren = Sheets("opvoerwerkplekken").Cells(k, 9).Value
aantalcontainersindock = Sheets("opvoerwerkplekken").Cells(1, 16).Value
afstanddockopvoergoot = Sheets("tijd tussen locaties").Cells(5, 4).Value / Sheets("medewerker").Cells(3, 3).Value * #12:00:01 AM#
lopenopvoergootdock = Sheets("tijd tussen locaties").Cells(6, 3).Value / Sheets("medewerker").Cells(3, 3).Value * #12:00:01 AM#
tijdvolledigecontainer = Sheets("opvoerwerkplekken").Cells(k, 8).Value * #12:00:01 PM#
bezigtot = start + tijdvolledigecontainer
If aantalcontainersinwerkvoorraad > maxwerkvoorraadopvoeren Or aantalcontainersinwerkvoorraad = maxwerkvoorraadopvoeren Then
Sheets("opvoerwerkplekken").Cells(1, 16).Value = Sheets("opvoerwerkplekken").Cells(1, 16).Value
End If
If aantalcontainersinwerkvoorraad < maxwerkvoorraadopvoeren And Sheets("Opvoerwerkplekken").Cells(1, 16).Value > "0" And Sheets("Opvoerwerkplekken").Cells(1, 16).Value <> "0" Then
Sheets("opvoerwerkplekken").Cells(1, 16).Value = aantalcontainersindock - 1
Sheets("Medewerker").Cells(j, 6) = bezigtot + lopenopvoergootdock
End If
Ik heb de onderstaande code waarin VBA checkt welke medewerker vrij is en dan zorgt dat die medewerker geactiveerd wordt.
Sub medewerker(medewerker As Integer, start As Variant, eind As Date)
Dim j As Integer
Dim maxwerkvoorraadopvoeren As Integer
Dim afstanddockopvoergoot As Date
Dim Afstandopvoergootdock As Date
Dim aantalcontainersinwerkvoorraad, aantaltelegencontainers As Double
' check of er iets gedaan moet worden
Sheets("medewerker").Activate
j = 1
While Cells(j, 1).Value <> medewerker And Cells(j, 1).Value <> ""
j = j + 1
Wend
'check eerst of de medewerker wat aan het doen is
If Cells(j, 6).Value <= endstep Or Cells(j, 6).Value = 0 Then
j = j + 1
End If
Het probleem waar ik alleen tegen aanloop is dat Cells(j,6) bijvoorbeeld aangeeft dat voor de rij j, de 6e kolom gepakt meot worden. Ik wil dan dat zodra de werknemer geactiveerd is, gaat kijken bij sheet opvoerwerkplekken naar welke goot er te weinig containers staan. Dus dacht ik doe ongeveer hetzelfde als voor de medewerker, maar dan krijg ik een foutmelding. Zou iemand hier een oplossing voor weten? Hierin is k dus de rij. ALvast bedankt!
'als de medewerker vrij is check dan wat er gedaan moet worden
While Cells(k, 1).Value <> opvoerband And Cells(k, 1).Value <> ""
k = k + 1
Wend
aantalcontainersinwerkvoorraad = Sheets("opvoerwerkplekken").Cells(k, 10).Value
maxwerkvoorraadopvoeren = Sheets("opvoerwerkplekken").Cells(k, 9).Value
aantalcontainersindock = Sheets("opvoerwerkplekken").Cells(1, 16).Value
afstanddockopvoergoot = Sheets("tijd tussen locaties").Cells(5, 4).Value / Sheets("medewerker").Cells(3, 3).Value * #12:00:01 AM#
lopenopvoergootdock = Sheets("tijd tussen locaties").Cells(6, 3).Value / Sheets("medewerker").Cells(3, 3).Value * #12:00:01 AM#
tijdvolledigecontainer = Sheets("opvoerwerkplekken").Cells(k, 8).Value * #12:00:01 PM#
bezigtot = start + tijdvolledigecontainer
If aantalcontainersinwerkvoorraad > maxwerkvoorraadopvoeren Or aantalcontainersinwerkvoorraad = maxwerkvoorraadopvoeren Then
Sheets("opvoerwerkplekken").Cells(1, 16).Value = Sheets("opvoerwerkplekken").Cells(1, 16).Value
End If
If aantalcontainersinwerkvoorraad < maxwerkvoorraadopvoeren And Sheets("Opvoerwerkplekken").Cells(1, 16).Value > "0" And Sheets("Opvoerwerkplekken").Cells(1, 16).Value <> "0" Then
Sheets("opvoerwerkplekken").Cells(1, 16).Value = aantalcontainersindock - 1
Sheets("Medewerker").Cells(j, 6) = bezigtot + lopenopvoergootdock
End If