Hello dariushou,
This macro will open the workbook "Jill.xls" if it is not already open and search column "A" on the worksheet "Orange" for "Beginner". If "Jill.xls" is not in the same directory as "Jack.xls", you need to add the directory path to "Jill.xls" to be able to open it. The search is not case sensitive. If it is found it will be pasted into "Jack.xls" in cell "C10" on worksheet "Apple". Place this macro in the workbook "Jack.xls". The names of the workbook, worksheets, starting search column and row, and the destination cell can all be changed. They are marked in red below.
Sub FindAndCopy()
Dim C As Variant
Dim DstCell As Range
Dim DstWkb As Workbook
Dim DstWks As Worksheet
Dim FindRslt As Range
Dim FindVar As Variant
Dim Rng As Range
Dim SrcWkb As Variant
Dim SrcWks As Worksheet
FindVar = "Beginner" 'Search value
SrcWkb = "Jill.xls"
Set SrcWkb = Workbooks.Open(SrcWkb)
Set SrcWks = SrcWkb.Worksheets("Orange")
Set DstWkb = ThisWorkbook
Set DstWks = DstWkb.Worksheets("Apple")
Set DstCell = DstWks.Range("C10")
With SrcWks
C = "A" 'Search Column
StartRow = 1 'First Search Row
LastRow = .Cells(Rows.Count, C).End(xlUp).Row
LastRow = IIf(LastRow < StartRow, StartRow, LastRow)
Set Rng = .Range(.Cells(StartRow, C), .Cells(LastRow, C))
End With
Set FindRslt = Rng.Find(What:=FindVar, _
After:=SrcWks.Cells(1, C), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not FindRslt Is Nothing Then
DstCell = FindRslt.Offset(0, 1)
Else
MsgBox "There were no search results for " & FindStr
End If
End Sub
Adding the Macro
1. Copy the macro above pressing the keys CTRL+C
2. Open your workbook
3. Press the keys ALT+F11 to open the Visual Basic Editor
4. Press the keys ALT+I to activate the Insert menu
5. Press M to insert a Standard Module
6. Paste the code by pressing the keys CTRL+V
7. Make any custom changes to the macro if needed at this time
8. Save the Macro by pressing the keys CTRL+S
9. Press the keys ALT+Q to exit the Editor, and return to Excel.
To Run the Macro...
To run the macro from Excel, open the workbook, and press ALT+F8 to display the Run Macro Dialog. Double Click the macro's name to Run it.
Sincerely,
Leith Ross
Bookmarks