【问题标题】:Blanks Cells in ExcelExcel中的空白单元格
【发布时间】:2016-01-20 13:23:08
【问题描述】:

我有一张来自查询的表格(获取外部数据),但这张表格有许多“空”单元格。我这样说是“空的”,因为当我发出命令将所有空单元格设为零时,很多单元格,父级为空,并没有变成零。 Excel 没有将这些单元格识别为空单元格,尽管没有任何内容进入。

谁能知道这里面包含了什么样的魔法?

谢谢!

【问题讨论】:

  • 手动检查单元格。可能虽然它看起来是空的,但单元格中有一个空的 ` ` (space) 字符或回车符或其他乍一看不可见的东西。

标签: vba excel excel-2010


【解决方案1】:

也许是一些无法打印的字符。用这个子添加一个模块:

Sub show_content()
    cont = Selection.Value
    If cont <> "" Then
        MsgBox Asc(cont)
    Else
        MsgBox "Cell really is a blank!"
    End If
End Sub

然后,选择看似空白的单元格并在宏菜单上运行“show_content” (alt+F8)。它将显示奇怪字符的 ASCII 值,如果它不是空白,或者确认它确实是空白(空单元格)。

这将擦除带有空格的单元格,因此它们将变为真正的空并被公式识别为零:

Sub erase_spaces()
    For Each elem In ActiveSheet.UsedRange
        elem.Value = Trim(elem.Value)
    Next elem
End Sub

【讨论】:

  • 我做了文件>选项>高级>在具有零值的单元格中显示一个零很多空白的单元格变成了零值(“0”),但有些没有转动。我的问题是。当我找到一个特定的单词时,我做了一个公式来总结一行,在 vba 中创建它,但是当我的 conter 找到这个单元格时我得到了错误(显然单元格是空白的)。我运行您在上面编写的这段代码,并对我说,其中一个空白单元格的值等于 32,但没有任何内容!我该如何解决这个问题?
  • 32 是空格的 ASCII 值。所以,外部数据给你的是空格,而不是空字符串。我将编辑我的答案以包括摆脱这些问题的方法。
【解决方案2】:

在单元格中找到显示为空白的字符后,您可以运行“查找和替换”(Ctrl+F) 将具有特定字符的所有单元格更改为“0”。

在“查找内容”输入框中输入字符,在“替换为”输入框中输入“0”。这将允许您查找并替换包含“0”或任何您想要的字符的所有单元格。

【讨论】:

  • 我也这样做了,但正如我所说,Excel 不会将这些空白单元格识别为空单元格,因为我无法替换。当我按照 Eduardo Poço 所说的做时,我得到了“32”的返回值,但我看不到这个值,我不知道这是从哪里来的!
  • 这可能会提供一些见解:stackoverflow.com/questions/15984580/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 2017-10-01
  • 1970-01-01
  • 2018-11-05
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多