2017-01-30 11 views
0

私はVBMacroを初めて使用しています。私はスプレッドシートに3列あります。 Partnumber, description, Net value。私は特に細胞のリスト選択(Two values:1, Empty)を持っています。 Partnumberを '1'にすると、説明は同じスプレッドシートの別のタブで記述する必要があります。OnCell変更イベントを次のシートvbaマクロに書き込む

これをどのように達成できますか?ワークシート変更イベントで効果がありますか?

+2

あなたはいい代理人がいて、あなたはすでに多くの良い回答をしています。あなたはこのように定式化された質問に答える必要があると思いますか? –

+1

@ A.S.H!と同じです!ところで、なぜVlookupを使わないのですか? – R3uK

+0

私はあなたの**要件**を理解していますが、あなたの**質問は何ですか?** –

答えて

0
Private Sub Worksheet_Change(ByVal Target As Range) 
    If (Target.Column = 7) Then 
     Dim cquote As Worksheet 

     Set cquote = ThisWorkbook.Sheets("MyQuote") 


     Select Case (Target.Value) 
      Case "1":   

       Set wsMaster = ThisWorkbook.Sheets("CQuote") 
       NextRow = wsMaster.Range("B" & Rows.Count).End(xlUp).Row + 1    

       cquote.Cells(NextRow, 2).NumberFormat = "@" 
       cquote.Cells(NextRow, 2).Value = Cells(Target.Row, 2).Value 
       cquote.Cells(NextRow, 5).NumberFormat = "@" 
       cquote.Cells(NextRow, 5).Value = Cells(Target.Row, 5).Value 
      Case " ": 
       Dim existCQrange As Range 

       Set existCQrange = cquote.Range("B1:B1048576").Find(Cells(Target.Row, 2).Value) 

       If (existCQrange Is Nothing) Then Exit Sub 
       cquote.Rows(existCQrange.Row).EntireRow.Delete (True) 
     End Select 

    End If 
End Sub 
関連する問題