У меня есть одна ситуация, и я попытаюсь объяснить ее.
Я получил файл Excel с двумя листами (Sheet 1-Template, Sheet 2-DB). Шаблон используется менеджером, который назначает годовые цели на ежемесячной основе. После определения и утверждения целей данные будут скопированы и вставлены в БД. Но иногда менеджер может изменить цели после утверждения шага.
В этом пункте мне нужно, чтобы, если данные, указанные в Шаблоне, существовали в БД, Обновить, в противном случае вставлять новые строки. На самом деле я написал код для вставки строк, но я не мог написать правильный код для проверки. Пожалуйста, помогите мне в этом вопросе.
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