excel 通过VBA实现到达某列自动换行到下一行

[复制链接]
查看11 | 回复2 | 2009-3-7 18:19:56 | 显示全部楼层 |阅读模式
例如在SHEET 1 中的数据向SHEET 2中复制,我要实现按行复制,达到某列时自动换下一行,请帮助详细说明如何使用VBA实行,我对此一窍不通。
以下是我在百度知道找到的答案,但我不会流程,请详细说明如何建立VBA及使用,如果不这么麻烦可以使用工式实现就更好了,感谢!!
以下是引用:
excel VBA 程序自动换行?
悬赏分:15 - 解决时间:2008-8-1 18:00
怎么实现一行数据记录输入,到达某列自动换行到下一行。
提问者: fxs320 - 助理 二级 最佳答案
是说输入数据,当输入到某列时,自动定位到下一行第一格去吗?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column > 5 Then
Cells(Target.Row + 1, 1).Select
End If
End Sub
上面是>5,即数据输到E列,再往右就会换行。
回答者: tbwind - 魔导师 十一级 7-30 16:58
我前面可能说麻烦了,我要实现的结果是如下的。因为不会发样表,所以举下例(不计空格)
在SHEET1表中第1行自A1至I1有一行数据例如1 2 3 4 5 6 7 8 9,我希望复制到SHEET2后直接变成
1 2 3
4 5 6
7 8 9
而且是第第几列换行是可控的,最好是可以通过公式实现,因为我不懂VBA,谢谢!

回复

使用道具 举报

千问 | 2009-3-7 18:19:56 | 显示全部楼层
Sub 从行拷贝到列()
'假定源数据区在sheet1,拷贝到sheet2中的目标数据区
colnum = 9 '源数据区的总列数,可根据实际情况调整
rownum = 2 '源数据区的总行数,可根据实际情况调整
col = 3 '拷贝几列以后换行,可根据实际情况调整
sheet1RowOff = 4 '源数据区首行行号,可根据实际情况调整
sheet1ColOff = 5 '源数据区首列列号,可根据实际情况调整
sheet2RowOff = 2 '目标数据区首行行号,可根据实际情况调整
sheet2ColOff = 3 '目标数据区...
回复

使用道具 举报

千问 | 2009-3-7 18:19:56 | 显示全部楼层
按你的例子,在sheeet2中a1输入以下公式 =INDIRECT("sheet1!"&CHAR(64+(ROW()-1)*3+COLUMN())&"$1") 拖到c1,然后向下拖。(控制到哪一列,修改公式中的3)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行