mercredi 31 décembre 2014
logbestand maken in mijn strokenplanning
Posted on 02:29 by Unknown
Beste excelexperts,
ik heb een planningsbestand (werkt fantastisch)voor de personeelsplanning voor mijn afdeling.
nu werkt het zo dat medewerkers snipperdagen aanvragen en deze zet ik in de planning.
wanneer de datum verlopen is van de snipperdag dan druk ik op een command button (Dan verwijdert hij de verlopen datums) en dan is mijn lijst voor snipperdagen weer actueel.
nu zou ik graag willen dat wanneer ik op de command button druk om de verlopen datums te verwijderen dat hij deze eerst dan wegschrijft naar een logfile (ander tabblad, blad6).
het zou het makkelijkst zijn dat hij elke keer de eerste vrije regel eronder vult met deze gegevens.
wie o wie zou me hierbij kunnen helpen?
ik voeg de vba code toe maar kan ook een voorbeeld van het bestand toevoegen als jullie willen?
ik hoor het uiteraard graag.
groet,
Ben
Private Sub CommandButton1_Click()
Dim teller As Long
With Sheets("Blad1")
Application.ScreenUpdating = False
.Unprotect
If .AutoFilterMode Then .AutoFilterMode = False
.Range("A6:F150").AutoFilter 6, "<" & CLng(Date)
teller = .AutoFilter.Range.Offset(1).SpecialCells(12).Rows. Count
.AutoFilter.Range.Offset(1).SpecialCells(xlCellTyp eVisible).EntireRow.Delete
.Range("A7:F150").AutoFilter
.Range("A150").Resize(teller + 10).EntireRow.Insert
.Range("A7:F150").Borders.LineStyle = xlContinuous
.Range("G7:NI150").FormulaR1C1 = "=IF(OR(RC5="""",RC6=""""),"""",IF(AND(R5C>=RC5,R5 C<=RC6,RC4=R1C373),1,IF(AND(R5C>=RC5,R5C<=RC6,RC4= R2C373),2,IF(AND(R5C>=RC5,R5C<=RC6,RC4=R3C373),3,I F(AND(R5C>=RC5,R5C<=RC6,RC4=R4C373),4,IF(AND(R5C>= RC5,R5C<=RC6,RC4=R5C373),5,IF(AND(R5C>=RC5,R5C<=RC 6,RC4=R6C373),6,"""")))))))"
.Range("G7:NI7").AutoFill Range("G7:NI150")
.Range("C7:C150").FormulaR1C1 = "=IF(RC[-2]="""","""",IFERROR(VLOOKUP(RC[-2],Medwtabel,3,0),""N.B.""))"
.Range("D7:D150").FormulaR1C1 = "=IF(RC[-3]="""","""",IFERROR(VLOOKUP(RC[-3],Medwtabel,2,0),""N.B.""))"
.Range("A7:NI7").Select
Selection.Copy
.Range("A7:NI150").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
Range("A7:A150").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=medewerkers"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Sheets("Blad1").Protect
Range("A7").Select
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
Worksheets(1).Protect UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Worksheets(1).EnableSelection = xlUnlockedCells
End Sub
Private Sub CommandButton3_Click()
Worksheets(1).Unprotect
End Sub
Private Sub CommandButton4_Click()
UserForm1.Show
End Sub
Private Sub CommandButton5_Click()
Range("A7:f292").Select
ActiveWorkbook.Worksheets("Blad1").Sort.SortFields .Clear
ActiveWorkbook.Worksheets("Blad1").Sort.SortFields .Add Key:=Range("e7:e292"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Blad1").Sort
.SetRange Range("A7:f292")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A7").Select
End Sub
ik heb een planningsbestand (werkt fantastisch)voor de personeelsplanning voor mijn afdeling.
nu werkt het zo dat medewerkers snipperdagen aanvragen en deze zet ik in de planning.
wanneer de datum verlopen is van de snipperdag dan druk ik op een command button (Dan verwijdert hij de verlopen datums) en dan is mijn lijst voor snipperdagen weer actueel.
nu zou ik graag willen dat wanneer ik op de command button druk om de verlopen datums te verwijderen dat hij deze eerst dan wegschrijft naar een logfile (ander tabblad, blad6).
het zou het makkelijkst zijn dat hij elke keer de eerste vrije regel eronder vult met deze gegevens.
wie o wie zou me hierbij kunnen helpen?
ik voeg de vba code toe maar kan ook een voorbeeld van het bestand toevoegen als jullie willen?
ik hoor het uiteraard graag.
groet,
Ben
Private Sub CommandButton1_Click()
Dim teller As Long
With Sheets("Blad1")
Application.ScreenUpdating = False
.Unprotect
If .AutoFilterMode Then .AutoFilterMode = False
.Range("A6:F150").AutoFilter 6, "<" & CLng(Date)
teller = .AutoFilter.Range.Offset(1).SpecialCells(12).Rows. Count
.AutoFilter.Range.Offset(1).SpecialCells(xlCellTyp eVisible).EntireRow.Delete
.Range("A7:F150").AutoFilter
.Range("A150").Resize(teller + 10).EntireRow.Insert
.Range("A7:F150").Borders.LineStyle = xlContinuous
.Range("G7:NI150").FormulaR1C1 = "=IF(OR(RC5="""",RC6=""""),"""",IF(AND(R5C>=RC5,R5 C<=RC6,RC4=R1C373),1,IF(AND(R5C>=RC5,R5C<=RC6,RC4= R2C373),2,IF(AND(R5C>=RC5,R5C<=RC6,RC4=R3C373),3,I F(AND(R5C>=RC5,R5C<=RC6,RC4=R4C373),4,IF(AND(R5C>= RC5,R5C<=RC6,RC4=R5C373),5,IF(AND(R5C>=RC5,R5C<=RC 6,RC4=R6C373),6,"""")))))))"
.Range("G7:NI7").AutoFill Range("G7:NI150")
.Range("C7:C150").FormulaR1C1 = "=IF(RC[-2]="""","""",IFERROR(VLOOKUP(RC[-2],Medwtabel,3,0),""N.B.""))"
.Range("D7:D150").FormulaR1C1 = "=IF(RC[-3]="""","""",IFERROR(VLOOKUP(RC[-3],Medwtabel,2,0),""N.B.""))"
.Range("A7:NI7").Select
Selection.Copy
.Range("A7:NI150").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
Range("A7:A150").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=medewerkers"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Sheets("Blad1").Protect
Range("A7").Select
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
Worksheets(1).Protect UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Worksheets(1).EnableSelection = xlUnlockedCells
End Sub
Private Sub CommandButton3_Click()
Worksheets(1).Unprotect
End Sub
Private Sub CommandButton4_Click()
UserForm1.Show
End Sub
Private Sub CommandButton5_Click()
Range("A7:f292").Select
ActiveWorkbook.Worksheets("Blad1").Sort.SortFields .Clear
ActiveWorkbook.Worksheets("Blad1").Sort.SortFields .Add Key:=Range("e7:e292"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Blad1").Sort
.SetRange Range("A7:f292")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A7").Select
End Sub
logbestand maken in mijn strokenplanning
Categories: logbestand maken in mijn strokenplanning
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire