2012-03-07 10 views
-1

私はとFormattedと呼ばれるシートを持つOpen Case Report.xlsmというブックを持っています。条件付きで1枚のシートを検索し、別のシートに行をコピーします。

A1のような特定の場所でFormattedに列全体の2つの名前のセットを検索し、RAW_Dataを検索するマクロを作成したいとします。

私はここで見て、似ているいくつかのコードを見つけましたが、私はデバッグエラーを取得せずに私が望むようにコードを適応させることができません。

答えて

1

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) 
+0

これは私が望んでいたものに近いですが、私は少し違うものが必要でした。 名前は列Fにあり、それが検索したいのは唯一のものです。 私は、1つのシートから別のシートに2つの名前を一度に自動的にコピーする方法を見つけようとしています。ダイアログを表示せずに、行全体をその条件でコピーします。 – user1253623

+1

上記に加えられたいくつかの編集内容...最終的に、あなたが必要とするものの正確な構文を理解するために必要なものになるはずです。私はただあなたを球場に入れてインスピレーションを得ようとしています。 ;) –

関連する問題