2013-05-28 79 views
0

得到一个令人讨厌的Excel/VBA问题,我似乎无法解决 - 希望得到任何帮助。使用搜索并用VBA/Excel替换

我在电子表格中有一个公式,表示沿着左侧单元格= 1,然后单元格本身=开启,如果不是,=“关闭”。 是否有可能在运行时写入一些VBA搜索并替换“关闭”到“totally_off”的代码?

在它只是似乎是编辑公式本身,而我真的想删除该单元格中的一切,只是用短语“totally_off”

感谢您的帮助取代它的那一刻。

+0

如果我的理解正确,可以进行搜索并替换为寻找'* off *'并替换为'完全关闭'。 – chuff

+0

实际上,问题是这将取代公式中的任何单元格关闭,我只想修改这些单元格符合输出“关闭”条件的单元格 – user2429452

+0

谢谢,我现在遇到了问题。 – chuff

回答

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
  • 从列的下拉菜单中选择“关闭”。
  • 在过滤列的第一个单元格中输入“完全关闭”并将其复制到列的底部。
  • 然后删除过滤器。评估为“开”的公式将保持不变。
0

无需VBA - 简单地使用自动筛选:

  • 与开/关式
  • 选择列应用自动筛选(Ctrl键 - - 大号
  • 筛选器off
  • 再次,选择所有值
  • 只需输入你的重置价值totally_off入公式栏 - 但按Ctrl键 - 输入

完成!