excel - Run time error '1004' No cells were found error -


my code below shows how filter range depends on value of column. whenever tried 2nd case , 3rd case getting runtime error.

hi jeeped, kindly review below edited code:

private sub cmdatsend_click() '************************************************************** 'copy data '**************************************************************  dim myproject string, scriteria string  myproject = inputbox("on sheet wish transfer these data?", "daily alarms tracker", "ono, infinity, or net brazil?")  sheets("daily alarms tracker")      scriteria = vbnullstring     select case myproject          case "infinity", "infinity", "infinity", "inf", "inf"             scriteria = "infinity"         case "ono", "ono", "ono"             scriteria = "ono"         case "net brazil", "net", "net brazil", "net", "net brazil", "net brazil"             scriteria = "net brazil"     end select      if cbool(len(scriteria))         .range("c7:k18")             .autofilter             .autofilter field:=1, criteria1:=scriteria             '.offset(1, 0).resize(.rows.count - 1, .columns.count).select             if cbool(application.subtotal(103, .offset(1, 0).resize(.rows.count - 1, .columns.count)))                 .offset(1, 1).resize(.rows.count - 1, .columns.count - 1).copy             else                 debug.print "nothing matches"             end if         end     end if end  '******************************************************************* 'paste data '*******************************************************************     dim atwb workbook     set atwb = workbooks.open("https://ts.company.com/sites/folder1/folder2/01%20project%20documentations/daily%20alarms%20tracker/daily_alarms_tracker.xlsx")    set atwb = activeworkbook     select case scriteria          case "infinity"             dim irow long                  sheets("infinity")                     erow = .cells(rows.count, "b:b").end(xlup).row + 1                     .cells(irow, "a").pastespecial xlpastevaluesandnumberformats                 end          case "ono"             dim orow long                  sheets("ono")                     erow = .cells(rows.count, "b:b").end(xlup).row + 1                     .cells(orow, "a").pastespecial xlpastevaluesandnumberformats                 end          case "net"             dim nrow long                  sheets("net")                     erow = .cells(rows.count, "b:b").end(xlup).row + 1                     .cells(nrow, "a").pastespecial xlpastevaluesandnumberformats                 end      end select   end sub 

i've added variable store criteria select case , copied values clipboard when there filtered records. .copy on filtered rows copy visible ones.

private sub cmdatsend_click()     dim myproject string, scriteria string, stargetws string     dim wb workbook, atwb workbook      myproject = inputbox("on sheet wish transfer these data?", "daily alarms tracker", "ono, infinity, or net brazil?")      'open target wb direct use later     set wb = activeworkbook     set atwb = workbooks.open("https://ts.company.com/sites/folder1/folder2/01%20project%20documentations/daily%20alarms%20tracker/daily_alarms_tracker.xlsx")      wb.sheets("daily alarms tracker")          scriteria = vbnullstring: stargetws = vbnullstring         select case myproject              case "infinity", "infinity", "infinity", "inf", "inf"                 scriteria = "infinity"                 stargetws = "infinity"             case "ono", "ono", "ono"                 scriteria = "ono"                 stargetws = "ono"             case "net brazil", "net", "net brazil", "net", "net brazil", "net brazil"                 scriteria = "net brazil"                 stargetws = "net"         end select          if cbool(len(scriteria))             .range("c7:k18")                 .autofilter                 .autofilter field:=1, criteria1:=scriteria                 'with .offset(1,0).resize(.rows.count-1, .columns.count)                 if cbool(application.subtotal(103, .offset(1, 0).resize(.rows.count - 1, .columns.count)))                     .offset(1, 1).resize(.rows.count - 1, .columns.count - 1).copy _                       destination:=atwb.sheets(stargetws).cells(rows.count, 2).end(xlup).offset(1, 0)                 else                     debug.print "nothing matches"                 end if             end         end if     end      'you close daily_alarms_tracker workbook here     'atwb.close savechanges:=true      set atwb = nothing     set wb = nothing   end sub 

i'm not sure want values @ end of private sub there may rows copied clipboard. error control in case there no records may appropriate. seem scriteria holds name of destination worksheet.