我真的不知道如何命名,但这里有更深入的描述。我创建了一个 VBA 代码,它将根据某些条件过滤一个 excel 文件,然后在单元格 A 中重命名该条件的任何“匹配项”(无论它是什么行),我的宏转到条件的末尾,然后到左侧,并将其更改为需要重命名的任何内容,然后一直复制并粘贴到上面。
问题:截至目前,如果没有符合该标准的代码,则代码会使我的光标或任何内容一直到文档的底部,并将重命名从电子表格的底部一直粘贴到顶部。这显然是一个大问题,我觉得有一个简单的解决方案。
这是我的代码。在此先感谢,这个论坛很棒。
更新:我还附上了一个示例 excel 表,如果您运行此代码(一直按 F8),您将能够看到错误发生的位置和方式。提前谢谢各位。
这是下载我的文件(Dropbox)的链接:https ://www.dropbox.com/s/bx4ogcsdbmmzs59/ExcelExample11.xlsm?m
更新:我目前已将代码编辑为:而且大多数情况下它不会转到其他...为什么当标题列下方的单元格不包含任何内容时它会继续?我很困惑。
Range("M1").Select
ActiveSheet.Range(Selection, Selection.End(xlUp)).AutoFilter Field:=13, Criteria1:="=BCC*"
If Not Selection.Offset(0, 1) = "" Then
Selection.End(xlToLeft).Select
Selection.End(xlDown).Select
ActiveCell.FormulaR1C1 = "CLO"
Selection.Copy
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Selection.End(xlUp).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "'Subtype"
Else
ActiveSheet.ShowAllData
Range("A1").Select
ActiveSheet.Range(Selection, Selection.End(xlUp)).AutoFilter Field:=1, Criteria1:="#N/A"
End If