我正尝试使用以下代码用不同的标题文本替换B和C列中的标题:
Columns("B").Replace What:="PN-ASSIGN", _
Replacement:="SERV BAL.", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
Columns("C").Replace What:="MISC COST", _
Replacement:="EQUIP BAL.", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=False, _
ReplaceFormat:=False
但是当我尝试使用它时,代码似乎没有任何作用。我不确定我缺少什么。
任何帮助将不胜感激!
答案 0 :(得分:0)
您需要对工作表进行限定,因为听起来您的宏依赖于活动工作表,这是一种不好的做法。如果您多次引用With
,则可以使用ws
语句。另外,您无需指明.Replace
方法的所有选项。如果未指定,则默认为false。下面的代码应足够。
此外,Option Explicit
是一种很好的措施
Option Explicit
Sub Headers()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Range("B:B").Replace "PN-Assign", "Serv Bal.", xlPart
ws.Range("C:C").Replace "MISC COST", "EQUIP BAL.", xlPart
End Sub