我正在尝试找出如何编写宏来替换我正在使用的当前Excel公式。我尝试过使用单元格值和偏移量,但我对VBA的了解很少。我需要它做的是像这样转一个列列表:
Cell 1
Cell 2
Cell 3
Cell 4
细胞5
Cell 6
进入这样的两列列表:
细胞1细胞2
细胞3细胞4
细胞5细胞6
我觉得它应该很容易实现,但是我想避免空格并且可能需要循环,因为每次运行宏时列表的长度可能会改变。有人可以帮忙吗?
答案 0 :(得分:0)
我设法弄清楚如何做到这一点:
Sub splitColumn()
Range("A1").Select
Do
ActiveCell.Offset(1, 0).Select
If IsEmpty(ActiveCell.Offset(-1, 1)) Then
ActiveCell.Offset(-1, 1).Value = ActiveCell
ActiveCell.EntireRow.Delete
End If
Loop Until IsEmpty(ActiveCell)
End Sub
答案 1 :(得分:0)
您可以尝试使用以下代码: 但它有点太长了...我认为它可以帮助你提供一些想法...
Sub Splitting()
Dim i, j, k, l As Integer
RowCount = ThisWorkbook.Sheets("Sheet1").UsedRange.Rows.Count
For i = 1 To RowCount Step 2
For j = 1 To 1
Cells(i, j + 1).Value = Cells(i, j).Value
Cells(i, j + 2).Value = Cells(i + 1, j).Value
Next j
Next i
Call Removeblanks
End Sub
Sub Removeblanks()
RowCount = ThisWorkbook.Sheets("Sheet1").UsedRange.Rows.Count
For i = 1 To RowCount
For j = 1 To 1
If (Cells(i, j + 1).Value = "") Then
Cells(i, j + 1).Delete
Cells(i, j + 2).Delete
End If
Next j
Next i
End Sub