查找行macros的说明

我已经看了几个有关在电子表格中使用macros来查找最后一行/单元格的主题,我有几个问题。

首先,以下代码是否只返回一个行值或整个单元格值(“1”或“A1”)?

Dim TOS As Long TOS = Range("A1").Row 

另外,除了显而易见的事实(他们从底部开始,find最后一个单元格加上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 

在拉行的背后是我有两个不同的表,我没有在同一个工作表上。 我需要删除具有数据的列之间的空白列。 它不会让我使用“删除空白单元格”代码简单地删除空白单元格。 我假设这是因为在顶部表中,一列可能有空白单元格,但在底部表格中,同一列可能有数据。 如果你可以解释如何使“删除空白单元格”的代码工作,这可能会更容易,除了我需要它只删除列中的空白单元格,而不是行,因为我需要保持表分隔。

我需要回答的第二件事是,如果我把一个列和一行放在一起,一个使用一个公式(行)的值,另一个我假设为一个string,我该如何去做呢?

前)。

 Range("B" & TOS:"B" & TOE).Select 

TOS和TOE是我的行值,我需要selectB列中所有行的单元格。

帮助系统确认该Row

返回范围中第一个区域的第一行的编号。

所以它只是一个(长)的数字。

如果你想获得一个行本身的引用,那么:

 Dim rng As Range Set rng = Range("A1").EntireRow 

A)和C)是相同的,但他们find列A的最后一行,而B)find工作表的最后一个使用的行(不只是列A)。

你的代码应该是:

 Range("B" & TOS & ":B" & TOE).Select 

在引号(和另一个符号)内用冒号“:”结尾。 (还有其他的方法来写这个。

要删除一个单元格,而不是整行:

 Range("A1").Delete xlShiftUp