Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel脚本-将列表拆分为3页_Vba_Excel - Fatal编程技术网

Vba Excel脚本-将列表拆分为3页

Vba Excel脚本-将列表拆分为3页,vba,excel,Vba,Excel,我每个月都会运行一份电子邮件地址报告,并根据每个地址的域,在同一工作簿中将该列表分成3张不同的表格。每行包含大约5列数据,因此必须将整行移到下一个工作表中 它看起来像这样: 如果B列包含“@aaaaaa.com”,则在第1页保留行。 如果B列包含“@bbbb.com”,则将整行移至第2页。 如果B列包含“@cccc.com”,则将整行移至第3页。 检查下一行 最后,我需要3张单独的表格,其中包含三个域电子邮件地址的列表。我现在用手来做这个,当我现在有更好的方法时,通过400多行太单调了。在此方面

我每个月都会运行一份电子邮件地址报告,并根据每个地址的域,在同一工作簿中将该列表分成3张不同的表格。每行包含大约5列数据,因此必须将整行移到下一个工作表中

它看起来像这样:

如果B列包含“@aaaaaa.com”,则在第1页保留行。

如果B列包含“@bbbb.com”,则将整行移至第2页。

如果B列包含“@cccc.com”,则将整行移至第3页。 检查下一行


最后,我需要3张单独的表格,其中包含三个域电子邮件地址的列表。我现在用手来做这个,当我现在有更好的方法时,通过400多行太单调了。在此方面的任何帮助都将不胜感激

这应该足够让你开始了

Sub split()

Dim lastrow As Integer
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim domain As String
Dim a As String
Dim b As String
Dim c As String

Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)

a = "aaaaaa.com"
b = "bbbbbb.com"
c = "cccccc.com"

lastrow = ws1.Cells(ws1.Rows.Count, "B").End(xlUp).Row

ws1.Select

For i = 1 To lastrow

    domain = Right(Cells(i, 2), 10)

    If domain = b Then

        Rows(i).Copy
        ws2.Cells(i, 1).PasteSpecial

    End If

Next i

End Sub

至少先使用宏录制器,然后在这里发布代码,然后寻求帮助…是的,您可以使用VBA来完成,但现在您只希望我们为您完成这项工作。这不是一个好办法。在这里,我们想帮助那些表现出努力的人。你应该先发布你的代码!到目前为止,您在VBA中做了哪些工作?也许我们能帮上忙。谢谢WhiteCat。这告诉我,至少我可以使用VBA来实现这一点。我会做一些研究,然后写我自己的代码。当我有东西的时候,我会给你运行它。你也可以用pivot&pivot过滤器来完成这项工作。到目前为止,你的回答是最有帮助的!这是一个很好的起点。