excel 上怎样VBA实现到达某列自动换行到下一行

Excel上一行有4个单元格有数据,怎样用VBA实现在第一个单元格前插入一个新单元格,则这4个有数据的单元格都后移,并且第4个换到一下行。也就是说一行只能有4个列。多的就... Excel上一行有4个单元格有数据,怎样用VBA实现在第一个单元格前插入一个新单元格,则这4个有数据的单元格都后移,并且第4个换到一下行。也就是说一行只能有4个列。多的就换行。 展开
 我来答
amw_2738
2012-03-27 · TA获得超过391个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:293万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
If Len(Cells(r, 5)) > 0 And Target.Column < 5 Then
Application.EnableEvents = False
If Len(Cells(r + 1, 1)) = 0 Then
Cells(r + 1, 1) = Cells(r, 5)
Cells(r, 5) = ""
Application.EnableEvents = True
Else
If Len(Cells(r + 1, 4)) = 0 Then
Range("A" & r + 1).Insert xlShiftToRight
Cells(r + 1, 1) = Cells(r, 5)
Cells(r, 5) = ""
Application.EnableEvents = True
Else
Range("A" & r + 1).Insert xlShiftToRight
Application.EnableEvents = True
Cells(r + 1, 1) = Cells(r, 5)
Cells(r, 5) = ""
End If
End If
End If
End Sub
百度网友140bab6
2012-03-27 · TA获得超过104个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:138万
展开全部
貌似只有vba实现了
问题: 貌似如果中间的有换行。那他下面的就都要向后换行啊。
按就定义个 integer的数组吧。
之后没插入一个数据都顺序进行动态写入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-03-27
展开全部
你这样做 当数据比较多的时候 会感到很麻烦 其实你这样操作是每次都在 重写整张表的 记录……不知道你用来干什么……最好还是不这样做数据的规划……
我要是你我就只让这些数据 在一行或者在一列 以后的 打印、汇总、排版什么的再做后续处理……
那么给一个思路 就是当你在某一行前面或者那四列里边的某个位置插入 一个单元格后 接着就把多出来的第五列的数据剪下 然后插入 下一行的第一列的前面 如此往复 知道 第五列为空……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式