Vba Excel宏一次连接一行到文件末尾
我需要一个Excel宏来连接每行上的七列数据,直到到达数据的末尾。例如,如果我有这样一个公式:Vba Excel宏一次连接一行到文件末尾,vba,excel,concatenation,Vba,Excel,Concatenation,我需要一个Excel宏来连接每行上的七列数据,直到到达数据的末尾。例如,如果我有这样一个公式: =A1&B1&C1&D1&E1&F1&G1 如何写入宏,使其按如下顺序从每行递增到文件末尾 =A1&B1&C1&D1&E1&F1&G1 =A2&B2&C2&D2&E2&F2&G2 =A3&B3&C3&D3&E3&F3&
=A1&B1&C1&D1&E1&F1&G1
如何写入宏,使其按如下顺序从每行递增到文件末尾
=A1&B1&C1&D1&E1&F1&G1
=A2&B2&C2&D2&E2&F2&G2
=A3&B3&C3&D3&E3&F3&G3
我认为最简单的方法是按照assylias所说的填写,但如果您想使用VBA:
Selection.AutoFill Destination:=Range("Your Fill Range"), Type:=xlFillDefault
应该跨其他行进行复制。我认为最简单的方法是按照assylias所说的填写,但如果要使用VBA:
Selection.AutoFill Destination:=Range("Your Fill Range"), Type:=xlFillDefault
应该跨其他行复制。我100%同意这些评论和其他答案,为什么需要VBA来完成这项工作,但为了回答您最初的问题,我将这样做:
Sub FillAllWithFormula()
Dim i As Variant
Dim wsht As Worksheet
'If you are using this for a specific Worksheet use the following
Set wsht = ThisWorkbook.Worksheets(yourWorksheetName)
'or if you are always using this for the active sheet use the following
Set wsht = ActiveSheet
For i = 1 To wsht.Rows.Count
'Replace "X" with the column letter you want your formula to appear in
wsht.Range("X" & i).Formula = "=A" & i & "&B" & i & "&C" & i & "&D" & i & "&E" & i & "&F" & i & "&G" & i
Next
Set wsht = Nothing
End Sub
我100%同意这些评论和其他答案,为什么你需要VBA来做这件事,但为了回答你最初的问题,我将这样做:
Sub FillAllWithFormula()
Dim i As Variant
Dim wsht As Worksheet
'If you are using this for a specific Worksheet use the following
Set wsht = ThisWorkbook.Worksheets(yourWorksheetName)
'or if you are always using this for the active sheet use the following
Set wsht = ActiveSheet
For i = 1 To wsht.Rows.Count
'Replace "X" with the column letter you want your formula to appear in
wsht.Range("X" & i).Formula = "=A" & i & "&B" & i & "&C" & i & "&D" & i & "&E" & i & "&F" & i & "&G" & i
Next
Set wsht = Nothing
End Sub
有了这么多的答案,我和亚西尔亚斯所强调的主要焦点都白费了: 但是,如果您仍然需要VBA答案。使用这种方法。这比循环或自动填充快得多
如果您有1000行,那么您可能希望在运行代码之前关闭屏幕更新并将计算更改为手动,然后在代码末尾重置它们 有了这么多的答案,我和亚西尔亚斯所强调的主要内容都白费了: 但是,如果您仍然需要VBA答案。使用这种方法。这比循环或自动填充快得多
如果您有1000行,那么您可能希望在运行代码之前关闭屏幕更新并将计算更改为手动,然后在代码末尾重置它们 把公式拖下来对你有用吗?在示例H1:H3中,选择要复制公式的范围,然后按CTRL+D。除非需要重复执行此操作或在更大的宏中执行此操作,否则不需要vba。我同意@assylias。为什么您需要VBA来完成此操作?此外,如果您有很多行,那么您可能会反对向下拖动公式。在这种情况下,您可以将鼠标悬停在单元格的右下角,例如H1,该单元格具有公式。您将注意到光标变为+。只需双击。我假设你把这个公式放在第8列,第7列之间没有空白单元格。这是可行的,但我不知道没有VB也能做到。这曾经是一个宏唯一的东西,我已经好几年没有使用它了。谢谢Charles把公式拖下来对你有用吗?在示例H1:H3中,选择要复制公式的范围,然后按CTRL+D。除非需要重复执行此操作或在更大的宏中执行此操作,否则不需要vba。我同意@assylias。为什么您需要VBA来完成此操作?此外,如果您有很多行,那么您可能会反对向下拖动公式。在这种情况下,您可以将鼠标悬停在单元格的右下角,例如H1,该单元格具有公式。您将注意到光标变为+。只需双击。我假设你把这个公式放在第8列,第7列之间没有空白单元格。这是可行的,但我不知道没有VB也能做到。这曾经是一个宏唯一的东西,我已经好几年没有使用它了。谢谢CharlesThis也可以很好地工作,我更喜欢它,因为无论文件有多大,我都可以单击宏并重新使用它。谢谢CharlesThis也可以很好地工作,我更喜欢它,因为无论文件有多大,我都可以单击宏并重新使用它。谢谢查尔斯