Условно ищите на одном листе и копируйте строки на другой лист - PullRequest
0 голосов
/ 07 марта 2012

У меня есть рабочая книга с именем Open Case Report.xlsm с листами с именами RAW_Data и Formatted.

Я хочу создать макрос, который будет искать RAW_Data для набора из 2 имен в столбце Eи скопировать всю строку в Formatted в определенном месте, таком как A1.

Я посмотрел здесь и нашел несколько похожих кодов, но я не могу адаптировать кодделать то, что я хочу, не получая ошибки отладки.

1 Ответ

1 голос
/ 07 марта 2012

Вы можете определить значение, используя метод MATCH. После этого вы можете использовать Rw для переноса данных на другой лист:

Sub FindRowTransferData()
Dim Rw As Long, myVAL As String

myVAL = Application.InputBox("Enter search value:", "Search", "John Doe", Type:=2)
If myVAL = "False" Then Exit Sub

On Error Resume Next
Rw = Application.WorksheetFunction.Match(myVAL, Sheets("RAW_Data").Range("E:E"), 0)
On Error Goto 0
If Rw = 0 Then
    MsgBox "The search value '" & myVAL & "' was not found"
    Exit Sub
End If

'MsgBox "The search value '" & myVAL & "' was found on row: " & Rw

With Sheets("Formatted")
    .Range("B3").Value = Sheets("RAW_Data").Range("A" & Rw).Value   'name
    .Range("B4").Value = Sheets("RAW_Data").Range("B" & Rw).Value   'address
    .Range("C3").Value = Sheets("RAW_Data").Range("C" & Rw).Value   'phone
    'etc....
End With

End Sub

Основываясь на комментариях ниже, эти предлагаемые изменения:

Rw = Application.WorksheetFunction.Match(myVAL, Sheets("RAW_Data").Range("F:F"), 0)
On Error Goto 0
If Rw = 0 Then
    MsgBox "The search value '" & myVAL & "' was not found"
    Exit Sub
End If

'MsgBox "The search value '" & myVAL & "' was found on row: " & Rw

Sheets("RAW_Data").Rows(Rw).Copy Sheets("Formatted").Range("A" & Rows.Count).End(xlUp).Offset(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...