VBA-从新文件更新主文件
我有一个主文件,用于监控我公司的装运进度。我每周根据现有装运(已在主文件中的装运)的进度进行更新,并输入新装运。这些更新以更新表的形式出现,其格式与主文件相同。我已经自动输入了新的发货,但我一直在思考如何更新现有的发货进度 目前,我根据装运参考号手动执行vlookup。这是一个痛苦的问题,因为有多个装运进度列,我必须遍历每个新输入以删除vlookup公式 例如:装运参考在“C”列,装运提货在“AG”列,发运的装运在“AH”列,到达的装运在“AI”列。。等等在母版纸中,我可能有参考号和取货日期。更新表可能包含此装运的发货日期。我想把发货日期复制到这批货的主文件中 我基本上希望在主文件的每一列中搜索空白,并根据装运引用从更新文件中复制此数据。我无法复制和超越主文件数据,因为我在上周手动添加了大量数据,更新后的文件可能没有或不符合这些数据 谢谢你的帮助 请查看我的尝试代码:VBA-从新文件更新主文件,vba,excel,merge,Vba,Excel,Merge,我有一个主文件,用于监控我公司的装运进度。我每周根据现有装运(已在主文件中的装运)的进度进行更新,并输入新装运。这些更新以更新表的形式出现,其格式与主文件相同。我已经自动输入了新的发货,但我一直在思考如何更新现有的发货进度 目前,我根据装运参考号手动执行vlookup。这是一个痛苦的问题,因为有多个装运进度列,我必须遍历每个新输入以删除vlookup公式 例如:装运参考在“C”列,装运提货在“AG”列,发运的装运在“AH”列,到达的装运在“AI”列。。等等在母版纸中,我可能有参考号和取货日期。更
Sub Eupdatedates()
Dim lr As Long, rw As Long, extRNG As Range
Set wb = Workbooks("masterfile.xlsm")
Set ws = wb.Sheets("RawDATA")
lastRow = ws.Range("B" & ws.Rows.Count).End(xlUp).Row
Set extRNG = Workbooks("updatefile.csv").Worksheets("report").Range("C:AL")
For i = 33 To 38 ' columns which contain dates that need updating
ws.Range("$A$2:$CV$" & lastRow).AutoFilter field:=i, Criteria1:="=" 'filter out cells containing data
lastRow = ws.Range("B" & ws.Rows.Count).End(xlUp).Row ' find last row after filtering
firstRow = Range("Cells(2,i): Column(i)" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row ' indentify first row after filtering
For rw = firstRow To lastRow ' loop through each each empty row cell and perform a vlookup to the update file
Cells(rw, i) = Application.VLookup(Cells(rw, i), extRNG, i - 2, False)
Next rw
Next i
End Sub
我得到了“范围”(单元格(2,I):列(I)的错误"我想我已经在网上查过了,似乎找不到一种方法来定义for循环中的范围。我对VBA很陌生,所以有很多地方需要补充。如果有任何想法,我将不胜感激!!这是VBA的工作。我过去也做过类似的事情,并使用VBA来完成任务,但如果没有作为一个指针,我通常从一张大白纸开始,在开始编写代码之前,按逻辑步骤写出流程
- 有多少行?(我想知道什么时候停)
- 更新表在哪里?它叫什么
- 从第一行开始(行号=1)
- 什么是装运参考号(船号)
- 选择单元格(行号、感兴趣的列号)
- 是否为空?是-根据ship ref和update在更新表中查找相应的值,否-移动到下一个感兴趣的列
- 此行没有更多感兴趣的列?-移动到下一行(行号+1)
- 等等