2016-11-09 1 views
0
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
Dim CustNumber As String  
    Dim CustName As String  
    Dim CompanyName As String  
    Dim CustPhoneNumb As String  
    Dim i As Long  
    CustNumber = Worksheets("OrderInvoice").Range("C10").Value  
    Sheets("CustomerList").Select 
    FoundDatails = False  
    i = 1  
    For i = 1 To 100  
    Cells(i, 1).Select  
    If CustNumber = Trim(Cells(i, 1)) Then  
     CustName = Trim(Cells(i, 2))  
     CompanyName = Trim(Cells(i, 3))  
     CustPhoneNumb = Trim(Cells(i, 4))  
     FoundDatails = True  
     Exit For  
    Else  
     i = i  
    End If  
    Next  
    Sheets("OrderInvoice").Select  
    Range("C11:F11") = CustName  
    Range("I11:J11") = CustPhoneNumb  
    Range("C12:J12") = CompanyName  
End Sub 
+0

나는 실제로 오류가 무엇인지 알기 위해 오류 트래핑을 코드에 넣는 것이 좋습니다. 또한 변경 이벤트가 실제로 트리거되고 있는지 확인해야합니다. –

+0

그게 죄송합니다. 그 새것이 무언가입니다. –

+0

무엇이 오류입니까? – Vegard

답변

0

가능한 많은 답변이 있습니다. - 당신은 범위 변수의 값을 가지고라는 이름으로 시트 여부 존재하는지 여부를 확인

Cells(i, 1).Select 기타 Sheets("CustomerList").Cells(i, 1).Select

에 있습니다 : 가장 가능성이 당신이 변화해야한다는 것입니다. 또한 위에 코드 Option Explicit을 사용하면 더 좋은 코드를 작성할 수 있습니다.

+0

내 데이터가 다른 워크 시트에있는 목록 선택에서 양식을 채우기 위해 vba를 코딩하는 방법은 무엇입니까? –

+0

안녕하세요. 이 중 하나에 대해 VBA 코드와 스크린 샷 및 사용중인 목록의 이름에 관한 설명이 필요합니다. 다른 질문처럼 들리므로 별도로 질문하는 것이 좋습니다. 그냥 기억하라 - 코드를 현명하게 포맷하고, stackoverflow에서'Option Explicit'과 Ctrl + K를 사용하라. 즐겨! – Vityata

관련 문제