excel 2010 用VBA批量替换单元格中的公式
事件:按下按钮“2月”结果:替换C列单元格公式中“[出入库报表201501.xlsx]1月“为”[出入库报表201502.xlsx]2月”谢谢各位大神了!这个问题解决的基...
事件:按下按钮“2月”
结果:替换C列单元格公式中“[出入库报表201501.xlsx]1月“为 ”[出入库报表201502.xlsx]2月”
谢谢各位大神了!
这个问题解决的基础上能否逆操作
点击”二月“从一月替换为二月 如果想从二月再点回一月 这样VBA该怎么写? 展开
结果:替换C列单元格公式中“[出入库报表201501.xlsx]1月“为 ”[出入库报表201502.xlsx]2月”
谢谢各位大神了!
这个问题解决的基础上能否逆操作
点击”二月“从一月替换为二月 如果想从二月再点回一月 这样VBA该怎么写? 展开
3个回答
展开全部
参考代码如下(请确保在工作表中添加的按钮为表单控件,并修改每一个按钮的文字为所要替换的内容):
Public Sub ChangeFormula(ByVal Column As Variant)
Dim varCaller As Variant
On Error Resume Next
varCaller = Application.Caller
If Err.Number = 0 Then
Dim strFind As String
Dim strReplace As String
Dim strMonth As String
Dim rngColumn As Range
Dim rngFormula As Range
strMonth = ChrW$(&H6708)
strReplace = "]" & ActiveSheet.Buttons(varCaller).Caption
strFind = "]??" & strMonth
Set rngColumn = ActiveSheet.Columns(Column)
Set rngFormula = rngColumn.Find(strFind, , xlFormulas, xlPart)
If rngFormula Is Nothing Then
strFind = "]?" & strMonth
Set rngFormula = rngColumn.Find(strFind, , xlFormulas, xlPart)
End If
If Not (rngFormula Is Nothing) Then
rngColumn.Replace strFind, strReplace
End If
Set rngFormula = Nothing
Set rngColumn = Nothing
End If
End Sub
然后右击按钮选择指定宏并输入宏名:
'ChangeFormula 3'
或
'ChangeFormula "C"'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-03-11 · 知道合伙人软件行家
关注
展开全部
录个 查找 替换 的宏试试
追问
录了 在录制完成的宏里找不到查找和替换的语段
追答
Sub 宏1()
Selection.Replace What:="1月", Replacement:="2月", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |