【发布时间】:2021-11-30 01:32:57
【问题描述】:
所以我有这个宏:
Application.Goto (ActiveWorkbook.Sheets("Fetch").Range("C33"))
Range("C33").Value = text
Range("B3").Value = text
Cells.Replace What:="ÿþ", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Excel 工作表受到保护,但 C33 和 B3 两个单元格不受保护,因为我希望在这两个单元格中替换文本。
当我在工作表不受保护的情况下运行上述宏时,它可以完美运行。 它与将文本字符串导入 Excel 的脚本一起运行。
当我保护工作表时,宏不会替换文本而是保持不变。
基本上我只想运行宏,定位这两个单元格中的文本,将指定部分替换为空,然后保留其余部分,即使工作表受到保护。
【问题讨论】:
-
您需要删除保护(ws.Unprotect),更新字段并重新保护(ws.Protect)
-
1.您是否了解您的上述代码的作用,尤其是
Replace部分?它尝试从所有活动工作表单元格 中替换“ÿþ\”字符串。讨论中的两个单元格是否具有类似字符串的值? 2.“单元格不受保护”是什么意思,因为保护会阻止它们的文本替换? -
@ceci Bad advice.
-
@GSerg 您可以在保护工作表时手动将单元格单独标记为不受保护。然后,当您保护整个工作表时,那些特定的单元格就会成为例外。