如果存在则更新,否则插入

时间:2019-01-14 05:49:20

标签: excel vba insert updates

我遇到一种情况,我会尽力解释。

我得到了带有两张纸的Excel文件(纸页1-模板,纸页2-DB)。经理使用模板,后者按月指定年度目标。在陈述并批准目标之后,数据将被复制并粘贴到DB中。但是有时候经理可以在批准步骤后更改目标。

在这一点上,我需要如果在Template上声明的数据存在于DB,Update上,否则请插入新行。实际上,我编写了插入行的代码,但无法编写正确的代码进行检查。请帮助我解决这个问题。

Sub MonthlyTargetDB()

Application.ScreenUpdating = False

Dim Target As Workbook:         Set Target = ThisWorkbook
Dim Tmpl As Worksheet:          Set Tmpl = Target.Worksheets("Template")
Dim DB As Worksheet:            Set DB = Target.Worksheets("DB")
Dim i As Integer:               i = DB.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
Dim j As Integer:               j = DB.Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row

Tmpl.Range("A5").Copy
DB.Range(DB.Range("A" & i), DB.Range("A" & i + 11)).PasteSpecial (xlPasteValues)

Tmpl.Range("B5").Copy
DB.Range(DB.Range("B" & j), DB.Range("B" & j + 11)).PasteSpecial (xlPasteValues)


Tmpl.Range(Tmpl.Range("A8"), Tmpl.Range("B8").End(xlDown)).Copy
DB.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValuesAndNumberFormats)

Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

0 个答案:

没有答案