1

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

我有两列名为Last NameFirst Name,我想将它们连接成一个名为Last Name, First Name 的单独列。

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

你能帮我自动化吗?

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

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

4

4 回答 4

1

UsedRange属性可用于确定需要在未知数据的工作表上选择多少行/列。这是一个例子

于 2012-12-14T20:22:40.147 回答
1

如果需要,您可以使 Excel 自动将公式添加到字段中。只需填写三个销售:名字 - 姓氏 - 公式。Home -> Style -> Format as Table然后选择范围并将其格式化为表格(

于 2012-12-14T20:28:27.090 回答
0

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

于 2012-12-14T20:18:31.267 回答
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
于 2012-12-14T20:24:22.210 回答