-1
我有一張名爲Open Case Report.xlsm
的工作簿,紙張名爲RAW_Data
和Formatted
。有條件地在一張紙上搜索並將行復制到另一張紙上
我想創建一個宏,它將在列E中搜索RAW_Data
中的一組2個名稱,並將整個行復制到Formatted
的特定位置,如A1
。
我在這裏看了一下,發現了幾個相似的代碼,但我似乎無法調整代碼來執行我想要的操作,而沒有發現調試錯誤。
我有一張名爲Open Case Report.xlsm
的工作簿,紙張名爲RAW_Data
和Formatted
。有條件地在一張紙上搜索並將行復制到另一張紙上
我想創建一個宏,它將在列E中搜索RAW_Data
中的一組2個名稱,並將整個行復制到Formatted
的特定位置,如A1
。
我在這裏看了一下,發現了幾個相似的代碼,但我似乎無法調整代碼來執行我想要的操作,而沒有發現調試錯誤。
您可以使用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)
這是接近我想要什麼,但我需要的東西有點不同。 這些名字在列F中,這是我想要搜索的唯一東西。 我試圖找到一種方法來自動地複製2個名稱,從1張到另一張沒有任何對話,並獲取與它的標準複製整個行。 – user1253623 2012-03-08 20:41:08
上面添加了一些建議的修改...最終,您將必須成爲找出所需內容的確切語法的人,我只是想讓您進入大局並激發您的靈感。 ;) – 2012-03-09 04:58:52