I'm working on a really large excel sheet which is basically a list of users along with the applications they use. Now the problem is that there are over 60000 users with atleast 10 applications each. So its a huge sheet. 2-3 times a week I need to extract the details of the applications used by certain specific users. Sometimes it's 2 users. Sometimes its 10 users. But due to the size of the spreadsheet, this activity takes me forever (1-2 hours).
Now, the sheet is structured in the following way.
StaffId Name DeviceNo Location ApplicationCount+ AppID Application Name
12345 John Doe DSK-982333 Mespil Road 24+
123 Adobe Acrobat
234 WinZip
345 Google Chrome
The + sign here is to indicate the grouped rows.
Is there anyway for me to use PowerPivots to extract this information?
One approach would be to:
In the VBA editor, insert a new module and add the following code:
Sub FilterForUsersOfInterest() Dim BigSheet As Worksheet Dim ListSheet As Worksheet Dim lastCell As Range Set BigSheet = ActiveWorkbook.Sheets("ListOfApplications") 'Change the sheet name here to match your main data tab Set ListSheet = ActiveWorkbook.Sheets("ListOfUsers") 'Change the sheet name here to match your sheet with the users of interest this time round 'Find the last used row on the worksheet Set lastCell = BigSheet.UsedRange.Item(BigSheet.UsedRange.Cells.Count) 'Copy the values for Staff Id down all the rows For iRow = 2 To lastCell.Row If BigSheet.Range("A" & iRow) = "" Then BigSheet.Range("A" & iRow) = BigSheet.Range("A" & iRow - 1) End If Next iRow 'Now work your way back up the rows, deleting any rows where the StaffId is not found in the current list of "users of interest" For iRow = lastCell.Row To 2 If Application.WorksheetFunction.CountIf(ListSheet.Range("A:A"), BigSheet.Range("A" & iRow)) = 0 Then BigSheet.Range("A" & iRow).EntireRow.Delete End If Next iRow End Sub
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.