VBA проверяет значение (shell-ID) из Sheet1 и Sheet2.
Итак, я начинающий VBA. Тем не менее, я пытался выяснить код для этого, используя различные источники inte rnet. Поэтому моя идея заключается в том, что у меня есть два листа данных (скажем, sheet1 и sheet2). Лист1 является основным списком, а лист2 содержит все основные данные. Теперь моими основными условиями является то, что если Shell-ID указанной строки c в sheet1 совпадает с Shell-ID в sheet2, то просто обновите фазу проекта. Но если значение не существует, скопируйте другие столбцы, такие как имя проекта, описание проекта, фаза проекта и т. Д. c. для этого соответствующего идентификатора оболочки обратно в sheet1 из sheet2.
Пока я могу копировать только всю строку на лист, но не указывать c деталей, которые мне требуются. Вот мой код и то, что я пробовал. Любая помощь будет оценена.
Редактировать: по какой-то причине я не могу прикрепить файлы к стеку (не знаю, можно ли быть честным), но я добавил картинки для листа
Sub Copying()
'defining the variables
Dim sh1 As Worksheet, sh2 As Worksheet, lr As Long, fn As Range, sr As Range, rng As Range, n As Long
Dim i As Long, j As Long
Set sh1 = Sheet1
Set sh2 = Sheet2
Application.ScreenUpdating = False
'counting the number of rows in sheet 1
With Worksheets("Sheet1")
lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With
'gives you the number of rows
MsgBox ("Sheet1 has " & lr & "rows")
'counting rows for sheet2
With Worksheets("Sheet2")
j = .Cells(Rows.Count, 1).End(xlUp).Row
End With
'gives the number of rows for sheet2
MsgBox ("Sheet2 has " & j & "rows")
'checking the value from sheet2 vs sheet1 for shell ID #, if not present then it will copy the entire row
For i = 2 To j
With Worksheets("Sheet2")
If .Cells(i, 1).Value <>
Worksheets("Sheet1").Cells(i, 1).Value Then
.Rows(i).Copy
Destination:=Worksheets("Sheet1").Range("A" & lr)
lr = lr + 1
ElseIf .Cells(i, 1).Value =
Worksheets("Sheet1").Cells(i, 1).Value Then
End If
End With
Next i
MsgBox ("Copying complete")
End Sub