excelVBA 程序自动换行?

excelVBA 程序自动换行?,第1张

是说输入数据,当输入到某列时,自动定位到下一行第一格去吗?

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列,再往右就会换行。

Sub 从行拷贝到列()

'假定源数据区在sheet1,拷贝到sheet2中的目标数据区

colnum = 9 '源数据区的总列数,可根据实际情况调整

rownum = 2 '源数据区的总行数,可根据实际情况调整

col = 3 '拷贝几列以后换行,可根据实际情况调整

sheet1RowOff = 4 '源数据区首行行号,可根据实际情况调整

sheet1ColOff = 5 '源数据区首列列号,可根据实际情况调整

sheet2RowOff = 2 '目标数据区首行行号,可根据实际情况调整

sheet2ColOff = 3 '目标数据区首列列号,可根据实际情况调整

sheet1Rowp = sheet1RowOff '源数据区行指针,不必修改

sheet2Rowp = sheet2RowOff '目标数据区行指针,不必修改

sheet1Colp = sheet1ColOff '源数据区列指针,不必修改

sheet2Colp = sheet2ColOff '目标数据区列指针,不必修改

For j = sheet1RowOff To rownum + sheet1RowOff - 1

For i = sheet1ColOff To colnum + sheet1ColOff - 1

Sheet2.Cells(sheet2Rowp, sheet2Colp) = Sheet1.Cells(sheet1Rowp, i)

sheet2Colp = sheet2Colp + 1

If sheet2Colp >= col + sheet2ColOff Then

sheet2Rowp = sheet2Rowp + 1

sheet2Colp = sheet2ColOff

End If

Next

sheet1Rowp = sheet1Rowp + 1

Next

End Sub

拷贝上面的程序到你的excel宏中运行,将会把sheet1中E4:M5区域中的数据以行优先的方式逐行拷贝到sheet2中的C2:E7区域中,拷贝三个数后自动换行。如果源区域或目标区域不同,只需按注释修改相应变量的值。

如果想控制第几列换行,只需修改第5行的变量col的值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11241642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存