VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "Sheet1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = True Option Explicit Sub btnUpdate_Click() On Error GoTo ErrCatch Dim res, i, x, y, z, arrProvider, arrComputers, intDaysold Dim strFilter, strFields, strScope, strQuery If IsEmpty(Sheet1.Cells(1, 10)) Then Sheet1.Range("$j$1").Value = 150 End If intDaysold = Sheet1.Range("$j$1").Value Sheet1.Range("$j$4").Value = "Working..." PopulateHeaders ("Current") ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$H$1"), , xlYes).Name = "ADCurrent" Range("ADCurrent[#All]").Select ActiveSheet.ListObjects("ADCurrent").TableStyle = "TableStyleMedium1" arrProvider = getTopLevelOUs strFilter = "(objectCategory=computer);" strFields = "distinguishedName" strScope = ";subtree" Call SetupConnections x = 0 z = 0 Range("A2").Select For i = 1 To UBound(arrProvider) strQuery = "<" & arrProvider(i) & ">;" & strFilter & strFields & strScope 'Sheet1.Range("$j$5").Value = arrProvider(i) arrComputers = Split(getComputers(strQuery, intDaysold), ",") If ActiveCell.Offset(0, 1).Value = "Working..." Then ActiveCell.Offset(0, 1).Value = "" End If For y = 0 To UBound(arrComputers) If z = 8 Then x = x + 1 z = 0 ActiveCell.Offset(1, -8).Select End If 'ActiveCell.Offset(x, z).Select ActiveCell.Value = Replace(arrComputers(y), "|", ",") ActiveCell.Offset(0, 1).Select z = z + 1 Next ActiveCell.Offset(0, 1).Value = "Working..." Next If ActiveCell.Offset(0, 1).Value = "Working..." Then ActiveCell.Offset(0, 1).Value = "" End If 'Sheet1.Range("$j$5").Value = "" Call KillConnections 'Format Cells Columns("A:A").Select ' Hostname Selection.NumberFormat = "@" Selection.WrapText = False Columns("C:C").Select ' Day Count Selection.NumberFormat = "0" Columns("F:H").Select Selection.NumberFormat = "@" Selection.WrapText = False Sheet1.Range("$j$4").Value = "Finished!" Range("A1").Select Exit Sub ErrCatch: If Err.Number = 1004 Then ActiveSheet.ListObjects("ADCurrent").Unlist ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$H$2"), , xlYes).Name = "ADCurrent" Resume Next End If Range("A1").Select Sheet1.Range("$j$4").Value = "ERROR!" 'Sheet1.Range("$j$5").Value = "" MsgBox Err.Number & ": " & Err.Description End Sub