有一些数据,按照日期将数据填充在每一个设计好的Excel表格,如果数量超出表格范围的填在下一个表格中 这种功能怎么实现
这种功能可以通过编写宏来实现。以下是一个简单的示例:
-
在Excel中创建一个工作簿,并在每个工作表中设置好表格。
-
打开VBA编辑器,在“工具”菜单下选择“宏”或按下“ALT+F8”打开宏窗口。
-
在宏窗口中,输入以下代码:
Sub FillData() Dim ws As Worksheet Dim i As Long, j As Long, k As Long Dim lRow As Long, lCol As Long
'设置起始行和列 i = 1 j = 1
For Each ws In Worksheets '获取当前工作表的最后一行和最后一列 lRow = ws.Cells.Find(What:="", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row lCol = ws.Cells.Find(What:="", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'循环填充数据
For k = 1 To lRow
ws.Cells(k, j).Value = i
i = i + 1
If i > lRow * lCol Then Exit Sub '如果超出范围,则退出宏
'如果当前列已经填满,则移到下一列
If k = lRow Then
j = j + 1
End If
Next k
Next ws
End Sub
- 点击“运行”按钮或按下“F5”键来运行宏。
该宏会从第一个工作表开始,按照从左到右、从上到下的顺序填充数据。当数据数量超出当前工作表的范围时,会自动转移到下一个工作表进行填充。
原文地址: https://www.cveoy.top/t/topic/q1F 著作权归作者所有。请勿转载和采集!