2016-11-09 3 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

私のデータが別のワークシートにあるリスト選択からフォームを入力するにはどうすればよいですか? –

+0

こんにちは。これには、VBAコードとスクリーンショットと、使用しているリストの名前に関する説明が必要です。これは別の質問のように聞こえるので、別々に質問するほうがよいでしょう。ちょうど覚えておいてください - コードを賢明にフォーマットし、stackoverflowで 'Option Explicit'とCtrl + Kを使います。楽しい! – Vityata

関連する問題