VBA 导入数据:根据关键字条件从另一个工作簿导入数据
VBA 代表 Visual Basic for Applications,它是一种编程语言,用于在 Microsoft Office 应用程序(如 Excel、Word、PowerPoint 和 Access)中自动化任务。VBA 允许用户创建自定义宏和函数来操作数据、执行计算和自动化重复性任务。它广泛应用于商业和金融领域,用于数据分析、报表和建模。VBA 还可以用于控制其他应用程序,与数据库通信以及与互联网交互。
'以下代码使用 VBA 实现按条件从指定工作簿的第一个工作表导入数据到当前工作表。
Sub ImportData()
Dim wb As Workbook
Dim ws As Worksheet
Dim i As Long, j As Long
Dim keyword As String
Dim found As Boolean
'指定工作簿路径和关键字
Set wb = Workbooks.Open('C:\Data.xlsx')
keyword = '关键字'
'遍历指定工作簿的第一个工作表
Set ws = wb.Worksheets(1)
For i = 1 To ws.Cells(ws.Rows.Count, 'A').End(xlUp).Row
found = False
'判断当前行是否包含关键字
If InStr(ws.Cells(i, 'A').Value, keyword) > 0 Then
'删除有包含关键字所在行的所有行
ws.Rows(i).Delete
i = i - 1 '由于删除了一行,需要将i减1
found = True
End If
'在本工作表最后一行导入指定工作簿A列有包含关键字的所有行
If Not found And InStr(ws.Cells(i, 'A').Value, keyword) = 0 Then
j = ThisWorkbook.Worksheets(1).Cells(Rows.Count, 'A').End(xlUp).Row + 1
ws.Rows(i).Copy Destination:=ThisWorkbook.Worksheets(1).Rows(j)
End If
Next i
'关闭指定工作簿
wb.Close
End Sub
代码中,首先指定要导入数据的工作簿路径和关键字。然后遍历指定工作簿的第一个工作表,对于每一行,判断是否包含关键字,如果是,则删除该行;如果不是,并且该行的 A 列包含关键字,则将该行复制到当前工作表的最后一行。最后关闭指定工作簿。
原文地址: https://www.cveoy.top/t/topic/jxuu 著作权归作者所有。请勿转载和采集!