请vba高手指点,excel数据批量右对齐!!!

有几千行,请高手指点!!!就是批量把黄色区域的数据改成绿色区域的那种... 有几千行,请高手指点!!!
就是批量把黄色区域的数据改成绿色区域的那种
展开
 我来答
cnbubble
2017-03-30 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:776万
展开全部
Sub 重排数据()
    Dim nR As Long, i, j, n
    nR = Range("A65536").End(xlUp).Row
    For i = 1 To nR
        j = 7
        n = 16
        Do While j > 0
           If Trim(Cells(i, j).Text) = "" Then GoTo NT
           Cells(i, n).Value = Cells(i, j).Value
           n = n - 1
NT:
           j = j - 1
        Loop
    Next i
End Sub

以上代码不论你原来的7列数中间是不是有空数据、或左边个别单元格有空数据,都可以实现数据重排

追问
衷心的谢谢您!!!
hbpaoxiao2
2017-03-30 · TA获得超过2898个赞
知道大有可为答主
回答量:1962
采纳率:72%
帮助的人:881万
展开全部
sub test()
    dim rng as range
    dim brr()
    dim n 
    with activesheet
        set rng =.usedrange
        arr=rng
        redim brr(1 to ubound(arr,1),1 to ubound(arr,2))
        for i=1 to ubound(arr,1)
            n=ubound(arr,2)
            for j=ubound(arr,2) to 1 step -1
                if arr(i,j)<>"" then
                    brr(i,n)=arr(i,j)
                    n=n-1
                end if
            next
        next
        rng=brr
    end with
end sub

用宏吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2017-03-30 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:9045万
展开全部
公式
J1=IF(OR(COLUMN(A1)=COUNTIF($A1:$G1,""),ISERROR(INDEX($A1:$G1,COLUMN(A1)-COUNTIF($A1:$G1,"")))),"",INDEX($A1:$G1,COLUMN(A1)-COUNTIF($A1:$G1,"")))
右拉,下拉
追问
衷心的谢谢您!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平阳虎01
高粉答主

2017-03-30 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:5006万
展开全部
用公式就能做到,要公式吗?!
追问
行,太好了,请赐教!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式