我可以成功找到特定行(通过 A 列中的引用),复制该行并将其粘贴到原始行下方。
我现在希望能够请求信息来填写某些单元格。例如。
- 找到第 7 行,复制并粘贴到第 8 行。
- 然后弹出“更新工作信息”的窗口,并将其输入到单元格 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