OnCell更改事件写入下一个表vba宏

时间:2017-01-30 14:08:59

标签: excel vba excel-vba

我是VBMacro的新手。我在电子表格中有3列。 Partnumber, description, Net value。我在特定单元格中有一个列表选择(Two values:1, Empty)。 当我选择“1”部分编号时,描述应写在同一电子表格的另一个选项卡中。

我怎样才能做到这一点?在工作表更改事件中它会有效吗?

1 个答案:

答案 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