0

遇到了一个令人讨厌的 Excel/VBA 问题,我似乎无法解决 - 将不胜感激。

我在电子表格中有一个公式,它说明了如果左侧的单元格 = 1,则单元格本身 = on,如果不是,则 =“off”。是否可以编写一些 VBA 搜索并替换运行时将“关闭”变为“完全关闭”的代码?

目前它似乎只是在编辑公式本身,而我真的希望它删除该单元格中的所有内容并将其替换为短语“totally_off”

谢谢你的帮助。

4

2 回答 2

1

以下代码应该可以工作。只需将范围替换为B1:B10您要更改的公式所在的范围。该过程会测试公式中单元格左侧的单元格的值。如果该值为零,则将公式替换为“完全关闭”。

Sub totally_off()
    Dim rng As Range
    Dim cell As Variant
    Set rng = Range("B1:B10")
    For Each cell In rng
        If cell.Offset(0, -1).Value = 0 Then
            cell.Value = "totally off"
        End If
    Next cell
End Sub

这是一个非 VBA、非搜索和替换的替代方案。

  • 使用主页功能区上的Sort and Filter/在公式列上设置过滤器。Filter
  • 从列的下拉菜单中选择“关闭”。
  • 在过滤列的第一个单元格中键入“完全关闭”并将其复制到列的底部。
  • 然后取下过滤器。评估为“on”的公式将保持不变。
于 2013-05-28T17:12:02.307 回答
0

不需要 VBA - 只需使用自动过滤器:

  • 选择具有开/关公式的列
  • 应用自动筛选 ( Ctrl- Shift-L
  • 过滤器 off
  • 再次,选择所有值
  • 只需在公式栏中输入您的替换值totally_off- 但按Ctrl-Enter

完毕!

于 2013-05-28T20:07:02.930 回答