excel vba比较并对齐空白与非空白,并向下移动
我有一张如下表: 我想将B&C列向下移动到下一个非空白单元格,如下所示 你能帮帮我吗?可以有多个B列和C列 谢谢试试看excel vba比较并对齐空白与非空白,并向下移动,excel,vba,Excel,Vba,我有一张如下表: 我想将B&C列向下移动到下一个非空白单元格,如下所示 你能帮帮我吗?可以有多个B列和C列 谢谢试试看 Sub test() Dim Ws As Worksheet Dim rngDB As Range, rng As Range Dim vDB As Variant, vR() As Variant Dim i As Long, r As Long Dim n As Long, c As Integer, j As Integer
Sub test()
Dim Ws As Worksheet
Dim rngDB As Range, rng As Range
Dim vDB As Variant, vR() As Variant
Dim i As Long, r As Long
Dim n As Long, c As Integer, j As Integer
Set Ws = ActiveSheet
Set rngDB = Ws.UsedRange
vDB = rngDB
r = UBound(vDB, 1)
c = UBound(vDB, 2)
ReDim vR(1 To r, 1 To c)
For i = 1 To r
vR(i, 1) = vDB(i, 1)
If vDB(i, 1) = "" Then
n = n + 1
Else
For j = 2 To c
vR(i, j) = vDB(i - n, j)
Next j
End If
Next i
'rngDB = vR '<~~~ Use this to write on the same sheet.
Sheets.Add
Range("a1").Resize(r, c) = vR
End Sub
子测试()
将Ws设置为工作表
变暗rngDB As范围,rng As范围
Dim vDB作为变型,vR()作为变型
暗淡的i一样长,r一样长
尺寸n为长,c为整数,j为整数
设置Ws=ActiveSheet
设置rngDB=Ws.UsedRange
vDB=rngDB
r=UBound(vDB,1)
c=UBound(vDB,2)
雷迪姆vR(1对右,1对c)
对于i=1到r
vR(i,1)=vDB(i,1)
如果vDB(i,1)=“那么
n=n+1
其他的
对于j=2到c
vR(i,j)=vDB(i-n,j)
下一个j
如果结束
接下来我
“rngDB=vR”