我正在处理一个工作簿,我可以在其中查看现有记录、添加新记录以及修改表中存储的现有记录。我可以查看、输入和修改数据表以及数据表。我已经有了添加新记录的方法(从另一个工作簿复制并根据需要进行编辑):
Sub add_to_table()
Dim NewRow As Integer
NewRow = Worksheets("input").Range("H1").Value + 1
If Worksheets("input").Range("I1").Value <> 0 Then
MsgBox "There are errors. No data has been added!", vbOKOnly, "Warning!"
Exit Sub
End If
Worksheets("Data").Cells(NewRow, 1).Value =
Worksheets("input").Range("B3").Value
Worksheets("Data").Cells(NewRow, 2).Value =
Worksheets("input").Range("B4").Value
'(there are 66 columns)
Worksheets("Data").Cells(NewRow, 66).Value =
Worksheets("input").Range("F22").Value
Sheets("Input").Select
Range("B2").Value = "Data added"
MsgBox "Data added", vbOKOnly, "Transfer Data"
Worksheets("input").Range("H1").Value = NewRow
Worksheets("input").Range("B3").Select
End Sub在视图工作表中,我使用组合框列出条目并显示行号,对于行号,我使用INDEX来显示一个值,我可以使用该值进行查找,以显示行的其余部分。在输入工作表中,我有一组空白的标题单元格,用于输入新条目,并使用使用上述代码的宏来添加新行。我希望在修改工作表中使用一个组合框来选择一个条目,然后使用行号来告诉宏要修改哪一行,使用上面为修改工作表修改的代码,减去+1。宏还会将查找放回重写的地方以供重复使用。不幸的是,它不工作,谷歌似乎找不到任何相关的答案。有人能帮帮我吗。谢谢。
发布于 2021-10-12 11:30:28
无论以何种方式,通过仔细检查和尝试不同的东西,宏现在可以工作到一定程度。
Sub amend_table()
'Written by Keith Cooper 10/10/2021
Dim NewRow As Integer
NewRow = Worksheets("amend").Range("G1").Value
Worksheets("Data").Cells(NewRow, 1).Value = Worksheets("amend").Range("B3").Value
Worksheets("Data").Cells(NewRow, 2).Value = Worksheets("amend").Range("B4").Value
Worksheets("Data").Cells(NewRow, 3).Value = Worksheets("amend").Range("D3").Value
'66 columns
Worksheets("Data").Cells(NewRow, 66).Value =
Worksheets("amend").Range("F22").Value
Sheets("Amend").Select
Range("H7").Value = "Data amended"
MsgBox "Data added", vbOKOnly, "Amend Data"
'Worksheets("input").Range("H1").Value = NewRow
Worksheets("amend").Range("B3").Select
End Sub到目前为止,宏的下一部分没有做它应该做的事情,它没有正确地将VLOOKUP重新添加到单元格中,但这可能应该是另一篇文章。
https://stackoverflow.com/questions/69526908
复制相似问题