VBA 覆盖导入数据和标识添加数据
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列设置为空白值。在使用该代码之前,请确保已将工作簿、工作表和列名称替换为实际值。
注意:
- 代码中使用了单引号 ' 将字符串括起来。
- 在使用代码之前,请确保已将文件路径、工作表名称和列名称替换为实际值。
- 代码示例仅供参考,实际应用中可能需要根据具体需求进行调整。
原文地址: https://www.cveoy.top/t/topic/jDUl 著作权归作者所有。请勿转载和采集!