我看过几个关于使用宏查找电子表格中最后一行/单元格的线程,我有几个问题。
首先,以下代码是仅返回行值还是整个单元格值(“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
下进行。)
Dim TOS As Long
TOS = Range("A65536").End(xlUp).Row + 1
只拉动该行的重点是我有两个不同的表,我已经在同一个工作表上取消了。我需要删除包含数据的列之间的空白列。它不会让我只使用“删除空白单元格”代码删除空白单元格。我假设是因为在顶部表中,列可能有空白单元格,但在底部表格中,同一列可能包含数据。如果你可以解释如何使“删除空白单元格”代码工作,那可能会更容易,除了,我需要它只删除列中的空白单元格,而不是行,因为我需要保持表格分开。
我需要回答的第二件事是,如果我把一个列和一行放在一起,一个使用公式(行)中的值,另一个我假设为一个字符串,我将如何去做?
例)
Range("B" & TOS:"B" & TOE).Select
TOS和TOE是我的行值,我需要为B列中的那些行选择所有单元格。
答案 0 :(得分:4)
帮助系统确认Row
返回范围中第一个区域的第一行的编号。
所以它只是一个(长)数字。
如果您想获得对该行本身的引用,那么:
Dim rng As Range
Set rng = Range("A1").EntireRow
A)和C)是相同的,但是它们找到了A列的最后一行,而B)找到了工作表的最后一行(不仅仅是A列)。
您的代码应为:
Range("B" & TOS & ":B" & TOE).Select
用冒号":"在引号内(和另一个&符号)。 (还有其他方法可以写这个。)
要删除单元格,而不是整行:
Range("A1").Delete xlShiftUp