Пожалуйста, проверьте следующий обновленный код. Для этого потребуется строка / текст ячейки, которую нужно идентифицировать (в InputBox). Для проверки я использовал строку «testSearch». Пожалуйста, поместите это в ячейку A: A, чтобы быть идентифицированным и проверьте это. Затем вы можете использовать любую нужную вам строку ...
Sub testTFindCellFromString()
Dim NextRow As Long, I As Long, strSearch As String
Dim sh As Worksheet, actCell As Range, rng As Range
strSearch = InputBox("Please, write the string from the cell to be identified", _
"Searching string", "testSearch")
If strSearch = "" Then Exit Sub
Set sh = ActiveSheet
Set rng = sh.Range("A1:A" & sh.Range("A" & Cells.Rows.Count).End(xlUp).Row)
Set actCell = testFindActivate("testSearch", rng)
If actCell Is Nothing Then Exit Sub
With Range(actCell.Offset(2, 0), actCell.Offset(0, 0))
NextRow = .Row + .Rows.Count
Rows(NextRow & ":" & NextRow + .Rows.Count * (1) - 1).Insert Shift:=xlDown
.EntireRow.Copy Rows(NextRow & ":" & NextRow + .Rows.Count * (1) - 1)
.Resize(.Rows.Count * (1 + 1)).Sort key1:=.Cells(1, 1)
End With
Debug.Print actCell.Address
End Sub
Private Function testFindActivate(strSearch As String, rng As Range) As Range
Dim actCell As Range
Set actCell = rng.Find(What:=strSearch)
If actCell Is Nothing Then
MsgBox """" & strSearch & """ could not be found..."
Exit Function
End If
Set testFindActivate = actCell
End Function