请帮助VBA代码。我是VBA新手,正如你从我的代码中看到的那样。VBA:搜索,复制,插入行,粘贴和引导值
我试图创建一个宏,它会找到一个值“PLGDY”,那么它应该从这一行复制数据,在这个找到的上面插入一个新行,将数据粘贴到新行中,替换值“PLGDY”与“PLGDN”。 我写了一个宏,但它不能正常工作。而不是将数据复制到新行,它将i粘贴到右侧的单元格中。它也将两行中的值更改为“PLGDN”。
我也想使用For Next循环,因为我有很多值要改变。是否有可能检查工作表中有多少值要更改?因为我想用这个数字作为计数器。
Sub Find_and_Change()
'
'Find a "PLGDY" and set an active cell
Cells.Find(What:="PLGDY", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
'select a block of data in a row
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
'copy selected block of data
Selection.Copy
'insert a row above active cell
ActiveSheet.Cells(ActiveCell.Row, 1).Select
ActiveCell.EntireRow.Insert
'set an active cell at the beginig of a row and move into column A
ActiveSheet.Cells(ActiveCell.Row, 1).Select
' paste copied data into this cell
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Now I select whole row
ActiveCell.EntireRow.Select
'I need to replace PLGDY with PLGDN in this row
Selection.Replace What:="PLGDY", Replacement:="PLGDN", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'I need to move active cell 10 columns right and one row down because I want to find next PLGDY
ActiveCell.Offset(1, 10).Select
End Sub
感谢您的帮助。