VBA 实现覆盖导入数据

VBA可以使用以下代码实现覆盖导入数据:

Sub ImportData()
    Dim filePath As String
    Dim sheetName As String
    Dim targetSheet As Worksheet

    ' 设置导入文件路径和工作表名称
    filePath = 'C:\Data\SampleData.xlsx'
    sheetName = 'DataSheet'

    ' 检查文件是否存在
    If Dir(filePath) = "" Then
        MsgBox '文件不存在!'
        Exit Sub
    End If

    ' 设置目标工作表
    Set targetSheet = ThisWorkbook.Sheets('ImportData')

    ' 清空目标工作表
    targetSheet.Cells.ClearContents

    ' 导入数据
    Workbooks.Open filePath
    Sheets(sheetName).Range('A1').CurrentRegion.Copy targetSheet.Range('A1')
    Workbooks(filePath).Close False

    MsgBox '数据导入成功!'
End Sub

该代码将打开指定的Excel文件,将其指定工作表中的数据复制到当前工作簿的指定工作表中,并覆盖现有数据。在使用该代码之前,请确保已将文件路径和工作表名称替换为实际值。

VBA 标识添加数据

VBA可以使用以下代码实现标识添加数据,并在返回值为#N/A时返回空白值:

Sub 标识添加()
    Dim wb As Workbook
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim last_row As Long
    
    ' 设置工作簿、工作表和最后一行
    Set wb = ActiveWorkbook
    Set ws1 = wb.Worksheets(1)
    Set ws2 = wb.Worksheets(2)
    last_row = ws1.Cells(Rows.Count, 'A').End(xlUp).Row
    
    ' 循环遍历M列
    For i = 2 To last_row Step 1
        ' vlookup:文化产业
        Dim vlookup_result As Variant
        vlookup_result = Application.VLookup(ws1.Cells(i, 'CN').Value, ws2.Range('L:M'), 2, False)
        
        If IsError(vlookup_result) Then
            ' 如果返回值为#N/A,则将GW列设置为空白值
            ws1.Cells(i, 'GW').Value = ""
        Else
            ws1.Cells(i, 'GW').Value = vlookup_result
        End If
    Next i
End Sub

该代码将在第一个工作表中的每一行中查找第三列(CN列)的值,并在第二个工作表中的L和M列中查找匹配项。如果找到匹配项,则将第二列的值(M列)添加到第一个工作表中的GW列中。如果返回值为#N/A,则将GW列设置为空白值。在使用该代码之前,请确保已将工作簿、工作表和列名称替换为实际值。

注意:

  • 代码中使用了单引号 ' 将字符串括起来。
  • 在使用代码之前,请确保已将文件路径、工作表名称和列名称替换为实际值。
  • 代码示例仅供参考,实际应用中可能需要根据具体需求进行调整。
VBA 覆盖导入数据和标识添加数据

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

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