2014-07-21 37 views
0

对于Excel,我是一个完全新手,我已经Google了它,并且提出了一些我不明白的反应。其中大部分是我需要在Visual Basic中完成的事情?Excel:如果单元格包含值,则将行复制到新选项卡

基本上我想要为单个用户设置多个选项卡,这些选项卡是从主选项卡生成的。所有这些都已经建立起来了。

所以如果行R上的主片具有NO(人首字母缩写) 复制此行的尼克选项卡(将有20个多行的每个用户,不知道这改变任何东西)

任何帮助将令人难以置信和大量赞赏!

感谢, 尼克

+0

你知道如何在Excel VBA中编写宏吗? – RBarryYoung

+0

嗨,我从来没有在Excel中写过宏。 – Nick

回答

1

则很可能通过录制宏得到一个开始。这里有一个关于如何做到的链接:http://office.microsoft.com/en-us/excel-help/create-or-delete-a-macro-HP010342374.aspx#BMrecordmacro。点击记录后,开始做手动完成的工作。这会向你展示一些语法。在这种情况下,将摘要数据格式化为表格,按每个人的姓名首字母缩写进行过滤,然后将结果复制到单个选项卡中可能最为容易。您录制的代码很可能将是这个样子:

Sub CopyNO() 
ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _ 
    "NO" 
Range("Table1[#All]").Select 
Selection.Copy 
Sheets("NO").Select 
Range("A2").Select 
ActiveSheet.Paste 
End Sub 

要清理您录制的代码,你会想尝试改变任何ActiveSheet说要像表(“SHEETNAME”),并理想情况下,通过改用实际完成的选择来摆脱任何.Select命令。在这里你可能会得到类似的结果:

Sub CopyNO() 
Sheets("Summary").ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _ 
    "NO" 
Worksheets("Summary").Range("Table1").Copy _ 
    Destination:=Worksheets("NO").Range("A5") 
End Sub 
相关问题