excel vba - Proper use of Application.Run -


i not sure understand use of application.run. have tried using in 1 of macros, did not see expected change. here setup. have excel add-in runs several macros menu system. 1 of macros copy data extract workbook master workbook. other day, 1 of users had applied filter 1 of columns , did not clear before running copy code. caused data not copy correctly. have researched how run code on master workbook extract workbook clear filter before copy/paste occurs.

to better clarify how need work:

  1. workbook a contains data needs move workbook b
  2. workbook a sort data , remove data not needed in workbook b.
  3. in workbook b have code show data if filter applied upon open , close of workbook.
  4. before copying , pasting data workbook a workbook b, need have workbook a trigger unfilter code in workbook b perform sub in workbook b.

this code extract workbook (workbook a) (that uses add-in):

sub extract_sort_1601_january()  dim ans long  ans = msgbox("is january 2016 swivel master file checked out of sharepoint , open on desktop?", vbyesno + vbquestion + vbdefaultbutton1, "master file open") if ans = vbno or iswbopen("swivel - master - january 2016") = false     msgbox "the required workbook not open. procedure terminate.", vbokonly + vbexclamation, "terminate procedure"     exit sub end if  application.screenupdating = false      ' line autofits columns c, d, o, , p     range("c:c,d:d,o:o,p:p").columns.autofit      ' unhides hidden rows     cells.entirerow.hidden = false  dim lr long      lr = range("b" & rows.count).end(xlup).row 2 step -1         if range("b" & lr).value <> "1"             rows(lr).entirerow.delete         end if     next lr  application.run "'swivel - master - january 2016.xlsm'!unfilter"  activeworkbook.worksheets("extract").sort     .sortfields         .clear         .add key:=range("b2:b2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal         .add key:=range("d2:d2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal         .add key:=range("o2:o2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal         .add key:=range("j2:j2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal         .add key:=range("k2:k2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal         .add key:=range("l2:l2000"), sorton:=xlsortonvalues, order:=xlascending, dataoption:=xlsortnormal     end     .setrange range("a2:ae2000")     .apply end cells.wraptext = false sheets("extract").range("a2").select      dim lastrow integer, integer, erow integer      'with workbooks("swivel - master - january 2016.xlsm").sheets("swivel")         'erow = .cells(.rows.count, 1).end(xlup).offset(1, 0).row         '.range("a2:ae" & erow).autofilter 'leaving arguments blank clears filters, leaves drop-down arrows (filter mode still on)     'end      lastrow = activesheet.range("a" & rows.count).end(xlup).row     = 2 lastrow         if cells(i, 2) = "1"              ' opposed selecting cells, copy them directly             range(cells(i, 1), cells(i, 31)).copy              ' opposed "activating" workbook, , selecting sheet, paste cells directly             workbooks("swivel - master - january 2016.xlsm").sheets("swivel")                 erow = .cells(.rows.count, 1).end(xlup).offset(1, 0).row                 .cells(erow, 1).pastespecial xlpasteall             end             application.cutcopymode = false         end if     next  application.screenupdating = true end sub 

here unfilter code need run on master workbook (workbook b)(this located in module in master workbook):

sub unfilter()      dim variant     each in worksheets          if she.filtermode she.showalldata     next end sub 

am using application.run correctly? or there issue code? not errors. when tested this, data in workbook b remained filtered.

change unfilter sub work directly workbook code resides.

see below:

sub unfilter()      dim variant     each in thisworkbook.worksheets          if she.filtermode she.showalldata     next end sub 

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -