My code creates a new sheet as per below code which is ws2 where I have a table extracted from ws1. I want to place a pivot table on the same sheet ws2 in cell "L4" as per bottom part of the code, but it would not work.
Sub ClickThisMacro() Dim i As Long Dim y As Long Dim n As Long Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Report") Dim ws2 As Worksheet: Set ws2 = Sheets.Add Set rng1 = ws1.Range("A:A").Find("Name") fr = rng1.Row lr = ws1.Range("B" & Rows.Count).End(xlUp).Row y = 2 For i = fr + 1 To lr ws2.Cells(y, 1) = ws1.Cells(i, 1) ws2.Cells(y, 2) = ws1.Cells(i, 2) ws2.Cells(y, 3) = ws1.Cells(i, 3) ws2.Cells(y, 4) = ws1.Cells(i, 4) ws2.Cells(y, 5) = ws1.Cells(i, 18) y = y + 1 Next i ws2.Cells(1, 1) = "Cost centre name" ws2.Cells(1, 2) = "Cost centre code" ws2.Cells(1, 3) = "Phone number" ws2.Cells(1, 4) = "User name" ws2.Cells(1, 5) = "Amount" LastRow = ws2.Range("A1").End(xlDown).Row ' making columns C and F numbers ws2.Range("C2:C" & LastRow).Select For Each xCell In Selection xCell.Value = xCell.Value Next xCell With ws2.UsedRange.Columns(5) .Replace "£", "", xlPart .NumberFormat = "#,##0.00" .Formula = .Value End With With ws2.UsedRange.Columns(8) .Replace "£", "", xlPart .NumberFormat = "#,##0.00" .Formula = .Value End With 'Pivot table Dim mypivot As PivotTable Dim mycache As PivotCache Set mycache = ws2.PivotCaches.Create(xlDatabase, Range("a1").CurrentRegion) Set mypivot = ws2.PivotTables.Add(mycache.Range("l4"), "Mypivot1") mypivot.PivotFields("Cost centre name").Orientation = xlRowField mypivot.PivotFields("Cost centre code").Orientation = xlColumnField mypivot.PivotFields("Amount").Orientation = xlDataField End Sub