我无法找出 VBA 代码中的问题。我的 excel 工作簿涉及两个工作表。一个名为“Database”,另一个名为“Picked”。使用用户表单,某人可以将他们的数据输入到数据库中。订单完成后,他们会单击一个名为“已取货”的按钮。当他们单击此按钮时,我希望它复制在表单中选择的行(从数据库表中),然后将其粘贴到“已选择”表中的下一个空行中。
Private Sub cmdPicked_Click()
Dim iRow As Long
If Selected_List = 0 Then
MsgBox "No row is selected.", vbOKOnly + vbInformation, "Delete"
Exit Sub
End If
Dim i As VbMsgBoxResult
i = MsgBox("Has this item been picked?", vbYesNo + vbQuestion, "Confirmation")
If i = vbNo Then Exit Sub
If frmForm.txtRowNumber.Value = "" Then
Else
iRow = frmForm.txtRowNumber.Value
End If
iRow = Application.WorksheetFunction.Match(Me.lstDatabase.List(Me.lstDatabase.ListIndex, 0), _
ThisWorkbook.Sheets("Database").Range("A:A"), 0)
Rows(iRow).Copy
Worksheets("Picked").Range("A1").End(xlDown).Offset(1, 0).EntireRow.Insert
iRow = Application.WorksheetFunction.Match(Me.lstDatabase.List(Me.lstDatabase.ListIndex, 0), _
ThisWorkbook.Sheets("Database").Range("A:A"), 0)
ThisWorkbook.Sheets("Database").Rows(iRow).Delete 'Delete
Call Reset
MsgBox "Selected item has been picked.", vbOKOnly + vbInformation, "Completed"
End Sub
使用此代码时,它不会将所选数据库行中的值粘贴到所选工作表中的下一个空单元格中。它所做的只是粘贴一个空白的白行。如果可以,请帮帮我!任何帮助表示赞赏。