宏从单个工作表中按行数创建多个工作簿

时间:2015-01-07 15:21:45

标签: vba excel-vba excel

到目前为止,我已经创建了一个宏,用于将文件夹中多个工作簿中的1行数据拉入到具有稳定标题部分(3行)的单个.csv工作表中。

下一步是上传数据,但我们的系统只接受最多40行的.csv文件。

我需要一个可以创建多个工作簿的宏,每个工作簿有40行数据(包括标题行(1-3)。有157列,每行都是唯一的

我仍然是VBA的初学者,所以任何帮助都会非常感激!

如果您需要我提供更多信息以便提供帮助,请与我们联系。

谢谢

1 个答案:

答案 0 :(得分:0)

这应该让你开始:

Sub splitSheet()

    Const maxLines As Integer = 40

    Dim wsTarget As Worksheet
    Dim wbNew As Workbook
    Dim wsNew As Worksheet
    Dim rngTarget As Range
    Dim rngTemp As Range

    Set wsTarget = ThisWorkbook.Sheets(1)
    Set rngTarget = wsTarget.Range("A1", wsTarget.Range("A" & wsTarget.Cells.Rows.Count).End(xlUp)).EntireRow

    Set rngTemp = wsTarget.Range("1:" & maxLines)

    Do
        Set wbNew = Workbooks.Add
        Set wsNew = wbNew.Worksheets.Add

        rngTemp.Copy
        wsNew.Paste

        Set rngTemp = rngTemp.Offset(maxLines, 0)

    Loop Until Intersect(rngTemp, rngTarget) Is Nothing

End Sub