2013-10-01 4 views
0

A1에서 A10 (더 많거나 적음)의 S/N 목록이 포함 된 Excel 통합 문서 (serial_numbers 호출 가능)가 있습니다.다른 엑셀 통합 문서의 셀 값 검색

이제 통합 문서 "데이터베이스"에서 A1의 값을 검색해야합니다. 그 값은 일반적으로 A1 통합 문서 "데이터베이스"의 셀에서 찾을 수 있습니다.

A1 님의 가치가있는 경우 B2 님의 가치 "workbook"을 복사하여 붙여 넣기해야합니다.이 값은 해당 값의 현재 재고를 나타냅니다. 이것에 조각 이상 제대로 작동하지 않는 것 같다

Sub Macro1() 
' 
' Check stock for S/N in database 
' 

' 
    Range("A1").Select 
    Selection.Copy 
    Workbooks.Open Filename:="database.xlsx", _ 
     UpdateLinks:=0 
    Range("A1").Select 
    Selection.Find(What:="XXXXXX", After:=ActiveCell, LookIn:=xlFormulas _ 
     , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
     MatchCase:=False, SearchFormat:=False).Activate 
    Range("B1").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Windows("serial_numbers.xlsx").Activate 
    Range("B1").Select 
    ActiveSheet.Paste 
End Sub 

및 임 이후 새로운 내가 왜 캔트 : 엑셀에서 개발자 모드를 통해

나는 다음과 같은 결과를 얻었다. 아무도 나를 도울 수 있습니까?

답변

0

비 -vba 솔루션을 찾으려면 vlookup function으로 갈 수 있습니다. 대답을 수용하지 않는

Sub testMacro() 

    Dim wkbDB As Workbook 
    Dim rngFind As Range, rngSearch As Range, cell As Range 
    Dim shtDB As Worksheet 


    Set wkbDB = Workbooks.Open(Filename:="C:\database.xlsx", UpdateLinks:=0) 
    Set shtDB = wkbDB.Sheets("Sheet1") 

    Set rngSearch = ThisWorkbook.Sheets("Sheet1").Range("A1:A10") 

    For Each cell In rngSearch 
     Set rngFind = shtDB.Range("A1:A10").Find(What:=cell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows) 

     If Not rngFind Is Nothing Then 
      'serial_numbers.xlsx 
      cell.Offset(0, 1) = rngFind.Offset(0, 1) 
     End If 
    Next 
End Sub 
+0

@GabrielPicareli 어떤 이유 :

이 코드를 사용해보십시오. 어떻게 수락 대답 [이] (http://stackoverflow.com/about)를 참조하십시오. – Santosh

관련 문제