Private Sub CommandButton11_Click()
Load UserForm5
If TextBox1.Value = "" Or ComboBox1.Value = "" Then
MsgBox "Incomplete Data", vbCritical, ""
Exit Sub
End If
UserForm5.TextBox1 = UserForm4.TextBox1.Value
UserForm5.TextBox2 = UserForm4.ComboBox1.Value
UserForm5.Show
End Sub
注意:单击CommandButton11(在userform4上方)时,它将在userform5下方打开。然后,如上面的userform4所示,Userform5的textbox1和textbox2从sheet1检索数据。
Private Sub CommandButton3_Click()
Dim emptyRow As Long
'Make Sheet 2 active
Sheets("Sheet2").Activate
'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:G")) + 1
'Transfer information from userform fields to Sheet 2
Cells(emptyRow, 2).Value = TextBox1.Value
Cells(emptyRow, 3).Value = TextBox2.Value
Cells(emptyRow, 5).Value = TextBox3.Value
Cells(emptyRow, 7).Value = TextBox4.Value
Cells(emptyRow, 8).Value = TextBox5.Value
End Sub
单击Userform5 Commandbutton3时,我希望将工作表1中选定的行(即基于从工作表1中拉出的文本框1中的值)剪切并粘贴到工作表2中
大家好,
希望有人可以帮助我解决这个问题。如上面的代码所示,我可以在userform文本框中获取要添加到工作表2的值。该用户窗体从工作表1中检索一些记录。我试图实现的是从工作表1中检索该值时,我想要将其从工作表1切成工作表2。什么是最好的方法?
谢谢
关于, 凯文
答案 0 :(得分:0)
这不是唯一的方法,但是请尝试使用数组。有关更多信息,请参见VBA Arrays And Worksheet Ranges。
Dim rngOldRow, rngNewRow, arrValuesInRow
Set rngOldRow = Worksheets(1).Range("A10:N10") 'Defines the old row.
Set rngNewRow = Worksheets(2).Range("A5:N5") 'Defines the new row.
arrValuesInRow = rngOldRow 'Copies values to an array variable.
arrValuesInRow(1, 2) = TextBox1.Value 'Changes values in the array.
arrValuesInRow(1, 3) = TextBox2.Value
arrValuesInRow(1, 5) = TextBox3.Value
arrValuesInRow(1, 7) = TextBox4.Value
arrValuesInRow(1, 8) = TextBox5.Value
rngNewRow.Value = arrValuesInRow 'Copies from the array to Sheet 2.
rngOldRow.Delete Shift:=xlUp 'Deletes the row on Sheet 1.