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 列包含关键字,则将该行复制到当前工作表的最后一行。最后关闭指定工作簿。

VBA 导入数据:根据关键字条件从另一个工作簿导入数据

原文地址: https://www.cveoy.top/t/topic/jxuu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录