mercredi 31 décembre 2014

logbestand maken in mijn strokenplanning

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





logbestand maken in mijn strokenplanning

0 commentaires:

Enregistrer un commentaire