我有一张excel 2007工作表,其中包含数据的列名都放在一列中,我需要将一个列名左移或右移一列,以便我可以有单独的列。您可以创建一个VBA函数,它可以读取列的所有行,并使用某些关键字移动这些列。如:
A1 B1
1 **Category1**
Cat1 info here
**cf**
45
34
34
Sf
542
234
234
2 **Category2**
Cat2 info here
**cf**
76
23
67
**Sf**
678
987
3476
我需要将“ cf ”列+数据移至其他列并将其粘贴到相关类别。因此,“cf”将随着数据向右移动并随其类别向上移动。然后我会删除B列的空行。
答案 0 :(得分:0)
终于弄清楚了,可能是编码不好但是有效.. :)
全心全意感谢您的帮助。
Sub test()
Dim i As Long
Dim toprow As Long
Dim z As Long
Dim count As Long
Dim b As Long
toprow = 3
b = toprow
For i = toprow To Cells(Rows.count, 1).End(xlUp).Row
If Not Cells(i, 1) = "" And Not Cells(i, 2) = "" Then
b = i
count = 0
z = i
End If
If Cells(i, 1) = "" Then
If Cells(i + 1, 1) = "" Then
z = i
If Not Cells(z + 1, 2) = "" Then
Cells(z + 1, 2).Cut Cells(b, 2)
i = b
b = z + 1
count = 0
ElseIf count = 0 Then
count = z
b = count
End If
End If
End If
Next i
End Sub