HSV
Inventaris
- Lid geworden
- 18 jul 2008
- Berichten
- 20.943
- Office versie
- Bèta Insider Office 365
Hallo Danny,
Lijkt dit op je wensen?
Dankzij @Warme bakkertje het wachtwoord d.m.v. een Vba-code verwijderd.
Lijkt dit op je wensen?
Dankzij @Warme bakkertje het wachtwoord d.m.v. een Vba-code verwijderd.
Code:
Sub hsv()
Dim arr, arr2, sn, i As Long, ii As Long, j As Long, x As Long, n As Long, c As Range, c00, c01, c02
Application.ScreenUpdating = False
Workbooks.Open ThisWorkbook.path & "\Output Danny.xlsx"
'With GetObject(ThisWorkbook.path & "\Output Danny.xlsx")
With ActiveWorkbook
For i = 1 To 3
arr = Split(ThisWorkbook.Sheets(i).Name, "_")
With Workbooks("Output Danny.xlsx").Sheets("Rawdata")
With .Cells(1).CurrentRegion
For x = 0 To 1
If .Parent.AutoFilterMode Then .Parent.AutoFilterMode = False
.AutoFilter 1, CDate(ThisWorkbook.Sheets(i).Cells(1, 3).Value)
Select Case x
Case 0
.AutoFilter 6, "GT-SP-WKSE-15"
.AutoFilter 5, arr(0), 2, arr(1)
sn = .Cells(1).CurrentRegion
ReDim arr2(1 To UBound(sn), 1 To UBound(sn, 2))
For ii = 2 To UBound(sn)
If Not .Rows(ii).Hidden Then
n = n + 1
For j = 1 To UBound(sn, 2)
arr2(n, 1) = sn(ii, 3)
arr2(n, 2) = sn(ii, 9)
arr2(n, 3) = sn(ii, 10)
arr2(n, 8) = sn(ii, 5)
arr2(n, 9) = sn(ii, 13)
c00 = Application.Index(sn, 1, 0)
c01 = Replace(Format(ThisWorkbook.Sheets(i).Cells(1, 3), "dd-mm-yyyy"), "-", ".")
c02 = Application.Match(c01, c00, 0)
If Not IsError(c02) Then arr2(n, 10) = sn(ii, c02)
arr2(n, 11) = sn(ii, 2)
arr2(n, 14) = sn(ii, 8)
Next j
End If
Next ii
ThisWorkbook.Sheets(i).Range("A28").Resize(n, 14) = arr2
n = 0
Erase arr2
Case 1
.AutoFilter 6, "GT-SP-WKSM-15"
.AutoFilter 5, arr(0), 2, arr(1)
sn = .Cells(1).CurrentRegion
ReDim arr2(1 To UBound(sn), 1 To UBound(sn, 2))
For ii = 2 To UBound(sn)
If Not .Rows(ii).Hidden Then
n = n + 1
For j = 1 To UBound(sn, 2)
arr2(n, 1) = sn(ii, 3)
arr2(n, 2) = sn(ii, 9)
arr2(n, 3) = sn(ii, 10)
arr2(n, 8) = sn(ii, 5)
arr2(n, 9) = sn(ii, 13)
c00 = Application.Index(sn, 1, 0)
c01 = Replace(Format(ThisWorkbook.Sheets(i).Cells(1, 3), "dd-mm-yyyy"), "-", ".")
c02 = Application.Match(c01, c00, 0)
If Not IsError(c02) Then arr2(n, 10) = sn(ii, c02)
arr2(n, 11) = sn(ii, 2)
arr2(n, 14) = sn(ii, 8)
Next j
End If
Next ii
ThisWorkbook.Sheets(i).Range("A38").Resize(n, 14) = arr2
n = 0
Erase arr2
End Select
Next x
End With
End With
Next i
.Close 0
End With
End Sub
Laatst bewerkt: