我有一个大型数据表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
答案 0 :(得分:0)
复制整个工作表,在List
上过滤以选择并删除所有非Motorbike
的行,过滤Unsubscribed
以选择并删除所有-1
,过滤email
1}}选择并删除所有(空白)。
然后删除列List
和Unsubscribed
。