code này đảm nhận việc copy và giữ định dạng.
Còn pdf thì hình như có code rồi mà
Private Sub CommandButton1_Click()
Dim sArr(), Wb As Workbook, NewWb As Workbook, NewWs As Worksheet, i&, j&, k&
Set Wb = ActiveWorkbook
Set NewWb = Workbooks.Add
j = NewWb.Sheets.Count
For i = 0 To LB1.ListCount - 1
If LB1.Selected(i) Then
k = k + 1
'sArr = Wb.Sheets(LB1.List(i)).UsedRange.Copy
Wb.Sheets(LB1.List(i)).UsedRange.Copy
If k <= j Then
Sheets("Sheet" & k).Select
With NewWb.Sheets("Sheet" & k)
'.Range("A1").Resize(UBound(sArr), UBound(sArr, 2)) = sArr
.Range("A1").Select
.Paste
.PasteSpecial xlPasteColumnWidths
.Name = LB1.List(i)
End With
Else
With NewWb
.Sheets.Add After:=.Sheets(.Sheets.Count)
Set NewWs = ActiveSheet
With NewWs
'.Range("A1").Resize(UBound(sArr), UBound(sArr, 2)) = sArr
.Range("A1").Select
.Paste
.PasteSpecial xlPasteColumnWidths
.Name = LB1.List(i)
End With
End With
End If
End If
Next
End Sub
- Code xuất ra PDF, xuất tất cả Sheet ra 1 file pdf duy nhất.
- Trước khi xuất PDF nên đặt mỗi sheet có độ rộng vừa 1 khổ A4 cho đẹp, chứ như cài đặt hiện tại thì xuất pdf ra rất xấu.
- Hy vọng là đúng ý của bạn.
- Sheets(Array("Nhaplieu", "1", "2", "3", "4", "5")).Select
code này là chọn các sheet, bạn để nó ý như phần check box là ổn