将文本框值添加到其目的地

时间:2016-11-12 17:11:56

标签: excel vba excel-vba userform

情况:我正在使用以下控件处理UserForm:

  • 组合框:这用于在Sheet2(列A)上提取名称列表,并允许用户选择将用于表单的名称。 see image of userform

  • TextBox:用于添加数值。该值将放置在Sheet2,C列,以及从组合框中选择的名称上的两行

  • CommandButton:此按钮用于将已键入文本框的数值添加到Sheet2上的单元格中,两列以上,以及与名称匹配的单元格上的两行。从组合框中选择

问题:我正确设置了Combobox和Textbox,但是在为CommandButton创建VBA以将文本框值添加到其目的地时遇到了问题。

到目前为止的VBA:

Private Sub AddButton_Click()
Dim WS As Worksheet
Dim Rng As Range
Dim Crystal As Long

Set WS = Worksheets("ParticipantList")

With WS.Range("a2:c300")

    FindColumn = Application.WorksheetFunction.Match(Me.Participants.Value, WS.Range("A2:A300"), 1)

    Crystal = Me.NumberOfCryst.Value

    If FindColumn <> "" Then
        With WS.Range("a2:c300")
            Text = Me.NumberOfCryst.Value
            WS.Activate
            FindColumn = Application.WorksheetFunction.Match(Me.Participants.Value, WS.Range("A2:A300"), 0)
        End With
    End If
End With
End Sub

现在显然这已经到处都是,我做了很多改变并试图让它发挥作用。

1 个答案:

答案 0 :(得分:0)

也许你在这样的事情之后:

Private Sub AddButton_Click()
    Dim Rng As Range

    Set Rng = Worksheets("ParticipantList").Range("A2:A300").Find(What:=Me.Participants.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not Rng Is Nothing Then Rng.Offset(2, 2).Value = Rng.Offset(2, 2).Value + CLng(Me.NumberOfCryst.Text)
End Sub

您可能还想添加一些文本框文本验证,并确保用户输入数值