excel VBA两列纵向合并
时间: 2024-09-17 14:09:29 浏览: 139
在Excel VBA中,如果你想把两列纵向合并,可以创建一个新的工作表区域或者在一个已有的单元格范围内将这两列数据整合。下面是一个简单的步骤:
1. **选择范围**:首先,你需要选中你想合并的两个列的数据。假设A列和B列是你想要合并的列。
```vba
Dim rng As Range
Set rng = Range("A1:B" & Rows.Count).End(xlUp) '选择直到最后一行的A列和B列
```
2. **合并数据**:然后,你可以创建一个新的数组或新的Range,将两列数据作为一维数组合并,例如,如果你希望新数据按A列为主:
```vba
Dim mergedData() As Variant
ReDim mergedData(1 To rng.Rows.Count, 1 To 2) '创建一个新的二维数组,大小与原范围相同
For i = 1 To rng.Rows.Count
mergedData(i, 1) = rng.Cells(i, 1).Value 'A列数据
mergedData(i, 2) = rng.Cells(i, 2).Value 'B列数据
Next i
```
3. **插入到目标位置**:最后,你可以把合并后的数据复制到新的位置,比如新的列C:
```vba
Dim newRange As Range
Set newRange = Sheets(Sheets.Count).Cells(1, Columns.Count + 1) '添加到最右侧的新列
newRange.Resize(rng.Rows.Count, 1).Value = mergedData '将数据写入新范围
```
阅读全文