Professional Documents
Culture Documents
lDate = dDate
Range("J2").AutoFilter
Set ws = ThisWorkbook.Worksheets("Sheet1")
With ws
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
For i = LastRow To 2 Step -1 'To 2 Assuming first row contains headers
If .Rows(i).Hidden = False Then
.Rows(i).Delete
End If
Next
.ShowAllData 'remove filtered data
End With
Set ref = Range("A1").End(xlToRight).Offset(0, 1)
ref.Value = "LIMIT"
Dim x As Integer
' Set numrows = number of rows of data.
NumRows = Range("T2", Range("T2").End(xlDown)).Rows.Count
' Select cell a1.
Range("T2").Select
Sheets.Add(after:=Sheets(Sheets.Count)).Name = x1.Value
ActiveSheet.Paste
End With
Next x1
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
'==========================Create Pivot Table 2G
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
'Dim LastRow As Long
Dim LastCol As Long
Worksheets("PivotTable").Range("D2").Activate
Dim pt As PivotTable
Dim pf As PivotField
strVal = "Sum of hours2"
Worksheets("PivotTable").Range("E3").Activate
ActiveCell.Value = 71 + Rnd
' Select cell a1.
Range("E3").Select
For x = 1 To 3500
ActiveCell.Offset(1, 0).Value = ActiveCell.Value - Rnd / 100
ActiveCell.Offset(1, 0).Select
If (ActiveCell.Value > ActiveCell.Offset(0, -1)) Or (ActiveCell.Offset(0, -1) <
20) Then
ActiveCell.Value = ActiveCell.Offset(0, -1)
End If
Next
Range("F3").Select
For x = 1 To 3500
ActiveCell.Value = (ActiveCell.Offset(0, -1).Value - ActiveCell.Offset(0, -
4).Value) / ActiveCell.Offset(0, -2).Value
ActiveCell.Offset(1, 0).Select
Next
' VLOOKUP MODIFIED VALUE
Dim rg As Range
Set rg = Worksheets("PivotTable").Range("A:F")
Worksheets("2G").Select
NumRows2 = Range("U2", Range("U2").End(xlDown)).Rows.Count
' Select cell a1.
Range("U2").Select
' Establish "For" loop to loop "numrows" number of times.
For x = 1 To NumRows2
If ActiveCell.Offset(-1, 0).Text = "#N/A" Then Exit For
lookval = Cells(ActiveCell.Row, 1).Value
ActiveCell.Value = Application.VLookup(lookval, rg, 6, False)
ActiveCell.Offset(1, 0).Select
Next
' Adjust Outage Hours
Range("V2").Select
For x = 1 To NumRows2
If ActiveCell.Offset(0, -1).Text = "" Then Exit For
If ActiveCell.Offset(0, -2) < 2 Then
ActiveCell.Value = ActiveCell.Offset(0, -2).Value
Else
ActiveCell.Value = ActiveCell.Offset(0, -2).Value * ActiveCell.Offset(0, -1).Value
If ActiveCell.Value < 1 Then
ActiveCell.Value = (Rnd() / 10) + 1
ElseIf ActiveCell.Value > 15 Then
ActiveCell.Value = Rnd() + 15
End If
End If
ActiveCell.Offset(1, 0).Select
Next
Worksheets("3G").Select
'==========================Create Pivot Table 3G
Worksheets("PivotTable3G").Range("D2").Activate
'Dim pt As PivotTable
'Dim pf As PivotField
strVal = "Sum of hours2"
Worksheets("PivotTable3G").Range("E3").Activate
ActiveCell.Value = 71 + Rnd
' Select cell a1.
' Establish "For" loop to loop "numrows" number of times.
For x = 1 To 30
ActiveCell.Offset(1, 0).Value = ActiveCell.Value - Rnd - 0.75
ActiveCell.Offset(1, 0).Select
Next
Next
Loop
'End If
For x = 1 To 3500
ActiveCell.Offset(1, 0).Value = ActiveCell.Value - Rnd / 100
ActiveCell.Offset(1, 0).Select
If (ActiveCell.Value > ActiveCell.Offset(0, -1)) Or (ActiveCell.Offset(0, -1) <
20) Then
ActiveCell.Value = ActiveCell.Offset(0, -1)
End If
Next
Range("F3").Select
For x = 1 To 3500
ActiveCell.Value = (ActiveCell.Offset(0, -1).Value - ActiveCell.Offset(0, -
4).Value) / ActiveCell.Offset(0, -2).Value
ActiveCell.Offset(1, 0).Select
Next
' VLOOKUP MODIFIED VALUE
'Dim rg As Range
Set rg = Worksheets("PivotTable3G").Range("A:F")
Worksheets("3G").Select
NumRows2 = Range("U2", Range("U2").End(xlDown)).Rows.Count
' Select cell a1.
Range("U2").Select
Range("V2").Select
For x = 1 To NumRows2
If ActiveCell.Offset(0, -1).Text = "" Then Exit For
If ActiveCell.Offset(0, -2) < 2 Then
ActiveCell.Value = ActiveCell.Offset(0, -2).Value
Else
ActiveCell.Value = ActiveCell.Offset(0, -2).Value * ActiveCell.Offset(0, -1).Value
If ActiveCell.Value < 1 Then
ActiveCell.Value = (Rnd() / 10) + 1
ElseIf ActiveCell.Value > 15 Then
ActiveCell.Value = Rnd() + 15
End If
End If
ActiveCell.Offset(1, 0).Select
Next
Worksheets("PivotTable3G").Range("B2").Activate
'Dim pt As PivotTable
'Dim pf As PivotField
strVal = "Sum of MOD"
'=========Pivot Final 2G
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("PivotTable").Delete
Sheets.Add Before:=ActiveSheet
ActiveSheet.Name = "PivotTable"
Application.DisplayAlerts = True
Set PSheet = Worksheets("PivotTable")
Set DSheet = Worksheets("2G")
Worksheets("PivotTable").Range("B2").Activate
With wsO
For Each pkey In delet
wsO.Range("A1").AutoFilter Field:=1, Criteria1:=pkey
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Do While visibleTotal > 24
wsO.Range("A1").SpecialCells(xlCellTypeVisible).End(xlDown).EntireRow.Delete
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Loop
wsO.ShowAllData
Next pkey
End With
Worksheets("PivotTable3G").Select
cnt = Application.WorksheetFunction.CountIf(Range("B:B"), ">24")
Set delet = ActiveSheet.Range(Cells(NodeB, 1), Cells(cnt, 1))
Set wsO = ThisWorkbook.Sheets("3G")
With wsO
For Each pkey In delet
wsO.Range("A1").AutoFilter Field:=1, Criteria1:=pkey
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Do While visibleTotal > 24
wsO.Range("A1").SpecialCells(xlCellTypeVisible).End(xlDown).EntireRow.Delete
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Loop
wsO.ShowAllData
Next pkey
End With
Worksheets("PivotTable").Select
Worksheets("PivotTable3G").Select
cnt = Application.WorksheetFunction.CountIf(Range("B:B"), ">72")
Set delet = ActiveSheet.Range(Cells(2, 1), Cells(cnt, 1))
Set wsO = ThisWorkbook.Sheets("3G")
With wsO
For Each pkey In delet
wsO.Range("A1").AutoFilter Field:=1, Criteria1:=pkey
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Do While visibleTotal > 72
wsO.Range("A1").SpecialCells(xlCellTypeVisible).End(xlDown).EntireRow.Delete
visibleTotal =
Application.WorksheetFunction.Sum(wsO.Range("V:V").SpecialCells(xlCellTypeVisible))
Loop
wsO.ShowAllData
Next pkey
End With
Application.DisplayAlerts = False
Worksheets("PivotTable3G").Delete
Worksheets("PivotTable").Delete
End Sub