复制自动过滤的单元格

我试图写一个脚本,将做几件事情。 我用macros来做基础,但是我正在尝试为其余的代码find代码。 我有一个15列和许多行的工作表(这个工作表是由另一个程序,每当我运行它会改变)。 我必须通过它并删除某些东西。 我需要一个脚本

  1. 删除第2行(它总是没用) – 完成
  2. 给列N的宽度10 – 完成
  3. 使列D 5位数 – 完成
  4. 设置自动filter – 完成
  5. 查找列O包含空白或“U” – 完成的所有行
  6. 将原始工作表中的这些行剪切并粘贴到同一工作簿中的新行中
  7. 自动filter,使列M从最小到最大
  8. 有一个popup式询问什么是最大值
  9. 在第一次粘贴之后,剪切并粘贴M列中包含的数字大于popup窗口中input数字的行。
  10. 过滤K列仅显示K列包含空白的行
  11. 把那些按date排列,N列
  12. 剪切和粘贴之前的行N列中包含六个月前的第一天之前的date(例如,今天,这将是2014年3月1日)
  13. 删除第二个工作表中的所有列,但是D和E.

我有代码的所有行动,我只需要得到popup对话框的最大(上面的第8步)和date(上面的第12步)。 我已经使用了5个不同的脚本。 第一个是开始时的格式化步骤(1-4)。 第二个是“U”search(5-6)。 第三个是最大search(7-9),第四个是最后search(10-12)。 第五个在第二张纸(13)上进行清理。

我会假设当我得到的对话框,我将分配在对话框中给出的答案variables,并在代码中使用? 我会怎么做呢?

你在这里要求很多步骤,我的build议是分解你的代码。 你有13个不同的东西,你打算做我会写每个人单独。 在我看来,根据你的代码,你正在使用macroslogging器来得到你想要的结果,然后逆向工程什么macroslogging器生产和你的VBA。

所以这是一个可以让你走的快速步骤。

我会创build一个主类

Sub Main() call Macro4() End Sub Sub Macro4() ' ' Macro4 Macro ' ' 'Delete Row 2 Rows("2:2").Select Selection.Delete Shift:=xlUp Range("N6").Select 'Show full dates Columns("N:N").EntireColumn.AutoFit 'Engage Autofilter Selection.AutoFilter 'Make the Account Number format 5 digits Columns("D:D").Select Selection.NumberFormat = "00000" 'Show All in Column O (single status) to be deleted ActiveWorkbook.Worksheets("50100").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("50100").AutoFilter.Sort.SortFields.Add Key:=Range( _ "O1:O4222"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("50100").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("O5").Select ActiveSheet.Range("$A$1:$O$10000").AutoFilter Field:=15, Criteria1:="=U", _ Operator:=xlOr, Criteria2:="=" End Sub 

为了更多地帮助你,我需要你的表格名称,你可以发表一个副本,我会看看明天。