From Static Goals to Dynamic Charts: Transform Your Spreadsheet WorkflowHi everyone! I'm back with my latest question in my journey to maximize excel's usefulness in my office!
Currently, I'm trying to figure out how to autofill a table and from there auto convert to a chart.
To explain: The spreadsheet is tracking productivity goals for our employees (specifically the goals are to move x amount of clients into different statuses each month). As the employees complete these tasks, they are posting a message in a central teams chat with the information status, client name, client number, caseload, and the date. Once a week, management goes through the chat and copies and pastes the information into a spreadsheet broken up by employee and status.
Every month, they use the data from that sheet to fill in a chart that counts them and calculates percentage of the goals met.
Management asked me to find a way to take the monthly task of filling in the chart off their hands by making that automated. The way I was going to do this was to convert their sheet into a table and then use the table to create the chart. However, upon opening the spreadsheet, I see how much management has been just copy and pasting the raw data underneath each caseload's heading. I don't want to make more work for them by making them fill in the table, so I'm trying to find a way to automate this to. I thought about text to columns, but everyone's doing things slightly differently in their posts in the teams chat so that makes this a little difficult.
The status is pretty universally first with a dash between that and the name with is almost universally second. After that some people are not including separation between name and client number, some people are using commas, some people are using dashes, some people are using a pound sign, and some people are putting the leading zeros. So it's really messy. Obviously, I can ask management to set the expectation that this be uniform and they would be happy to do that. But I want to see if there's a way we can do this easily without changing the already existing process.
Does anyone have ideas?
Thank you for reading all of this and helping!!
submitted by /u/tashykat
[link] [comments]
Stop Your XLOOKUP From Shifting When Macros RunHey everyone,
I have my main table where I want to display the cleaned up data.
Essentially I'm using xlookup references from sheet two.
When I run my macro in sheet two, for some reason my xlookup on sheet 1 moves over every single time.
For example... this is what the xlookup formula looks at before vs after the Macro
Before Macro - =XLOOKUP(A3,MTD!$A$3:$A$15,MTD!$B$3:$H$15)
After Macro - =XLOOKUP(A3,MTD!$A$3:$A$15,MTD!$B$3:$F$15)
Why would it move from H15 to F15? I'm a little lost why that would be.
Sub Macro5()
'
' Macro5 Macro
'
'
Range("A2").Select
ActiveCell.FormulaR1C1 = "Market"
Range("B2").Select
ActiveCell.FormulaR1C1 = "Date"
Range("E2:J16").Select
Selection.Cut
Range("C2").Select
ActiveSheet.Paste
Range("A2:H2").Select
Selection.Copy
Range("A19").Select
ActiveSheet.Paste
Windows("Overview Bullet-MTD.csv").Activate
Application.Left = 1551.25
Application.Top = 147.25
Windows("Weekly Exec Updates - Lead Pacing (Working File) (1).xlsx").Activate
Range("A20").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "MO"
Range("A21").Select
ActiveCell.FormulaR1C1 = "LA"
Range("A22").Select
ActiveCell.FormulaR1C1 = "AR"
Range("A23").Select
ActiveCell.FormulaR1C1 = "MS"
Range("B20").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-17]C[-1]:R[-4]C[-1],R[-17]C:R[-4]C[6])"
Range("B20").Select
Selection.AutoFill Destination:=Range("B20:B23"), Type:=xlFillDefault
Range("B20:B23").Select
Range("B21").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-18]C[-1]:R[-5]C[-1],R[-18]C:R[-5]C[6])"
Range("B22").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-19]C[-1]:R[-6]C[-1],R[-19]C:R[-6]C[6])"
Range("B23").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-20]C[-1]:R[-7]C[-1],R[-20]C:R[-7]C[6])"
Range("B3:B16").Select
Selection.NumberFormat = "m/d/yyyy"
Range("E3:E16").Select
Selection.NumberFormat = "0.0%"
Selection.NumberFormat = "0%"
Range("G3:G16").Select
Selection.NumberFormat = "0.0%"
Selection.NumberFormat = "0%"
Range("C20:D23").Select
Selection.NumberFormat = "#,##0"
Range("F20:F23").Select
Selection.NumberFormat = "#,##0"
Range("G20:G23").Select
Selection.Style = "Percent"
Sheets("YTD").Select
Windows("Overview Bullet-YTD.csv").Activate
Windows("Weekly Exec Updates - Lead Pacing (Working File) (1).xlsx").Activate
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Range("M2:M16").Select
Selection.Cut
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("D2").Select
ActiveSheet.Paste
Range("D2").Select
ActiveCell.FormulaR1C1 = "Actual Leads"
Range("K2:K16").Select
Selection.Cut
Range("E2").Select
ActiveSheet.Paste
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Range("L2:L16").Select
Selection.Cut
Range("F2").Select
ActiveSheet.Paste
Range("H2:H16").Select
Selection.Cut
Range("G2").Select
ActiveSheet.Paste
Range("I2:V17").Select
Selection.ClearContents
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A2:G2").Select
Selection.Copy
Range("A22").Select
ActiveSheet.Paste
Range("A23").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "MO"
Range("A24").Select
ActiveCell.FormulaR1C1 = "LA"
Range("A25").Select
ActiveCell.FormulaR1C1 = "AR"
Range("A26").Select
ActiveCell.FormulaR1C1 = "MS"
Range("B23").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-20]C[-1]:R[-7]C[-1],R[-20]C:R[-7]C[5])"
Range("B23").Select
Selection.AutoFill Destination:=Range("B23:B26"), Type:=xlFillDefault
Range("B23:B26").Select
Range("B24").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-21]C[-1]:R[-8]C[-1],R[-21]C:R[-8]C[5])"
Range("B25").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-20]C[-1]:R[-7]C[-1],R[-20]C:R[-7]C[5])"
Range("B25").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-22]C[-1]:R[-9]C[-1],R[-22]C:R[-9]C[5])"
Range("B26").Select
ActiveCell.Formula2R1C1 = _
"=XLOOKUP(RC[-1],R[-23]C[-1]:R[-10]C[-1],R[-23]C:R[-10]C[5])"
Range("A2:G16").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$G$16").AutoFilter Field:=1, Criteria1:=Array("AL", _
"CA", "HI", "NM", "NNE", "OHWVKY", "PA", "TW", "TX"), Operator:=xlFilterValues
Range("A3").Select
ActiveWorkbook.Worksheets("YTD").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("YTD").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"A2:A16"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("YTD").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("MTD").Select
Range("A2:H16").Select
Selection.AutoFilter
Range("A3").Select
ActiveSheet.Range("$A$2:$H$16").AutoFilter Field:=1, Criteria1:=Array("AL", _
"CA", "HI", "NM", "NNE", "OHWVKY", "PA", "TW", "TX"), Operator:=xlFilterValues
ActiveWorkbook.Worksheets("MTD").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("MTD").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"A2:A16"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("MTD").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
submitted by /u/_mavricks
[link] [comments]