当前位置:首页 > 经验 >

excel表格如何快速删除特定数据(excel表格怎么一键删除表格内数据)

来源:原点资讯(www.yd166.com)时间:2022-11-06 03:01:07作者:YD166手机阅读>>

大家好,我们今日继续讲解VBA数据库解决方案的第25讲内容:利用VBA,把工作表中提供的数据在数据表中批量删除的方法。在上一讲中,我们讲了实现在数据表中删除记录的一般方法,这种方法可以对重复的数据进行处理,但实际的情况是,我们的数据记录很多时候是没有重复的,而且如果数据量很大,该怎么处理呢?今日我们就讲解如何在记录集中批量删除给定记录的方法。

实例:我们有一个员工的信息表,导出的数据如下:

excel表格如何快速删除特定数据,excel表格怎么一键删除表格内数据(1)

在工作实际中我们需要删除其中的100014,100015,100017,100018,的记录,当然还可以更多,如下表格是需要在数据库中删除的数据信息:

excel表格如何快速删除特定数据,excel表格怎么一键删除表格内数据(2)

也就是说我们要删除的数据中是以员工编号为索引的记录,这个时候需要如何处理?代码该如何写呢?如果仍采用上讲的办法也是可以的,但今天我们将介绍一种新的方法。代码如下:

Sub mynzCreateDataTable_3() '第25讲 利用VBA把工作表中提供的数据在数据表中批量删除的方法

Dim cnADO, rsADO As Object

Dim strPath, strTable, strWhere, strSQL, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "\mydata2.accdb"

strTable = "员工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

'汇报给用户记录数

MsgBox "删除前记录数为:" & rsADO.RecordCount

rsADO.Close

strWhere = " WHERE EXISTS(" _

& "SELECT * FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" _

& Range("a1").CurrentRegion.Address(0, 0) & "] " _

& "WHERE 员工编号=" & strTable & ".员工编号)"

strSQL = "SELECT 员工编号 FROM " & strTable & strWhere

rsADO.Open strSQL, cnADO, 1, 3

If rsADO.RecordCount > 0 Then

strSQL = "DELETE FROM " & strTable & strWhere

cnADO.Execute strSQL

MsgBox rsADO.RecordCount & "条记录被删除。", vbInformation, "提示"

Else

MsgBox "没有发现需要删除的记录。", vbInformation, "提示"

End If

rsADO.Close

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

'汇报给用户记录数

MsgBox "删除后记录数为:" & rsADO.RecordCount

'释放内存

rsADO.Close

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代码截图:

excel表格如何快速删除特定数据,excel表格怎么一键删除表格内数据(3)

代码讲解:

1 Dim cnADO, rsADO As Object

Dim strPath, strTable, strWhere, strSQL, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "\mydata2.accdb"

strTable = "员工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

'汇报给用户记录数

MsgBox "删除前记录数为:" & rsADO.RecordCount

rsADO.Close

在上述的代码中我们用的是后期绑定的方法,建立了ADO连接,并且汇报当前的记录数,

2 strWhere = " WHERE EXISTS(" _

& "SELECT * FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" _

& Range("a1").CurrentRegion.Address(0, 0) & "] " _

& "WHERE 员工编号=" & strTable & ".员工编号)"

strSQL = "SELECT 员工编号 FROM " & strTable & strWhere

rsADO.Open strSQL, cnADO, 1, 3

If rsADO.RecordCount > 0 Then

strSQL = "DELETE FROM " & strTable & strWhere

cnADO.Execute strSQL

MsgBox rsADO.RecordCount & "条记录被删除。", vbInformation, "提示"

Else

MsgBox "没有发现需要删除的记录。", vbInformation, "提示"

End If

rsADO.Close

上述代码用了一个WHERE语句把EXCEL工作表和数据表进行了连接,并打开了符合要求的记录集。关于EXCEL的连接方式,在这本书中有介绍,这里不再多说,打开记录后仍旧用DELETE的方法进行删除,之后弹出对话框告诉用户删除的数量。

下面我们看运行情况:

上述代码在执行过程中首先会提示删除数据前的记录数:

excel表格如何快速删除特定数据,excel表格怎么一键删除表格内数据(4)

首页 12下一页

栏目热文

excel表格怎么删除所有数据(excel表格怎么删除大量数据)

excel表格怎么删除所有数据(excel表格怎么删除大量数据)

在日常工作中,我们经常需要对excel表格数据进行大量的增删改等编辑操作,今天就来和大家分享一个如何在excel表格中快...

2022-11-06 02:51:48查看全文 >>

excel快速删除大量表格数据快捷键(excel如何快速删除大量表格内容)

excel快速删除大量表格数据快捷键(excel如何快速删除大量表格内容)

我们用Excel表格的时候,经常会碰到表格中有许多杂乱的图片,通常我们在删除这些图片的时候,一般的人都是一个个点击进行删...

2022-11-06 02:22:28查看全文 >>

excel表格怎么快速删除大量数据(excel表格怎么删除大量数据)

excel表格怎么快速删除大量数据(excel表格怎么删除大量数据)

Excel表格中的数据有大量重复值我们在上一篇文章中讲解了如何查找数据重复值哪假如重复的数值很多,一下子出现几十个重复的...

2022-11-06 02:48:06查看全文 >>

水芹怎样腌制好吃(野水芹菜怎样腌制才好吃)

水芹怎样腌制好吃(野水芹菜怎样腌制才好吃)

#绪刚说事#【野生水芹菜,腌制浆水菜的好原料】渭南华州俩老太太摆摊叫卖,一块钱一把;这种野生水芹菜,是窝浆水的最佳选择!...

2022-11-06 02:19:05查看全文 >>

麦芹腌制方法(北方芹菜腌制方法)

麦芹腌制方法(北方芹菜腌制方法)

你有没有过一瞬间,就特别想吃点什么,不是饿的那种,就只是单纯的嘴馋想吃点!尤其是在晚上!但是就是不知道吃什么,其实这就是...

2022-11-06 02:49:46查看全文 >>

excel表格怎么快速删除不要的数据(excel去掉多余无限多空白列)

excel表格怎么快速删除不要的数据(excel去掉多余无限多空白列)

Excel数据处理,有时会出现一些无意义的0 ,那么怎么快速删除这些无用数据,今天我们来讲一个快捷方法。以实例来讲,下图...

2022-11-06 02:40:28查看全文 >>

excel表格批量删除指定数据(excel批量删除指定内容的所有数据)

excel表格批量删除指定数据(excel批量删除指定内容的所有数据)

如下图分表有成千上万份,如果一个一个删除得用多长时间呢,难以想象,先看动图演示,看小编是怎么解决的吧(方方格子插件)1....

2022-11-06 02:31:11查看全文 >>

excel表格怎样删除大量数据(excel如何一次删除大量表格数据)

excel表格怎样删除大量数据(excel如何一次删除大量表格数据)

Excel名称是什么?你也许没有了解过它,但你很可能用过它。它有什么用呢?示例1在介绍Excel名称之前,先抛一个问题给...

2022-11-06 02:54:19查看全文 >>

excel表格怎么删除单独数据(excel如何单独删除表格)

excel表格怎么删除单独数据(excel如何单独删除表格)

处理数据的过程中我们经常会碰到的一件事件,那就是如何快速查找删除重复数据。因为有重复数据的存在,所以对我们的工作效率都会...

2022-11-06 02:39:11查看全文 >>

excel如何一次删除大量表格数据(excel表格怎么一键删除表格内数据)

excel如何一次删除大量表格数据(excel表格怎么一键删除表格内数据)

在Excel中删除图片,本来是个很简单的操作,选中图片之后按删除键即可删除。但是,Excel中的图片数量非常多的话,你想...

2022-11-06 02:37:21查看全文 >>

文档排行