【发布时间】:2015-04-21 10:19:27
【问题描述】:
我对此很陌生,我已经阅读了大量教程,但我似乎无法掌握如何在 excel VBA 中实现此结果的概念。我会尽量详细一点。
我有一个包含 3 个 Excel 文件的文件夹 -
- Script.xlsx(只是一个保存脚本/宏的按钮)
- WhiteCrown.xlsx(我要从中复制数据的工作簿)
- PackCon.xlsx(我希望将数据粘贴到的工作簿)
概念: 如果 Workbook ("WhiteCrown.xlsx") 包含 B5:B10000 列中的值 = Workbook ("PackCon.xlsx") 列 B5:B10000 AND Workbook ("WhiteCrown.xlsx") 包含列 E 中的值
有 2 个单元格我不想复制 E 的值 - "soy-milk" "Pepsi-max"
检查将循环到 b 列 达到10000
:) 提前感谢
Sub ConvertData()
Dim i As Integer, n As Integer
Dim Desc As Range, ExDesc As Range
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim rngLookup As Range
Dim v
Application.ScreenUpdating = False
Set wb1 = Workbooks.Open("C:\Users\amir.abdul\Desktop\Completed\New folder\WhiteCrown.xlsx")
Set ws1 = wb1.Sheets("BOMQ")
Set wb2 = Workbooks.Open("C:\Users\amir.abdul\Desktop\Completed\New folder\PackCon.xlsx")
With wb2.Sheets("("BOMQ")")
Set rngLookup = .Range(.Cells(7, 2), _
.Cells(7, 2).End(xlDown)).Resize(, 3)
End With
With ws1
i = 7
Do Until .Cells(i, 2) = ""
v = Application.VLookup(.Cells(i, 2).Value, rngLookup, 3, False)
If Not IsError(v) Then .Cells(i, 4).Value = v
i = i + 1
Loop
End With
wb2.Close False
End Sub
*脚本已更新但仍无法正常工作
【问题讨论】:
-
请展示您已经尝试过的内容。
-
到目前为止你尝试过什么代码?尝试对您解释的逻辑进行编码,然后将问题发回。
-
您是否尝试过录制宏并手动执行操作以查看
VBAExcel 创建了什么? -
我将从计算机登录以添加我的脚本,因为它不允许我通过手机添加它。我基本上经历了一堆完成类似任务的教程,但我无法得到我想要的结果......请给我一点时间,因为我目前正在旅途中。
-
我已经尝试过宏,但它无法正确验证正在复制的数据