使用vba基于所选菜单在Excel上自动填充特定列

时间:2017-03-16 06:37:32

标签: excel vba excel-vba

我正在尝试根据Excel上第一列的所选下拉选项自动填充下一列。

enter image description here

下面我想到的初始代码示例,但看起来我的方法不正确。

Private Sub WorksheetStore_Change(ByVal Target As Range)
    Dim i As Integer
    Dim intCol As Integer

    intCol = shtStoreGroup.Range("A")
    If Not IsEmpty(Target.value) And intCol > 1 And Target.Columns.Count = 1 And Target.Column = intCol And Target.Row > Start_Row Then
        For i = Target.Row To Target.Row + Target.Rows.Count - 1
            If shtStoreGroup.Columns(intCol).Rows(i).value = "Create" Then
                shtStoreGroup.Columns(intCol + 2).Rows(i).value = "N/A"
                shtStoreGroup.Columns(intCol + 3).Rows(i).value = "Test"
        Next i
    End If
End Sub

2 个答案:

答案 0 :(得分:1)

在此之后可能是你:

always_populate_raw_post_data

将上述代码放在相关工作表(" shtStoreGroup"?)代码窗格中,而不是放在普通的模块代码窗格中

答案 1 :(得分:0)

我认为你不需要workheet_change()函数

使用名为cbTest的组合框我会像

那样做
Option Explicit
Sub fill()

    cbTest.AddItem ("Value1")
    cbTest.AddItem ("Value2")

End Sub

Private Sub cbTest_Change()
    Select Case cbTest.Value
    Case "Value1"
        Cells(1, 1).Value = "Test"
    Case "Value2"
        Cells(1, 2).Value = "Test2"
    End Select
End Sub