【发布时间】:2019-05-04 00:41:16
【问题描述】:
是否可以编写一个 vba 宏来确定给定范围内是否有任何空单元格并返回该单元格的行号?
我是 vba 的新手,我在网上搜索后设法写的所有东西都需要一个范围并将其中的每个 emty 单元格涂成红色:
Sub EmptyRed()
If TypeName(Selection) <> "Range" Then Exit Sub
For Each cell In Selection
If IsEmpty(cell.Value) Then cell.Interior.Color = RGB(255, 0, 0)
Next cell
End Sub
宏基本上可以满足我的要求,但是我不想将空单元格着色为红色,我想知道空单元格的行索引。
一点背景信息:我有一个非常大的文件(大约 80 000 行),其中包含许多合并的单元格。我想用 readxl 将它导入 R。 Readxl 拆分合并的单元格,将第一个拆分单元格中的值和 NA 放入所有其他单元格中。但是一个完全空的单元格也会被分配 NA,所以我认为最好的办法是用 Excel 找出哪些单元格是空的,这样我就知道哪个 NA 表示合并单元格或空单元格。非常欢迎任何有关如何解决此问题的建议,谢谢!
编辑:澄清:理想情况下,我想取消合并文档中的所有单元格,并用先前合并单元格的内容填充每个拆分单元格。但是我在网上找到了应该完全做到这一点的宏,但它们不适用于我的文件,所以我想我可以确定空白单元格,然后在 R 中处理它们。我通常不使用 Excel所以我对此知之甚少,如果我的思维过程过于复杂,请见谅。
【问题讨论】:
-
你需要什么输出?消息框?
-
我认为这并不重要,我只需要能够复制行号并将它们粘贴到某个地方。