我正在创建一个宏,用HTML实体替换特殊字符,我希望该宏仅适用于未隐藏的单元格。
我尝试过Hidden
属性,但是对于VBA来说我还太陌生,不知道如何使用它。
到目前为止,我的代码是:
Sub replaceTextWithHTML()
Cells.Replace What:="–", Replacement:="–", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
[other similar replacements]
End Sub
在包含隐藏的行,列或工作表的工作簿中运行时,宏也会修改其内容。我希望宏只编辑可见的内容。
答案 0 :(得分:1)
如果单元格的列或行被隐藏,则该单元格被隐藏:
Sub hgfds()
Dim cell As Range
For Each cell In ActiveSheet.UsedRange
If cell.EntireRow.Hidden = False And cell.EntireColumn.Hidden = False Then
cell.Replace what:="-", replacement:="&ndash"
End If
Next cell
End Sub
答案 1 :(得分:0)
你可以尝试
For Each cells In Selection.SpecialCells(xlCellTypeVisible)
Cells.Replace What:="–", Replacement:="–", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Next cells
它检查每个单元格是否可见。它可能需要一些时间才能运行...