Hi - I have workbookt1 that has all of my data in it, and workbook2 that i want to use a tracker. The code i'm using is below. Is there a way to use the sheet name a a variable in place of "Apple" and "Pear"? Both workbooks have the same sheet names and ideally the code would put the totals on the corresponding sheet in workbook 2. I'm also having an issue with my nextrow language...it's not going to the next row, it's using the same row each time the code is run.
Dim WB As Workbook On Error Resume Next Set WB = Workbooks("Workbook2.xlsm") If Err <> 0 Then On Error GoTo 0 Workbooks.Open ("Workbook2.xlsm") End If Dim wbT As Workbook Dim wsT As Worksheet Set wbT = Workbooks("Workbook2.xlsm") Set wsT = wbT.Worksheets("Sheet1") With wsT NxtRw = .Cells(Rows.Count, 1).End(xlUp).Row + 1 End With With Sheet1 Dim x As Long x = .Range("A" & Rows.Count).End(xlUp).Row If x < 1 Then x = 1 wsT.Range("B" & NxtRw) = Application.WorksheetFunction.CountIf(.Range("J2:J" & x), "Apple") + Application.WorksheetFunction.CountIf(.Range("J2:J" & x), "Pear") End With With Sheet23 Dim cnt As Integer cnt = 0 For i = 1 To x If .Cells(i, 14).Value = "Apple" And .Cells(i, 13).Value = "Green" Then cnt = cnt + 1 End If Next i End With wsT.Range("E" & NxtRw).Value = cnt With Sheet23 Dim scr As Integer scr = 0 For j = 1 To x If .Cells(j, 14).Value = "Apple" And .Cells(j, 3).Value <= "50" Then scr = scr + 1 End If Next j End With wsT.Range("C" & NxtRw).Value = scr