首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用宏在工作表中查找数据、修改数据,然后将修改后的数据写回该行?

问如何使用宏在工作表中查找数据、修改数据,然后将修改后的数据写回该行?
EN

Stack Overflow用户
提问于 2021-10-11 13:19:48
回答 1查看 29关注 0票数 0

我正在处理一个工作簿,我可以在其中查看现有记录、添加新记录以及修改表中存储的现有记录。我可以查看、输入和修改数据表以及数据表。我已经有了添加新记录的方法(从另一个工作簿复制并根据需要进行编辑):

代码语言:javascript
复制
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。宏还会将查找放回重写的地方以供重复使用。不幸的是,它不工作,谷歌似乎找不到任何相关的答案。有人能帮帮我吗。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-10-12 11:30:28

无论以何种方式,通过仔细检查和尝试不同的东西,宏现在可以工作到一定程度。

代码语言:javascript
复制
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重新添加到单元格中,但这可能应该是另一篇文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69526908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档