我的流程首先打开“ExcelReport”,https://app.box.com/s/2ieux0ws9c07k1d5x7rb,这是我的源数据。然后我打开我一直在处理的文件“jmmac2”,https://app.box.com/s/5sd1j11hjp9in7qc57os 我点击导入按钮将源数据输入“jmmac2”,然后点击导出按钮创建发票。它现在正在执行的是通过过滤器行(Dim LastRow2之后的行)执行,但是它不是过滤任何数据,而是隐藏所有行,因此下一行(Set rngUniques ...)不返回任何内容。
理想情况下,“导出”将填充一系列工作表,每个工作表由客户端name_invoice#命名,后续数据将被放入每个发票中。我有一个空白的发票模板作为Sheet2,用于启动每个新发票。每个发票都有一个按钮,可以将信息传输到新的Outlook消息中,然后将选项卡颜色设置为绿色以表示它已被发送。本工作簿中的所有其他宏都运行正常,任何人都可以帮我解决上面的问题吗?它位于“CopyData”宏中。
答案 0 :(得分:0)
如果我从“转换”表中删除命名范围“标准”并更改此项:
Sheets("Convert").Range("K1:K" & LastRow).AdvancedFilter _
Action:=xlFilterInPlace, CriteriaRange:=Range("K2:K" & LastRow), Unique:=True
到此:
Sheets("Convert").Range("K1:K" & LastRow).AdvancedFilter _
Action:=xlFilterInPlace, Unique:=True
然后它适合我。
答案 1 :(得分:0)
我相信CopyData第12行的范围选择只需要" K2:K" &安培; LastRow而不是" K1:K" &安培; LASTROW。
尝试更改此内容:
Sheets("Convert").Range("K1:K" & LastRow).AdvancedFilter _
Action:=xlFilterInPlace, CriteriaRange:=Range("K2:K" & LastRow), Unique:=True
对此:
Sheets("Convert").Range("K2:K" & LastRow).AdvancedFilter _
Action:=xlFilterInPlace, CriteriaRange:=Range("K2:K" & LastRow), Unique:=True