我有一长串数据分成单元格。每个单元格填充一个文本框,我有20个文本框(假设我有20个单元格)。
以下代码是我填充每个文本框的方式......
Private Sub UserForm_Initialize()
Set rng = Worksheets("Risk&Issues").Range("A4")
i = 0: j = 1
txtbox_revri_idnum.Text = rng.Offset(i).Value
txtbox_revri_projname.Text = rng.Offset(i, j).Value: j = j + 1
txtbox_revri_isrefnum.Text = rng.Offset(i, j).Value: j = j + 1
...
txtbox_revri_projname.SetFocus
在表单上,我有一个“更新”按钮,按下时按下每个文本框中的新内容更新单元格(在工作表内)。 “更新”按钮的代码位于......
之下Private Sub button_revri_update_Click()
ActiveCell.Value = txtbox_revri_projname.Value
ActiveCell.Offset(0, 1) = txtbox_revri_isrefnum.Value
ActiveCell.Offset(0, 2) = txtbox_revri_riskrefnum.Value
...
End Sub
当我查看工作表时,我期望看到的是对每个填充文本框的单元格的更新。然而,我实际得到的是从我碰巧在单元格上按鼠标的地方插入的新行。
有人可以帮忙吗?
答案 0 :(得分:0)
您的代码在活动单元格中添加了一个新行(“我碰巧按下鼠标的任何地方”)因为您使用了ActiveCell。而是尝试类似的事情:
Private Sub button_revri_update_Click()
Dim FirstRowCell as Range
Set FirstRowCell = ActiveSheet.Range("B1")
With FirstRowCell
.Value = txtbox_revri_projname.Value
.Offset(0, 1) = txtbox_revri_isrefnum.Value
.Offset(0, 2) = txtbox_revri_riskrefnum.Value
End With
...
End Sub
答案 1 :(得分:0)
当您按上一个问题中显示的“下一个”时,i
的值已设置。基于该问题,您可以使用此
Private Sub button_revri_update_Click()
j = 1
rng.Offset(i).Value = txtbox_revri_projname.Text
rng.Offset(i, j).Value = txtbox_revri_isrefnum.Text: j = j + 1:
rng.Offset(i, j).Value = txtbox_revri_riskrefnum.Text: j = j + 1
rng.Offset(i, j).Value = TextBox4.Text: j = j + 1
End Sub