预先填充“查找/替换”对话框(Ctrl + H)

时间:2019-05-06 17:56:04

标签: excel vba

我希望用户能够更改const的起始编号,而无需通过替换栏(Ctrl + h)访问代码。我设法编写了打开它的代码,但是我不知道如何编写将输入到查找字段和替换字段的代码。

现在我的代码只是打开替换栏的一行:

    Sub test()
    Application.SendKeys "^(h)"

    End Sub

1 个答案:

答案 0 :(得分:0)

尝试一下。它将打开“查找/替换”对话框,其中预先填充了您作为参数传递的内容。

Application.Dialogs(xlDialogFormulaReplace).Show arg1:= "find", arg2:= "replace"

这里有潜在的参数,请看下面的替换文档链接,以了解要使用的参数值。该函数“不同”,但使用相同的常量,例如“ Dialogs”函数中的look_at使用与“ Replace”函数中的LookAt相同的参数。

xlDialogFormulaReplace find_text, replace_text, look_at, look_by, active_cell, match_case, match_byte

用于查找值。 https://docs.microsoft.com/en-us/office/vba/api/excel.range.find

用于替换值 https://docs.microsoft.com/en-us/office/vba/api/excel.range.replace

从您的评论看来,您希望它是完全自动化的,而无需任何用户干预。如果是这样,请利用excel中的Replace()函数。

示例用法,比本文更简单,并且不需要您设置布尔值:Sheets("Sheet1").Cells.Replace "find", "replace", xlWhole

由您决定如何触发代码。 :)

注意:无法使用CTRL-Z撤消通过VBA进行的替换