使用Userform将Excel数据更新到不同的工作表

时间:2018-04-09 21:29:03

标签: excel vba excel-vba userform worksheet

我创建了一个用户表单,用于将新数据输入工作表。表单通过工作表顶部的FormControlButton加载。但是,我想将FormControlButton放在不同的工作表上,并从该工作表中完成用户窗体。当我从不同的工作表(例如工作表11中的数据集位于工作表12中)时将数据输入到用户窗体中时,用户窗体不会输入新数据。

这是Userform上输入按钮的代码:

#box {
  width: 100px;
  height: 100px;
  background-color: #ff0;
}

.one.two.three.four.five.six.seven.eight.nine.ten.eleven {
  background-color: #f00;
}


<div id="box" class="one two three four five six seven eight nine ten eleven"></div>

我正在尝试从Sheet1向Sheet11输入数据。 提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试以下代码。如果该按钮将分配在您要更新的工作表上,则可以创建变量WS并将其分配给当前活动工作表(Set ws = ActiveSheet)。请让我知道这是否解决了您的问题。

Private Sub CommandButton2_Click()
Dim lastrow
Dim myfname As String
Dim ws as worksheet
Set ws = ActiveSheet
lastrow = ws.Range("A1" & Rows.Count).End(xlUp).row
myfname = Me.Reg8.Value
For currentrow = 2 To lastrow

If ws.Cells(currentrow, 1).Text = myfname Then
      ws.Cells(currentrow, 68).Value = Me.Reg10.Value
      ws.Cells(currentrow, 69).Value = Me.Reg11.Value
      ws.Cells(currentrow, 10).Value = Me.Reg5.Value
      ws.Cells(currentrow, 9).Value = Me.Reg6.Value
      ws.Cells(currentrow, 70).Value = Me.Reg7.Value
End If
Next

If MsgBox("Information has" & vbNewLine & "been updated") = vbOK Then
      Unload Me
      Sheet1.Select
End If
End Sub