这应该做什么:当用户在用户窗体上输入ttxt的值并点击“添加”按钮时,它将首先检查该值是否为空,如果是,它将输入输入值用户 - 如果它不为空,它将向右移动2列并在那里输入值。每按一次按钮,这将继续向右添加值。我不知道该如何解决这个问题。
'Starts on column G1
Range("G1").End(xlUp).Offset(2, 0).Select
Do Until ActiveCell.Value = ttxt.Value
If ActiveCell.Value = "" Then
ActiveCell.Value = Me.ttxt
Else
'Offsets to the right 2 columns to enter another value if previous value is
'not empty.
ActiveCell.Offset(0, 2).Value = Me.ttxt
End If
Loop
Me.ttxt = ""
见下文
Private Sub addbtn_Click()
Worksheets("Sheet1").Activate
Dim r As Range
Set t = Range("F1").End(xlUp).Offset(2, 0)
Set r = Range("G1").End(xlUp).Offset(2, 0)
Do Until r.Value = "" And t.Value = ""
Set r = r.Offset(, 2) 'Moves over 2 columns
Set t = t.Offset(, 2) 'Moves over 2 columns
Loop
'Inputs values
r.Value = Me.ttxt
t.Value = Me.atxt & ", " & Me.xtxt
With Me.ListBox1
.AddItem
.List(i, 0) = Me.ttxt
.List(0, i) = Me.atxt & ", " & Me.xtxt
i = i + 1
End With
'Clears out userform
Me.ttxt = ""
Me.atxt = ""
Me.xtxt = ""
End Sub
所以这是添加点击按钮的完整代码。因此,您知道这些代码会将用户输入值添加到列中,就像它应该的那样。我也在userform上有一个列表框。每当一个人将值添加到工作表时,我希望将值放入列表框中。当前代码添加第一个值,之后的任何值只是替换列表框中的第一个值。希望你能理解我想说的话。
我希望每次添加值时都会将值添加到列表中,就像在工作表上一样。
答案 0 :(得分:0)
Sub AlternateColumnsEmpty()
'Starts on column G1
Dim r As Range
Set r = Range("G3")
If r.Value = "" Then
r.Value = Me.ttxt
Else
Cells(r.Row, Columns.Count).End(xlToLeft).Offset(, 2).Value = Me.ttxt
End If
Me.ttxt = ""
End Sub
Sub AlternateColumnsHaveData()
'Starts on column G1
Dim r As Range
Set r = Range("G3")
Do Until r.Value = ""
Set r = r.Offset(, 2)
Loop
r.Value = Me.ttxt
Me.ttxt = ""
End Sub