-1

我的过程首先打开“ExcelReport”,https: //app.box.com/s/2ieux0ws9c07k1d5x7rb ,这是我的源数据。然后我打开我一直在处理“jmmac2”的文件,https: //app.box.com/s/5sd1j11hjp9in7qc57os 我点击导入按钮将源数据导入“jmmac2”,然后点击导出按钮创建发票。它现在所做的是通过过滤器行(Dim LastRow2 之后的行)执行,但不是过滤任何数据,而是隐藏所有行,因此下一行 (Set rngUniques...) 不返回任何内容。

理想情况下,“导出”将填充一系列工作表,每个工作表都由客户 name_invoice # 命名,随后的数据将被放入每个发票中。我有一个作为 Sheet2 的空白发票模板,用于开始每张新发票。每张发票都有一个按钮,可以将信息传输到新的 Outlook 邮件中,然后将选项卡涂成绿色以表示已发送。本工作簿中的所有其他宏都运行良好,谁能帮我解决上述问题?它位于“CopyData”宏中。

4

2 回答 2

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

然后它对我有用。

于 2014-08-04T04:06:42.433 回答
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
于 2014-08-05T20:12:59.297 回答