选择包含文本而非公式的列中的所有单元格

时间:2014-07-16 10:04:07

标签: excel vba excel-formula

我想问你这个问题: 我在Excel工作表的B列中有这些单元格

  • B1:Ciao / text
  • B2:stackoverflow / text
  • B3:= A1 + A3 / 公式(示例)
  • B4:Fabio / 文字

我想只选择B1,B2,B4;换句话说,我想只选择包含文字的列B的细胞,而不是一个公式

是否可以在代码中执行此操作:

rng = 'I DON'T KNOW'
For Each cella In rng
..

3 个答案:

答案 0 :(得分:2)

Excel将此功能内置到SpecialCells中,因此您可以执行此操作:

Set rng = Sheets(2).Range("B1:B4").SpecialCells(xlCellTypeConstants)

在Excel中循环工作表范围非常慢且最好避免

答案 1 :(得分:1)

您可以在或多或少写成的行中使用.HasFormula命令:

If Not cella.HasFormula Then

在这种情况下,您需要复制/选择(或其他)单元格,否则不需要。把它放在你的for循环中,你就完成了!

答案 2 :(得分:0)

Columns("B:B").Select

Selection.SpecialCells(xlCellTypeConstants, 23).Select