【发布时间】:2020-09-14 08:23:30
【问题描述】:
我有一个电子表格,每天会有不同的行数。
我试图将该行数除以 6,然后将信息复制到同一个工作簿中的六个不同工作表中。
例如——假设原始工作表有 3000 行。 3000 行除以 6 (500),复制到六个不同的工作表中,或者可能有 2475 行,现在将其除以 6 并尝试保持工作表之间拆分的记录数大致相同(保持工作表与原始 3000 或 2475行)在同一个工作簿中。
我有创建 6 个额外工作表的代码,但记录没有被复制到这些工作表中。
Option Explicit
Public Sub CopyLines()
Dim firstRow As Long
Dim lastRow As Long
Dim i As Long
Dim index As Long
Dim strsheetName As String
Dim sourceSheet As Worksheet
Dim strWorkbookName As Workbook
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Sheets.Add
Set sourceSheet = Workbooks(strWorkbookName).Worksheets(strsheetName)
firstRow = sourceSheet.UsedRange.Row
lastRow = sourceSheet.UsedRange.Rows.Count + firstRow - 1
index = 1
For i = firstRow To lastRow
sourceSheet.Rows(i).Copy
Select Case index Mod 6
Case 0:
strsheetName = "Sheet1"
Case 1:
strsheetName = "Sheet2"
Case 2:
strsheetName = "Sheet3"
Case 3:
strsheetName = "Sheet4"
Case 4:
strsheetName = "Sheet5"
Case 5:
strsheetName = "Sheet6"
End Select
Worksheets(strsheetName).Cells((index / 6) + 1, 1).Paste
index = index + 1
Next i
End Sub
【问题讨论】:
-
这很简单,你试过什么?你的代码在哪里?你有错误吗?
-
@Damian 刚刚编辑了我的问题并添加了代码请看一下