尝试创建一个新的Excel工作表,它是具有条件的另一张数据的摘要

时间:2015-03-19 03:58:08

标签: excel excel-vba excel-formula vlookup vba

我有一个大型数据表40列x 10000行我想在新表格中删除,准备导出到csv文件。

主要数据表相关标题是: -

列表|细分|集团|取消订阅|电子邮件|姓氏|名字|手机号码

新表格希望填充列:段,组,电子邮件,姓氏,名字和手机号码,如果"列表"等于一个值(在这种情况下" Motorbike Sales")," Unsubscribed"不等于-1和"电子邮件"不是空白。

起初我尝试了vlookup,但看起来只有在" List"列是唯一值。就我而言,他们有很多"摩托车销售"记录。

我还尝试了一些示例VBA代码,它确实填充了新工作表,但它会花费很长时间并经常崩溃。我也无法解决如何添加我需要的条件。

我的示例代码如下。有人可以帮忙 - 我已经失去了一天半的时间来查看在线示例,教程和书籍。我觉得我错过了一些简单的东西,因为我希望这种分类是常规练习。

提前致谢

Private Sub Workbook_Open()
Dim i, LastRow
LastRow = Sheets("THS Contact Database").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Motorbike Sales").Range("A2:AR10000").ClearContents
For i = 2 To LastRow
If Sheets("THS Contact Database").Cells(i, "A").Value = "Motorbike Sales" Then
Sheets("THS Contact Database").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Motorbike Sales").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End Sub

1 个答案:

答案 0 :(得分:0)

复制整个工作表,在List上过滤以选择并删除所有非Motorbike的行,过滤Unsubscribed以选择并删除所有-1,过滤email 1}}选择并删除所有(空白)。

然后删除列ListUnsubscribed