HSV
Inventaris
- Lid geworden
- 18 jul 2008
- Berichten
- 21.101
- Office versie
- Bèta Insider Office 365
Eerst de kolommen van alle bladen op standaard, daarna op datumformaat.
Code:
Sub tsh()
Dim Br
Dim i As Long
Dim Sl As String
[COLOR=#FF0000] Dim sh[/COLOR][COLOR=#ff0000]
Dim Ws As Worksheet
For Each sh In Sheets(Array("Blad1", "blad2", "Blad3", "Blad4"))
Set Ws = sh
With Ws.Columns("L")
.NumberFormat = "general"
.Offset(, 4).NumberFormat = "general"
End With
Next sh[/COLOR]
With CreateObject("Scripting.Dictionary")
Br = Sheets("Blad1").Cells(1).CurrentRegion
For i = 2 To UBound(Br)
.Item(Join(Array(Br(i, 1), Br(i, 2), Br(i, 3)), "|")) = Application.Index(Br, i, [Column(A:R)])
Next
Br = Sheets("Blad2").Cells(1).CurrentRegion
For i = 2 To UBound(Br)
Sl = Join(Array(Br(i, 1), Br(i, 2), Br(i, 3)), "|")
If .Exists(Sl) Then
.Remove Sl
Else
Sheets("Blad4").Range("A" & Sheets("Blad4").Cells(Rows.Count, 1).End(xlUp).Row + 1).Resize(, 18) = _
Application.Index(Br, i, [Column(A:R)])
End If
Next
Sheets("Blad3").Cells(2, 1).Resize(.Count, 18) = Application.Index(.Items, 0)
End With
[COLOR=#ff0000]For Each sh In Sheets(Array("Blad1", "Blad2", "Blad3", "Blad4"))
Set Ws = sh
With Ws.Columns("L")
.NumberFormat = "dd-mm-yyyy"
.Offset(, 4).NumberFormat = "dd-mm-yyyy"
End With
Next sh[/COLOR]
End Sub