这种功能可以通过编写VBA宏实现。具体步骤如下:

  1. 创建一个Excel工作簿,其中包含多个设计好的表格(每个表格有7行空白行用于填充数据)和一张数据表格(包含日期和数据)。

  2. 打开VBA编辑器,在工程资源管理器中双击“这个工作簿”,打开代码窗口。

  3. 在代码窗口中插入以下代码:

Sub FillData() Dim dataSheet As Worksheet Dim tableSheet As Worksheet Dim lastRow As Integer Dim tableRow As Integer Dim currentDate As Date Dim i As Integer

Set dataSheet = Worksheets("数据表格")
Set tableSheet = Worksheets("表格1")
lastRow = dataSheet.Cells(Rows.Count, 1).End(xlUp).Row
tableRow = 2
currentDate = dataSheet.Cells(2, 1).Value

For i = 2 To lastRow
    If dataSheet.Cells(i, 1).Value <> currentDate Then
        Set tableSheet = tableSheet.Next
        tableRow = 2
        currentDate = dataSheet.Cells(i, 1).Value
    End If
    
    If tableRow > 7 Then
        Set tableSheet = tableSheet.Next
        tableRow = 2
    End If
    
    tableSheet.Cells(tableRow, 1).Value = dataSheet.Cells(i, 1).Value
    tableSheet.Cells(tableRow, 2).Value = dataSheet.Cells(i, 2).Value
    tableSheet.Cells(tableRow, 3).Value = dataSheet.Cells(i, 3).Value
    tableSheet.Cells(tableRow, 4).Value = dataSheet.Cells(i, 4).Value
    tableSheet.Cells(tableRow, 5).Value = dataSheet.Cells(i, 5).Value
    tableSheet.Cells(tableRow, 6).Value = dataSheet.Cells(i, 6).Value
    tableSheet.Cells(tableRow, 7).Value = dataSheet.Cells(i, 7).Value
    
    tableRow = tableRow + 1
Next i

End Sub

  1. 解释代码中的参数含义:
  • dataSheet:数据表格所在的工作表对象。
  • tableSheet:当前要填充数据的表格对象。
  • lastRow:数据表格中最后一行的行号。
  • tableRow:当前要填充数据的表格行号。
  • currentDate:当前正在填充数据的日期。
  1. 运行宏。在VBA编辑器中按F5键或点击“运行”按钮即可。

通过以上代码,我们可以实现按照生产日期将数据填充在每一个设计好的Excel表格中,并且确保不同日期的数据不放在一个表格中。

有一些数据,按照生产日期将数据填充在每一个设计好的Excel表格,表格共有7行用于填充的空白行,如果数量超出表格空白行范围的填在下一个表格空白行中,通过日期的不同确保不同日期的数据不放在一个表格中 这种功能怎么实现 并解释宏的每个参数的含义

原文地址: https://www.cveoy.top/t/topic/q2v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录