Lưu các trang in thành file Excel mới (1 người xem)

Người dùng đang xem chủ đề này

baquang1984

Thành viên tiêu biểu
Tham gia
3/6/10
Bài viết
429
Được thích
44
Nghề nghiệp
Kỹ sư Lâm nghiệp
Em có chương trình để in Biên bản bàn giao rừng cho các hộ gia đình khi thực hiện click vào Button Printer để in thì được khi có kết nối với máy in.
* Công việc giờ muốn nhờ mọi người trên diễn đàn viết giúp Code VBA là:
- Khi Click vào Button Printer thì hiện một User Form và điền số thứ tự cần in (từ STT đến STT... để in) thì chương trình tự động lưu thành một file Excel. Với lựa chọn đường dẫn lưu file và đặt tên file trước khi lưu.
Trong file đính kèm em có file nguồn (Hoi_GPE) và file Kết quả mong muốn (File_KetQua_MongMuon).
Mong được mọi người trên diễn đàn giúp đỡ em xin chân thành cảm ơn!
 

File đính kèm

Mọi người trên diễn đàn giúp em chương trình này với ạ
Em cảm ơn mọi người!
 
Upvote 0
Đối với đề tài này của em không biết với giả thích như vậy có được không ạ???
Mong được các thầy, các anh, chị và các bạn trên diễn đàn giúp đỡ ạ
Em cảm ơn mọi người!
(@$%@(@$%@(@$%@(@$%@(@$%@
 
Upvote 0
- code bạn cần "chắc chắn" nằm ở bài sau: Code save as sheet hiện hành ^^^^ (mình mới thử ở #15 ...)

- công việc của bạn chỉ là "ráp code":
(1) tạo sẵn 1 sheet tạm tên bất kỳ
(2) mỗi khi in 1 STT của sheet BB_GR thì lưu 1 biên bản vào sheet đó.
(3) chọn sheet kia và dùng công cụ Add_in của bác ndu96081631 --=0
pic.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
- code bạn cần "chắc chắn" nằm ở bài sau: Code save as sheet hiện hành ^^^^ (mình mới thử ở #15 ...)

- công việc của bạn chỉ là "ráp code":
(1) tạo sẵn 1 sheet tạm tên bất kỳ
(2) mỗi khi in 1 STT của sheet BB_GR thì lưu 1 biên bản vào sheet đó.
(3) chọn sheet kia và dùng công cụ Add_in của bác ndu96081631 --=0
Em cảm ơn anh phucbugis khi em test theo hướng dẫn của anh thì không được anh ạ đây là lưu từng Sheets vào File, nhưng yêu cầu của em là Code VBA làm sao để khi em Click Buttom Printer trong file đính kèm ở trên thì chương trình sẽ tự động lưu được các trang Biên bản vào file Excel như file mẫu
Thanks
 
Upvote 0
Các thầy cô, anh chị và các bạn trên diễn đàn ra tay giúp em chương trình này được không ạ???
Em cảm ơn mọi người nhiều
 
Upvote 0
Em có chương trình để in Biên bản bàn giao rừng cho các hộ gia đình khi thực hiện click vào Button Printer để in thì được khi có kết nối với máy in.
* Công việc giờ muốn nhờ mọi người trên diễn đàn viết giúp Code VBA là:
- Khi Click vào Button Printer thì hiện một User Form và điền số thứ tự cần in (từ STT đến STT... để in) thì chương trình tự động lưu thành một file Excel. Với lựa chọn đường dẫn lưu file và đặt tên file trước khi lưu.
Trong file đính kèm em có file nguồn (Hoi_GPE) và file Kết quả mong muốn (File_KetQua_MongMuon).
Mong được mọi người trên diễn đàn giúp đỡ em xin chân thành cảm ơn!
Có cao thủ nào giúp em chương trình nay được không ạ có nhiều lượt xem và không thấy có phản hồi nào hixxx
 
Upvote 0
Có cao thủ nào giúp em chương trình nay được không ạ có nhiều lượt xem và không thấy có phản hồi nào hixxx
Bài này chẳng khó khăn gì nhưng cốc hiểu được căn cơ của vấn đề nên viết code lưu thì ra cái file chẳng giống ai
Tạm sửa lại code của bạn để cho bạn có hướng điều chỉnh code cho ra kết quả như ý
PHP:
Private Sub Cmd1_Click()
Application.ScreenUpdating = False
Dim TuSTT As Variant, DenSTT As Variant, I As Long, r
Dim newWB As Workbook, curwb As Workbook
Set curwb = ThisWorkbook
Set newWB = Workbooks.Add
curwb.Activate
TuSTT = TBox1.Text
DenSTT = TBox2.Text
If TuSTT = "" Then
    MsgBox "Chua nhap so trang bat dau IN!", , "GPE"
    TBox1.SetFocus
    Exit Sub
ElseIf DenSTT = "" Then
    DenSTT = TuSTT
End If
r = 1
For I = TuSTT To DenSTT
    [BD2].Value = I
    ActiveSheet.PrintOut From:=1, To:=1, Copies:=1
    [A1:AY39].Copy
    newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 1
    newWB.Sheets("Sheet1").[A1:AY1].ColumnWidth = 1.5
    r = r + 40
Next I
newWB.SaveAs "D:\test", 18
Application.ScreenUpdating = True
Unload Me
End Sub
 
Upvote 0
Bài này chẳng khó khăn gì nhưng cốc hiểu được căn cơ của vấn đề nên viết code lưu thì ra cái file chẳng giống ai
Tạm sửa lại code của bạn để cho bạn có hướng điều chỉnh code cho ra kết quả như ý
Em cảm ơn anh quanghai1969 đã giúp đỡ. Đối với chương trình anh viết đúng ý em rồi tuy nhiên còn một vấn đề chưa được đó là giá trị ở các Cell có công thức như "BF13", "BF10", "E12", "E13" chương trình chỏ Copy công thức và không copy giá trị của Cell đó do vậy hai Cell này đang sai.
Ở phần User Form anh có thể thiết kế thêm giúp em một Buttom là chọn nơi lưu được không ạ mong anh và mọi người giúp đỡ
Cảm ơn anh nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh quanghai1969 đã giúp đỡ. Đối với chương trình anh viết đúng ý em rồi tuy nhiên còn một vấn đề chưa được đó là giá trị ở các Cell có công thức như "BF13", "BF10", "E12", "E13" chương trình chỏ Copy công thức và không copy giá trị của Cell đó do vậy hai Cell này đang sai.
Ở phần User Form anh có thể thiết kế thêm giúp em một Buttom là chọn nơi lưu được không ạ mong anh và mọi người giúp đỡ
Cảm ơn anh nhiều!
1. Sửa lại code cho bạn copy ra có giá trị và định dạng theo mẫu gốc
2. Phần chọn nơi lưu thì mình code cho chọn đường dẫn tại BF5. Tại BF5 bạn có thể nhập D:\Test
Khả năng mình giới hạn thì chỉ có thể làm bi nhiêu thôi

PHP:
Private Sub Cmd1_Click()
Application.ScreenUpdating = False
Dim TuSTT As Variant, DenSTT As Variant, I As Long, r
Dim newWB As Workbook, curwb As Workbook
Set curwb = ThisWorkbook
Set newWB = Workbooks.Add
curwb.Activate
TuSTT = TBox1.Text
DenSTT = TBox2.Text
If TuSTT = "" Then
    MsgBox "Chua nhap so trang bat dau IN!", , "GPE"
    TBox1.SetFocus
    Exit Sub
ElseIf DenSTT = "" Then
    DenSTT = TuSTT
End If
r = 1
For I = TuSTT To DenSTT
    [BD2].Value = I
    ActiveSheet.PrintOut From:=1, To:=1, Copies:=1
    [A1:AY39].Copy
    newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 3
    [A1:AY39].Copy
    newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 4
    newWB.Sheets("Sheet1").[A1:AY1].ColumnWidth = 1.5
    r = r + 38
Next I
newWB.SaveAs [BF5], 18
Application.ScreenUpdating = True
Unload Me
End Sub
 
Upvote 0
1. Sửa lại code cho bạn copy ra có giá trị và định dạng theo mẫu gốc
2. Phần chọn nơi lưu thì mình code cho chọn đường dẫn tại BF5. Tại BF5 bạn có thể nhập D:\Test
Khả năng mình giới hạn thì chỉ có thể làm bi
Cảm ơn anh nếu khả năng của em được chút ít kỹ năng của bác thì tốt quá hix
 
Upvote 0
1. Sửa lại code cho bạn copy ra có giá trị và định dạng theo mẫu gốc
2. Phần chọn nơi lưu thì mình code cho chọn đường dẫn tại BF5. Tại BF5 bạn có thể nhập D:\Test
Khả năng mình giới hạn thì chỉ có thể làm bi nhiêu thôi
Anh quanghai1969 giúp em vấn đề này với ạ khi em ứng dùng Code của anh vào chương trình như file đính kèm thì khi chạy xong chương trình báo lỗi như ảnh
Bao_loiChuongtrinh.jpg
em gửi theo file đính kèm, tuy nhiên khi em click vào nút Continue thì chương trình vẫn thực thi bình thường.
Không biết trong code VBA em đưa vào có bị lỗi gì không ạ
Mong anh và mọi người giải thích giúp ạ.
Nếu sai thì sửa giúp em với
Em cảm ơn anh và mọi người!
 

File đính kèm

Upvote 0
Cái đó không phải lỗi đâu bạn, bạn đang xài office 2013 mà lưu về 2003 nên nó hiện lên thế. Bỏ dấu check đi thì lần sau nó không hiện lên nữa đâu.
 
Upvote 0
Cái đó không phải lỗi đâu bạn, bạn đang xài office 2013 mà lưu về 2003 nên nó hiện lên thế. Bỏ dấu check đi thì lần sau nó không hiện lên nữa đâu.
Cảm ơn bạn nhé mình bỏ dấu check đi mà vẫn bị bạn ạ không biết trong code có vấn đề gì không
 
Upvote 0
Anh quanghai1969 giúp em vấn đề này với ạ khi em ứng dùng Code của anh vào chương trình như file đính kèm thì khi chạy xong chương trình báo lỗi như ảnh
em gửi theo file đính kèm, tuy nhiên khi em click vào nút Continue thì chương trình vẫn thực thi bình thường.
Không biết trong code VBA em đưa vào có bị lỗi gì không ạ
Mong anh và mọi người giải thích giúp ạ.
Nếu sai thì sửa giúp em với
Em cảm ơn anh và mọi người!
Thay số 18 thành số 51 xem hết hay không. Mình cũng chỉ cảm giác thôi chứ thấy cái file nặng thế thì mình làm ngơ liền. Xài DCOM nên ngại file nặng lắm.
PHP:
newWB.SaveAs [BF5], 18
 
Upvote 0
Thay số 18 thành số 51 xem hết hay không. Mình cũng chỉ cảm giác thôi chứ thấy cái file nặng thế thì mình làm ngơ liền. Xài DCOM nên ngại file nặng lắm.
PHP:
newWB.SaveAs [BF5], 18
Em cảm ơn anh nhé em sẽ giảm file này xuống để nhờ anh kiểm tra giúp vì khi ứng dụng code của anh vào chương trình mới không biết có bị sai không.
 
Upvote 0
Thay số 18 thành số 51 xem hết hay không. Mình cũng chỉ cảm giác thôi chứ thấy cái file nặng thế thì mình làm ngơ liền. Xài DCOM nên ngại file nặng lắm.
PHP:
newWB.SaveAs [BF5], 18
Em nhờ anh quanghai1969 kiểm tra giúp em là, em ứng dụng Code của anh vào chương trình em gửi theo file đính kèm này có đúng không ạ em thấy chương trình chạy ra thì không được đúng lắm không biết sai ở đâu ạ.
Đối với chương trình này là em muốn xuất các trang in vào một file Excel mới như bài trước em gửi, nhưng nó khác một chút là bài trước, các số thứ tự để xuất chỉ có một trang. Nhưng chương trình này thì các số thứ tự sẽ có nhiều trang "VD số thứ tự 1 có 1 trang, Số thứ tự 2 có 2 trang ..... số thứ tự 5 có 7 trang", ở vùng dữ liệu từ [M5:O5] thể hiện các thông tin lần lượt như sau [STT, Số trang, Xem trang].
Do vậy khi xuất file đối với chương trình này là chạy hết số trang của STT 1 sau đó đến STT2 .... đến hết các STT mà ta nhập giới hạn trong Use Form và có thêm là số trang ta muốn đánh. có 2 vòng lặp for lồng nhau em đưa Code của anh vào như vậy có đúng không ạ. Mong anh kiểm tra giúp ạ
Em cảm ơn anh!
 

File đính kèm

Upvote 0
Em nhờ anh quanghai1969 kiểm tra giúp em là, em ứng dụng Code của anh vào chương trình em gửi theo file đính kèm này có đúng không ạ em thấy chương trình chạy ra thì không được đúng lắm không biết sai ở đâu ạ.
Đối với chương trình này là em muốn xuất các trang in vào một file Excel mới như bài trước em gửi, nhưng nó khác một chút là bài trước, các số thứ tự để xuất chỉ có một trang. Nhưng chương trình này thì các số thứ tự sẽ có nhiều trang "VD số thứ tự 1 có 1 trang, Số thứ tự 2 có 2 trang ..... số thứ tự 5 có 7 trang", ở vùng dữ liệu từ [M5:O5] thể hiện các thông tin lần lượt như sau [STT, Số trang, Xem trang].
Do vậy khi xuất file đối với chương trình này là chạy hết số trang của STT 1 sau đó đến STT2 .... đến hết các STT mà ta nhập giới hạn trong Use Form và có thêm là số trang ta muốn đánh. có 2 vòng lặp for lồng nhau em đưa Code của anh vào như vậy có đúng không ạ. Mong anh kiểm tra giúp ạ
Em cảm ơn anh!
Không thể viết code nhưng nếu đọc code hiểu và có thể sửa code theo yêu cầu riêng cho từng bài là kỹ năng rất quan trọng khi muốn học VBA.
PHP:
    For N = 1 To SoTrang
        [L2].Value = Trang_So & K
        [O5].Value = N
        K = K + 1
        Range([A1], [A65536].End(3)).Resize(, 12).Copy
        With newWB.Sheets("Sheet1").[A65536].End(3).Offset(1)
            .PasteSpecial 3
            .PasteSpecial 4
            .Parent.[A1:L1].ColumnWidth = 24
        End With
    Next N
 
Upvote 0
Không thể viết code nhưng nếu đọc code hiểu và có thể sửa code theo yêu cầu riêng cho từng bài là kỹ năng rất quan trọng khi muốn học VBA.
Anh quanghai1969 giúp em với ạ! code mới của anh thì các trang trắng của chương trình khi xuất ra nó chỉ có tiêu đề và không có định dạng của trang anh ạ VD Số thứ tự 5 của em có 7 trang nhưng có 2 trang trắng anh ạ khi xuất sang file mới vẫn phải để định dạng là trang trắng anh ơi. Anh sửa giúp em với
Vấn đề thêm của em là kích thước các dòng trong trang in của em là 18 tương ứng với 24 pixels có duy nhất dòng 4 là 31,5 tương ứng với 42 pixels khi xuất sang file mới có thể cố định giúp em kích thước dòng như vậy được không ạ
Em cảm ơn anh!
 
Lần chỉnh sửa cuối:
Upvote 0
Anh quanghai1969 giúp em với ạ! code mới của anh thì các trang trắng của chương trình khi xuất ra nó chỉ có tiêu đề và không có định dạng của trang anh ạ VD Số thứ tự 5 của em có 7 trang nhưng có 2 trang trắng anh ạ khi xuất sang file mới vẫn phải để định dạng là trang trắng anh ơi. Anh sửa giúp em vớiVấn đề thêm của em là kích thước các dòng trong trang in của em là 18 tương ứng với 24 pixels có duy nhất dòng 4 là 31,5 tương ứng với 42 pixels khi xuất sang file mới có thể cố định giúp em kích thước dòng như vậy được không ạEm cảm ơn anh!
Anh quanghai1969 và mọi người giup em vấn đề em gặp phải ở trênEm cảm ơn nhiều ạ!
 
Upvote 0
Không thể viết code nhưng nếu đọc code hiểu và có thể sửa code theo yêu cầu riêng cho từng bài là kỹ năng rất quan trọng khi muốn học VBA.
PHP:
    For N = 1 To SoTrang
        [L2].Value = Trang_So & K
        [O5].Value = N
        K = K + 1
        Range([A1], [A65536].End(3)).Resize(, 12).Copy
        With newWB.Sheets("Sheet1").[A65536].End(3).Offset(1)
            .PasteSpecial 3
            .PasteSpecial 4
            .Parent.[A1:L1].ColumnWidth = 24
        End With
    Next N
Anh quanghai1969 cho em hỏi chút là đối với đoạn code bên dưới của em là khi em ứng dụng Code trước của anh vào với chương trình mới này có sai không ạ??? Với Code này thì chương trình chạy đúng theo ý của em là vẫn dữ nguyên định dạng các trang còn Code mới của anh thì các dòng không có dữ liệu thì lại bị mất do vậy không đúng với yêu cầu. Mong anh giúp đỡ để chương trình chạy được như ý muốn ạ
Mã:
For N = 1 To SoTrang
        [L2].Value = Trang_So & K
        [O5].Value = N
        K = K + 1
        [A1:L45].Copy 
       newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 3
        [A1:L45].Copy
        newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 4
        newWB.Sheets("Sheet1").[A1:L1].ColumnWidth = 22
        r = r + 44
    Next N
 
Lần chỉnh sửa cuối:
Upvote 0
Anh quanghai1969 cho em hỏi chút là đối với đoạn code bên dưới của em là khi em ứng dụng Code trước của anh vào với chương trình mới này có sai không ạ??? Với Code này thì chương trình chạy đúng theo ý của em là vẫn dữ nguyên định dạng các trang còn Code mới của anh thì các dòng không có dữ liệu thì lại bị mất do vậy không đúng với yêu cầu. Mong anh giúp đỡ để chương trình chạy được như ý muốn ạ
Mã:
For N = 1 To SoTrang
        [L2].Value = Trang_So & K
        [O5].Value = N
        K = K + 1
        [A1:L45].Copy 
       newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 3
        [A1:L45].Copy
        newWB.Sheets("Sheet1").Cells(r, 1).PasteSpecial 4
        newWB.Sheets("Sheet1").[A1:L1].ColumnWidth = 22
        r = r + 44
    Next N
Thật ra với 1 file mới tinh thì khá đơn giản, nhưng với những file có code sẵn rất khó sửa code
Mình không thích đọc code vì code ai viết nấy hiểu
Tạm sửa thế này nhưng hình như kq ra lung tung lắm
PHP:
Private Sub Cmd1_Click()
Application.ScreenUpdating = False
Dim TuSTT As Variant, DenSTT As Variant, I As Long, SoTrang As Long, N As Long, K As Long
Dim newWB As Workbook, CurWB As Workbook, Trang_So As String, r As Long
Set CurWB = ThisWorkbook
Set newWB = Workbooks.Add
CurWB.Activate
TuSTT = TBox1.Text:
DenSTT = TBox2.Text
K = TxtBox3.Text
If TuSTT = "" Then
    MsgBox "Chua nhap so trang bat dau IN!", , "KIM HOANG"
    TBox1.SetFocus
    Exit Sub
ElseIf DenSTT = "" Then
    DenSTT = TuSTT
End If
Unload Me
r = 1
For I = TuSTT To DenSTT
    [M5].Value = I
    Trang_So = [Z19].Value
    SoTrang = [N5].Value
    If K + SoTrang > 200 Then Exit Sub
    For N = 1 To SoTrang
        [L2].Value = Trang_So & K
        [O5].Value = N
        K = K + 1
        [A1:L44].Copy
        With newWB.Sheets("Sheet1").Cells(r, 1)
            .PasteSpecial 1
            .Parent.[A:L].Columns.AutoFit
        End With
         r = r + 44
    Next N   
Next I
newWB.SaveAs [N6], 18
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thật ra với 1 file mới tinh thì khá đơn giản, nhưng với những file có code sẵn rất khó sửa code
Mình không thích đọc code vì code ai viết nấy hiểu
Tạm sửa thế này nhưng hình như kq ra lung tung lắm
Nhưng mà em dùng Code của anh vào chương trình vẫn xuất ra các trang in bình thương, tuy là các cột có kích thước không được như ý muốn em có thể điều chỉnh sau đó có thể in được, nhưng Code mới của anh ở bài #18 thì các dòng không có dữ liệu bị mất và chỉ để lại các dòng có dữ liệu như vậy thì không đúng, vì trong các số thứ tự xuất ra thì có cả các trang không có dữ liệu ở các dòng.
- Mình có thể cố định các trang xuất ra với kích thước của các dòng có dữ liệu là 18 được không ạ???
 
Lần chỉnh sửa cuối:
Upvote 0
Nhưng mà em dùng Code của anh vào chương trình vẫn xuất ra các trang in bình thương, tuy là các cột có kích thước không được như ý muốn em có thể điều chỉnh sau đó có thể in được, nhưng Code mới của anh ở bài #18 thì các dòng không có dữ liệu bị mất và chỉ để lại các dòng có dữ liệu như vậy thì không đúng, vì trong các số thứ tự xuất ra thì có cả các trang không có dữ liệu ở các dòng.
- Mình có thể cố định các trang xuất ra với kích thước của các dòng có dữ liệu là 18 được không ạ???
Thì sửa [A1:L18].Copy vậy thì code copy có 18 dòng
Phía dưới thì r=r+18

Nhưng nếu dữ liệu nhiều hơn 18 dòng là khóc ròng

****
Lẽ ra:
1. Nên giải thích nếu có dữ liệu thì copy như thế nào.
2. Không có dữ liệu thì lấy qua bao nhiêu dòng trống.
Như thế may ra biết cách mà code. Làm sao ai có thể đọc được ý nghĩ người khác.
 
Lần chỉnh sửa cuối:
Upvote 0
Thì sửa [A1:L18].Copy vậy thì code copy có 18 dòng
Phía dưới thì r=r+18

Nhưng nếu dữ liệu nhiều hơn 18 dòng là khóc ròng

****
Lẽ ra:
1. Nên giải thích nếu có dữ liệu thì copy như thế nào.
2. Không có dữ liệu thì lấy qua bao nhiêu dòng trống.
Như thế may ra biết cách mà code. Làm sao ai có thể đọc được ý nghĩ người khác.
Vâng em cảm ơn anh!
Đối với chương trình này thì dữ liệu xuất ra như sau
- Nếu có dữ liệu vẫn Copy cả trang in gồm 45 dòng vùng dữ liệu từ [A1:L45]
- Nếu không có dữ liệu thì vẫn để định dạng trang in là 45 dòng vùng dữ liệu từ [A1:L45]
Còn kích thước của các dòng là giống nhau là 18 tương ứng với 24 pixcels, duy nhất có dòng 4 kích thước là 36 tương ứng với 48 pixcels còn kích thước cột tự điều chỉnh sau cũng được ạ vì khi em in là in khổ A3 năm ngang.
Cảm ơn anh đã giúp đỡ!
 
Upvote 0
Vâng em cảm ơn anh!
Đối với chương trình này thì dữ liệu xuất ra như sau
- Nếu có dữ liệu vẫn Copy cả trang in gồm 45 dòng vùng dữ liệu từ [A1:L45]
- Nếu không có dữ liệu thì vẫn để định dạng trang in là 45 dòng vùng dữ liệu từ [A1:L45]
Còn kích thước của các dòng là giống nhau là 18 tương ứng với 24 pixcels, duy nhất có dòng 4 kích thước là 36 tương ứng với 48 pixcels còn kích thước cột tự điều chỉnh sau cũng được ạ vì khi em in là in khổ A3 năm ngang.
Cảm ơn anh đã giúp đỡ!

Code bài 22 thì copy cả 44 dòng rồi còn gì? Chỉnh gì nữa chứ?. Các dòng cứ định dạng sẵn thì khi copy chắc là giống kích cỡ mà
 
Upvote 0
Vâng em cảm ơn anh!
Đối với chương trình này thì dữ liệu xuất ra như sau
- Nếu có dữ liệu vẫn Copy cả trang in gồm 45 dòng vùng dữ liệu từ [A1:L45]
- Nếu không có dữ liệu thì vẫn để định dạng trang in là 45 dòng vùng dữ liệu từ [A1:L45]
Còn kích thước của các dòng là giống nhau là 18 tương ứng với 24 pixcels, duy nhất có dòng 4 kích thước là 36 tương ứng với 48 pixcels còn kích thước cột tự điều chỉnh sau cũng được ạ vì khi em in là in khổ A3 năm ngang.
Cảm ơn anh đã giúp đỡ!
Nếu muốn định dạng cho dòng dùng code này
Muốn đinh dạng cho cột thì theo cú pháp
Nhiều cột: Columns("A:C").ColumnWidth = 5
Cho 1 cột: Columns("E").ColumnWidth = 50
PHP:
        With newWB.Sheets("Sheet1").Cells(r, 1)
            .PasteSpecial 1
            .Resize(44, 12).EntireRow.RowHeight = 18
            .Offset(3).EntireRow.RowHeight = 36
            .Parent.[A:L].Columns.AutoFit
        End With
 
Upvote 0
Nếu muốn định dạng cho dòng dùng code này
Muốn đinh dạng cho cột thì theo cú pháp
Nhiều cột: Columns("A:C").ColumnWidth = 5
Cho 1 cột: Columns("E").ColumnWidth = 50
PHP:
        With newWB.Sheets("Sheet1").Cells(r, 1)
            .PasteSpecial 1
            .Resize(44, 12).EntireRow.RowHeight = 18
            .Offset(3).EntireRow.RowHeight = 36
            .Parent.[A:L].Columns.AutoFit
        End With
Em cảm ơn anh quanghai1969 đã nhiệt tình giúp đỡ, anh cho em hỏi chút là em định dạnh cho từng cột một có được không ạ theo ý của em nếu sử dụng code của anh thì em sửa như thế này có đúng không ạ
PHP:
        With newWB.Sheets("Sheet1").Cells(r, 1)
            .PasteSpecial 1
            .Resize(44, 12).EntireRow.RowHeight = 18
            .Offset(3).EntireRow.RowHeight = 36
            .Parent.[A:L].Columns("A").ColumnWidth = 8.13
            .Parent.[A:L].Columns("B").ColumnWidth = 24.38
            ......
            .Parent.[A:L].Columns("L").ColumnWidth = 39.25
        End With
Mong được anh và mọi người chỉ giúp ạ
Em cảm ơn nhiều!
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom