【发布时间】:2014-05-24 19:26:18
【问题描述】:
我查看了几个关于使用宏在电子表格中查找最后一行/单元格的主题,我有几个问题。
首先,下面的代码是只返回一个行值还是整个单元格值(“1”或“A1”)?
Dim TOS As Long
TOS = Range("A1").Row
或者,除了显而易见的(它们从底部开始并找到最后一个单元格加 1 的事实)之外,这些其他代码之间是否有区别(它们将如何显示或提取数据)?我只需要最简单的(或最好的,如果你有一个好的论据)只返回行(而不是单元格)。
答)
Dim TOS As Long
TOS = Range("A65536").End(xlUp).offset(1,0).Row
B.)
Dim TOS As Long
With Application.Workbooks("Test").Sheets(1)
If WorksheetFunction.CountA(Cells) > 0 Then
TOS = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End If
C.)
Dim TOS As Long
TOS = Range("A65536").End(xlUp).Row + 1
仅拉行背后的要点是我有两个不同的表,我已在同一个工作表上取消合并。我需要删除有数据的列之间的空白列。它不会让我简单地使用“删除空白单元格”代码删除空白单元格。我假设这是因为在顶部表格中,一列可能有空白单元格,但在底部表格中,同一列可能有数据。如果您可以解释如何使“删除空白单元格”代码起作用,那可能会更容易,除了,我需要它只删除列中的空白单元格,而不是行,因为我需要保持表格分开。
我需要回答的第二件事是,如果我将一列和一行放在一起,一个使用公式(行)中的值,另一个我假设为字符串,我将如何去做?
例如)
Range("B" & TOS:"B" & TOE).Select
TOS 和 TOE 是我的行值,我需要选择 B 列中这些行的所有单元格。
【问题讨论】: