VBA - 弹出命令以在电子表格中填写详细信息

VBA - 弹出命令以在电子表格中填写详细信息

我可以成功找到特定行(通过 A 列中的引用),复制该行并将其粘贴到原始行下方。

我现在希望能够请求信息来填写某些单元格。例如。

  1. 找到第 7 行,复制并粘贴到第 8 行。
  2. 然后弹出“更新工作信息”的窗口,并将其输入到单元格 G8 中。

这个模式总是一样的,即更新粘贴到的行中的 G 列。

任何帮助是极大的赞赏。

答案1

作为我对您上一个问题的回答的扩展,这里再次提供了宏,并添加了数据输入提示。

Sub CopyData()
    Dim res As String
    Dim cl As Range
    Dim sh As Worksheet

    ' operate on the active sheet
    Set sh = ActiveSheet

    ' ask for ID to find in column A
    res = InputBox("Enter ID to Find", "Copy Row")

    ' If no responce, exit
    If res = "" Then
        Exit Sub
    End If

    With sh
        ' Find first occurance
        Application.FindFormat.Clear
        Set cl = .Columns(1).Find(What:=res, _
            After:=.Cells(.Rows.Count, 1), _
            LookIn:=xlValues, _
            LookAt:=xlWhole, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext, _
            MatchCase:=True)

        If Not cl Is Nothing Then
            ' if found, select entire row
            Set cl = cl.EntireRow
            ' copy and insert paste data into next row
            cl.Copy
            cl.Offset(1, 0).Insert
            ' turn off copy highlight (moving border)
            Application.CutCopyMode = False

            ' Prompt for input
            res = InputBox("Enter some info for Column G", "Update job information")
            If res <> "" Then
                cl.Cells(2, 7) = res
            End If
        End If
    End With
End Sub

相关内容