从文本框excel vba更新ActiveRow

时间:2017-09-10 16:59:35

标签: excel-vba vba excel

请一些帮助 - 试着保持简单

我有一个UserForm,用于更新ComboBox中选择的文本框。我希望能够更改这些填充的框,然后使用更新命令,更改工作表中的值,然后清除表单

Form Image

Sheet1 Image

我已经能够创建添加数据的UserForm,但我很难让VBA从控制框中选择活动单元格和活动行... ????

一旦我可以将VBA送到正确的AvtiveCell,我可以根据需要使用偏移和更改/添加

Private Sub ComboBox1_Change()
    With Me
        .TextBox1.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 2)
        .TextBox2.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 3)
        .TextBox3.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 4)
        .TextBox4.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 5)
        .TextBox5.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 6)
        .TextBox6.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 7)
        .TextBox7.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 8)
        .TextBox8.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 9)
        .TextBox9.Value = Sheet1.Cells(.ComboBox1.ListIndex + 2, 10)
    End With
End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub EditAddButton_Click()
    EditAdd
End Sub

Private Sub UserForm_Initialize()
    TextBox1.SetFocus
End Sub

1 个答案:

答案 0 :(得分:0)

好的,所以你完成了自动人口。现在,您需要向EditAdd click sub添加代码。据推测,您希望将工作表上的单元格值替换为userform中的单元格值。

到目前为止你尝试了什么?我只想尝试撤销作业!例如,在该sub中,执行以下操作:

Private Sub EditAddButton_Click()
    Dim ComplaintNum as Integer
    ComplaintNum = ComboBox1.ListIndex + 2
    With Sheet1
        .cells(ComplaintNum, 2) = TextBox1.Value
        ' etc down the list
    End With
End Sub

我还没有对此进行过测试 - 但是试试看吧。你还需要处理添加新行,但我不会为你写这个:)