Excel:自动select未知数量的单元格

我试图通过一个macros来自动化一个excel文件的格式,并且正在寻求一个解决scheme。

我有两列名为姓氏名字 ,我想连接成一个名为姓氏,名字单独列

手工完成时很简单:创build一个单元格,然后拖动该单元格以包含范围内的所有单元格。 尝试自动执行此操作时出现问题。 因为我无法知道需要提前连接的名称的数量,所以我不能通过拖动来自动select单元格。

你能帮我把这个自动化吗?

我已经尝试了复制初始连接单元格的过程,突出显示列,然后粘贴。 我也试着使用一个只有在“Last Name”和“First Name”列中有文本的情况下才返回连接的公式。 但是,在这两种情况下,我都会得到大约10万行,这严重影响了我操作工作表的能力。

我能想到的最佳解决scheme是在固定的单元格范围内创build连接。 虽然这会造成无用的细胞,但至less不会有99,900个细胞。

UsedRange属性可以用来确定有多less行/列需要在数据未知的工作表上select。 这是一个例子 。

如果需要,可以让Excel自动将公式添加到字段中。 只需填写三个销售:名字 – 姓氏 – 公式。 然后select范围并将其格式化为一个表( Home -> Style -> Format as Table )和Excel,如果您在第一个姓氏中添加了某些内容,则会自动为第三个字段添加公式。

你不能在你的C1公式=A1&" "&B1它们,双击黑色方块并展开function? 然后应用filter?

这里有一个例子如何获得你的行!

 Sub ExampleNames() Dim MaxRow As Long Dim i As Long MaxRow = Worksheet(1).Cells(1, 1).CurrentRegion.Rows.Count 'For Excel 2010 and later ' OR 'MaxRow = Worksheets(1).Cells(1.1).UsedRange.Rows.Count 'For prior Excel Verisons For i = 1 To MaxRow ' your code to string them together Next i End Sub