我想基本上模拟VBA中Excel中的全部替换功能,并将字符串03/01/2018(在本工作簿中存在10次)替换为01/03/2017我已经知道如何对一次出现而不是范围内的所有出现进行替换。
是否有类似findnext的替换方法?
Sub findandreplacedate()
Workbooks("01 .xlsx").Sheets(1).usedrange.Replace What:="*03/01/2018*", _
Replacement:="01/03/2017", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
end sub
3条答案
按热度按时间crcmnpdw1#
你可以给予这个。这使用RegEx (正则表达式) 来检查您的日期。
您需要设置对Microsoft VBScript正则表达式x.x的引用
RegEx模式解析:
(\d{2})/(\d{2})/(\d{4})
此表达式分为三组:
(\d{2})
、(\d{2})
、(\d{4})
组1和组2查找任意两个 (
{2}
) 数字 (\d
),后跟正斜杠/
第3组查找正斜杠
/
后面的任意四个 ({4}
) 数字 (\d
)ivqmmu1c2#
FindNext
**Range.FindNext Method (Excel)*FindNext
与Find
配合使用,以下示例显示如何使用FindNext
**。****Debug.Print Immediate Window*用于调试和计算表达式、执行语句、打印变量值等。它允许您输入要在调试期间由开发语言计算或执行的表达式。若要显示“立即”窗口,请打开一个项目进行编辑,然后从“调试”菜单中选择“窗口”,然后选择“立即”,或按CTRL+ALT+I。
jk9hmnmh3#
Excel中字符串的多次研究和替换
这是一个VBA代码,用于Excel选定工作表单元格中字符串的多次研究和替换
我的目标是找到并替换活动工作表中的错误字符编码:
在https://www.rondebruin.nl/win/s3/win002.htm中找到所需的通用功能
Sub Multi_FindReplace()改编自https://www.mrexcel.com/board/threads/find-and-replace-multiple-values.1230258/