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

时间:2012-12-14 20:14:41

标签: excel vba

我正在尝试通过宏自动格式化excel文件并寻求解决方案。

我有两列标题为姓氏名字,我想将其连接到一个标题为姓氏,名字的单独列。

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

你能帮我自动化吗?

我尝试过复制初始连接单元格,突出显示该列,然后粘贴的过程。我还尝试使用只有在“姓氏”和“名字”列中有文本时才返回连接的公式。但是,在这两种情况下,我最终都会产生大约100,000行,严重影响了我操作工作表的能力。

我能想到的最佳解决方案是在固定范围的单元格中创建连接。虽然这会产生无用的细胞,但至少不会有99,900个。

4 个答案:

答案 0 :(得分:1)

UsedRange属性可用于确定需要在具有未知数据的工作表上选择的行数/列数。 Here's an example

答案 1 :(得分:1)

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

答案 2 :(得分:0)

你不能在C1公式=A1&" "&B1中使用,他们双击黑色方块并展开功能吗?然后应用过滤器?

答案 3 :(得分:0)

这是一个如何获取行的示例!

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