【发布时间】:2014-12-20 00:51:35
【问题描述】:
我正在编写一个 Excel 宏,它需要查找特定文本 Client Remittance Details,然后选择并剪切到工作表的末尾,然后粘贴到另一个选项卡上。对于每个不同的工作簿,文本可以位于不同的行中。宏总是写入一个特定的单元格引用,因此它在下一个文件中出错。这是似乎是错误的宏部分。
Cells.Find(What:="Client Remittance Details", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
Range("A12").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Cut
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
【问题讨论】:
-
“下一个文件出错”是什么意思?你有完整的宏吗?你能以某种方式分享工作簿吗?
-
在您的代码中,您正在激活找到的单元格(包含您想要的文本) - 然后选择单元格
A12。这是故意的吗?假设是这样,因为我看不到循环 - 您的问题可能是活动单元格没有像您希望的那样重置(??)取决于您的数据所在的列,将您的Find方法更改为After:= Worksheets("MySheetName").Range("A1")之类的工作?当然,您需要更改工作表名称并使用正确的范围/列