Для обновления данных в указанной строке c вы можете использовать процедуру, подобную приведенному ниже коду. Передайте ему номер строки, и он обновит ячейки в этой строке -: Update 5
обновит строку 5.
Public Sub Update(RowNum As Long)
With Sheet1 'Using the sheets Code Name (Sheet Name not in brackets in Project Explorer).
.Cells(RowNum, 2) = "Some New Value in column B"
.Cells(RowNum, 4) = "Some Other Value in column D"
.Range(.Cells(RowNum, 5), .Cells(RowNum, 7)) = Array("A", 3, "Whatever") 'Update values in column E:G
End With
End Sub
Вам нужно найти строку, в которой отображается ваш серийный номер. Передайте функции серийный номер, который существует в столбце 1, и он вернет номер строки, если он не существует, он вернет 0: - FindRow("R/16916")
вернет 3 на вашем изображении.
Public Function FindRow(SearchString As String) As Long
Dim tmpRng As Range
With Sheet1.Columns(1)
Set tmpRng = .Find(What:=SearchString, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext)
If Not tmpRng Is Nothing Then
FindRow = tmpRng.Row
Else
'Row not found, return an illegal row number.
FindRow = 0
End If
End With
End Function
Соедините все вместе:
Sub Test()
Dim lRow As Long
'Use the FindRow function to return the row number of the searched item.
lRow = FindRow("R/16916")
If lRow > 0 Then
'Update the data in that row.
Update lRow
End If
End Sub