2014-09-19 52 views
0

我正在尝试编写一个脚本来完成几件事情。我使用宏来做基础,但我试图找到其余的代码。我有一个包含15列和许多行的工作表(这个工作表是由另一个程序创建的,每次运行时都会改变)。我必须通过它并删除某些东西。我需要一个脚本,将复制自动过滤的单元格

  1. 删除行2(它总是没用) - 完成
  2. 出栏N个10的宽度 - 完成
  3. 使列d一批5个位数 - 完成
  4. 设置自动筛选 - 完成
  5. 查找所有行O列包含任何空白或“U” --Done
  6. 切割并与原工作表的行粘贴到同一工作簿
  7. 内一个新的
  8. 自动过滤,使M列是为了从最小到最大
  9. 有一个弹出询问最多就是
  10. 剪切和粘贴第一粘贴后,其中M列含有较高的数量比你在弹出窗口中输入任何行, 。
  11. 筛选K列,只显示其中K列包含空白
  12. 按日期把那些为了行,N列
  13. 剪切并粘贴为其中N列包含日期从第一天开始之前的任何行之前(例如今天即2014年3月1日)
  14. 删除第二张工作表中除D和E以外的所有列。

我有所有的操作代码,我只需要获取最大(上面的步骤8)和日期(上面的步骤12)的弹出对话框。我使用了5种不同的脚本。第一个是开始时的格式化步骤(1-4)。第二个是“U”搜索(5-6)。第三个是最大搜索(7-9),第四个是最后搜索(10-12)。第五张在第二张纸上进行清理(13)。

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

+0

欢迎来到StackOverflow。你已经尝试了什么? SO并不是一项免费的软件开发服务,但如果您在寻找解决方案时遇到困难,如果您迄今为止展示了您的进展,我们可以帮助您更好。 – 2014-09-19 20:01:00

回答

1

你在这里要求很多步骤,我的建议是分解你的代码。你有13个不同的事情,你打算做我会分别写每一个。它根据你的代码来看你使用宏记录器来得到你想要的结果,然后逆向工程宏记录器为你生成的和VBA。

所以这里有一个快速的步骤,可以让你走。

我会为了帮助您更我所需要的标签名称创建表,你可以发布一个副本,我会看明天创建一个主类

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 

+0

因为我只是想尽可能地完成,所以我最终做出了几个不同的(1-5,7,10-11,13),我需要弄清楚的是如何让它切割然后将自动过滤器显示的内容粘贴到新的工作表中,并弹出一个弹出窗口询问日期和最大值。那么,把它们连在一起会是现实的吗? – 2014-09-22 13:37:32