EXCEL高手请进。当某个单元格为空时在另外表格复制该行,当不为空时拆分该行

例如:如果A1单元格根据单元格M的内容,复制该行到另外一个表格,要求:根据E1中分号(以某个有规律的数据)的个数拆分分,如果没有分号就直接复制该行,如果是2个分号(;)就... 例如:如果 A1单元格 根据单元格M的内容,复制该行到另外一个表格,要求:根据E1中分号(以某个有规律的数据)的个数拆分分,如果没有分号就直接复制该行,如果是2个分号(;)就拆分2行, 3个分号(;)就拆分3行
需要判断 为空和不为空 的代码,和复制该行的代码
展开
 我来答
我的王是金闪闪4o
推荐于2016-12-03 · TA获得超过6700个赞
知道大有可为答主
回答量:7194
采纳率:42%
帮助的人:3345万
展开全部

这个要用VBA来做。如果在原表中操作涉及到插入行

如果是复制数据到新表。需要循环复制粘贴。

交给程序完成吧。

sub a()
dim i%,j%,k%,arr
k=2
with sheets(2) ' 假设结果是复制到第2个表中
rows(1).copy .[a1]  '复制第1行到表2
for i=2 to [k65536].end(3).row  '从第2行到最后个有数据的行
     if instr(1,range("M"&i),";",vbtextcompare)>0 then '如果存在分号,注意这个分号是英文的
        arr=split(range("M"&i),";") '以分号分隔为数组
        for j=0 to ubound(arr)
             range("M"&i).copy .range("A"&k)  '复制第i行到表2
             .range("M"&k)=arr(j)  '更改新表中K行的M列数据为数组第J个元素
            k=k+1  'K加1,换行
       next j
    else
        rows(i).copy .range("A"&k)
        k=k+1
    end if
next i
end with
end sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式