Geacht forum,
Ik gebruik de volgende VBA om een set regels over te zetten naar een andere Excel. Dat werkte prima totdat ik genoodzaakt werd om in de andere Excel het blad te beveiligen.
Sub BtnKopieerNaarUrenbeheer_Click()
Application.ScreenUpdating = False
Dim vorigemaand As String
Dim mydoc As Excel.Workbook
vorigemaand = JaarMaand(DateAdd("M", -1, Now()))
Dim strPath As String
strPath = Application.ThisWorkbook.Path
Dim numrows As Long
Dim i As Long
Dim c As Byte
Dim l As Long
Dim addedRow As ListRow
Dim DoelTabel As ListObject
Dim BronTabel As ListObject
Set BronTabel = ActiveSheet.ListObjects("T_Agenda")
numrows = BronTabel.DataBodyRange.Rows.Count
l = 0
Set mydoc = Workbooks.Open(Worksheets("Param").Range("_PadUrenbeheer"))
Set DoelTabel = mydoc.Worksheets("Uren").ListObjects("T_Uren")
For i = 1 To numrows
If JaarMaand(BronTabel.DataBodyRange.Cells(i, 1)) = vorigemaand And BronTabel.DataBodyRange.Cells(i, 15) = "" Then
Set addedRow = DoelTabel.ListRows.Add()
For c = 1 To 8
addedRow.Range(c) = BronTabel.DataBodyRange.Cells(i, c)
Next
BronTabel.DataBodyRange.Cells(i, 15) = Now()
l = l + 1
End If
Next i
mydoc.Close SaveChanges:=True
Application.ScreenUpdating = True
MsgBox (l & " lijnen overgezet."), , "UrenBeheer"
End Sub
Dus nu heb ik behoefte aan code om tijdens de kopieer-actie die beveiliging er af te halen en op het einde weer teug erop te zetten.
Kan iemand mij daarbij helpen?
Ik gebruik de volgende VBA om een set regels over te zetten naar een andere Excel. Dat werkte prima totdat ik genoodzaakt werd om in de andere Excel het blad te beveiligen.
Sub BtnKopieerNaarUrenbeheer_Click()
Application.ScreenUpdating = False
Dim vorigemaand As String
Dim mydoc As Excel.Workbook
vorigemaand = JaarMaand(DateAdd("M", -1, Now()))
Dim strPath As String
strPath = Application.ThisWorkbook.Path
Dim numrows As Long
Dim i As Long
Dim c As Byte
Dim l As Long
Dim addedRow As ListRow
Dim DoelTabel As ListObject
Dim BronTabel As ListObject
Set BronTabel = ActiveSheet.ListObjects("T_Agenda")
numrows = BronTabel.DataBodyRange.Rows.Count
l = 0
Set mydoc = Workbooks.Open(Worksheets("Param").Range("_PadUrenbeheer"))
Set DoelTabel = mydoc.Worksheets("Uren").ListObjects("T_Uren")
For i = 1 To numrows
If JaarMaand(BronTabel.DataBodyRange.Cells(i, 1)) = vorigemaand And BronTabel.DataBodyRange.Cells(i, 15) = "" Then
Set addedRow = DoelTabel.ListRows.Add()
For c = 1 To 8
addedRow.Range(c) = BronTabel.DataBodyRange.Cells(i, c)
Next
BronTabel.DataBodyRange.Cells(i, 15) = Now()
l = l + 1
End If
Next i
mydoc.Close SaveChanges:=True
Application.ScreenUpdating = True
MsgBox (l & " lijnen overgezet."), , "UrenBeheer"
End Sub
Dus nu heb ik behoefte aan code om tijdens de kopieer-actie die beveiliging er af te halen en op het einde weer teug erop te zetten.
Kan iemand mij daarbij helpen?