Excel 學習記錄根據總表的每一行生成新的excel文件,生成個人工資條場景使用

原始數據如下
表格內容

在這裏插入圖片描述
編輯代碼

Public Sub 生成文件()
'
'類似工資條單獨生成多了表vba,表名根據文件中數據生成
'
    Application.ScreenUpdating = False
    Dim arr, wb As Workbook, i As Long, mFullpath$, FolderPath$
    arr = Sheet1.UsedRange.Value
    FolderPath = ThisWorkbook.Path & "\"
    For i = 2 To UBound(arr)   ' 數據行,第3行開始,如果不是,這裏修改****
        If arr(i, 2) <> "" Then
            Set wb = Application.Workbooks.Add
            With wb
                With .Sheets(1)
                    Application.ActiveWorkbook.Sheets(1).Name = arr(i, 3) '重命名sheet名
                    For j = 1 To UBound(arr, 2)
                        .Cells(1, j) = arr(1, j)         ' 取表頭
                        .Cells(2, j).Value = arr(i, j)  ' 取內容
                    Next
                End With    '
                mFullpath = FolderPath & arr(i, 3) & ".xlsx"
                .SaveAs Filename:=mFullpath, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
                .Close
            End With
        End If
    Next
    Set wb = Nothing
    Application.ScreenUpdating = True
End Sub

複製代碼,根據對應表格的格式修改行列關係後

點擊執行即可,建議測試生成效果,調試下 F8 步進測試下
結果展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章