Giúp em copy cả độ rộng cột và chiều cao hàng (1 người xem)

  • Thread starter Thread starter LYSM
  • Ngày gửi Ngày gửi
Liên hệ QC

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

LYSM

Thành viên thường trực
Tham gia
16/3/11
Bài viết
290
Được thích
26
Em chào các anh chị, sau khi mày mò chắp vá em cũng cho ra được code gửi mail đồng loạt với attacth file riêng biệt. Nhưng những file được copy ra có độ rộng cột và hàng không bằng file gốc, nhờ các anh chị sửa giúp em ạ. Em cảm ơn nhiều!
Em copy code lên cho anh chị dễ nhìn, cụ thể trong file đính kèm ạ.

Public Sub CommandButton1_Click()
Dim OutApp As Object
Dim OutMail As Object
Dim FileName As String
Dim Ws As Worksheet
Application.ScreenUpdating = 0
Application.DisplayAlerts = False
Set OutApp = CreateObject("Outlook.Application")
For Each Ws In Worksheets
If Ws.Name <> "Tong ket" Then
FileName = "PA tháng " & Month(Date - 15) & "_" & Ws.Name & ".xls"
Ws.[A1:H30].Copy
Workbooks.Add
ActiveSheet.Paste

With ActiveWorkbook
.SaveAs ThisWorkbook.Path & "\" & FileName, FileFormat:=xlNormal
.Close
End With
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Ws.Cells(5, 8)
.Subject = "PA tháng " & Month(Date - 15)
.Body = "Dear all " & cell & vbNewLine & "Toi gui moi nguoi cham diem PA, neu khong co y kien thi in ky chuyen TBQA" & vbNewLine _
& "Tran Trong"
.Attachments.Add ThisWorkbook.Path & "\" & FileName
.Display
End With
Kill ThisWorkbook.Path & "\" & FileName
End If
Next
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub
 

File đính kèm

Sửa lại dòng này
Ws.[A1:H30].Copy thành Ws.[A:H].Copy

.......

Chẳng hiểu tại sao có biến Cell
 
Lần chỉnh sửa cuối:
Upvote 0
Sửa lại dòng này
Ws.[A1:H30].Copy thành Ws.[A:H].Copy

.......

Chẳng hiểu tại sao có biến Cell
Đơn giản vậy mà em loay hoay mãi, vì em đi cop nhặt nên nó linh tinh vậy đó anh. Còn 2 vấn đề nữa em mới phát hiện ra là nếu em mở 1 file khác thì nó cũng làm luôn cả file đó và file name tiếng việt có dấu nó báo lỗi, có cách nào khắc phục nốt 2 điểm này anh Quanghai1969 giúp em nốt với ạ. Em cảm ơn nhiều!
 
Upvote 0
Đơn giản vậy mà em loay hoay mãi, vì em đi cop nhặt nên nó linh tinh vậy đó anh. Còn 2 vấn đề nữa em mới phát hiện ra là nếu em mở 1 file khác thì nó cũng làm luôn cả file đó và file name tiếng việt có dấu nó báo lỗi, có cách nào khắc phục nốt 2 điểm này anh Quanghai1969 giúp em nốt với ạ. Em cảm ơn nhiều!
1. For Each Ws In ThisWorkbook.Worksheets
2. Không đặt tên bằng tiếng Việt có dấu là được rồi. Xử cũng đơn giản nhưng lười quá.
 
Upvote 0
1. For Each Ws In ThisWorkbook.Worksheets
2. Không đặt tên bằng tiếng Việt có dấu là được rồi. Xử cũng đơn giản nhưng lười quá.

Vấn đề thứ 2 em đã cũng nghĩ đến, nhưng phòng em có nhiều người tên trùng nhau quá, như Dung, Dũng, Hương, Hường, Tuyên, Tuyến :( nên dễ gây nhầm lẫn ạ. Thôi anh giúp cho em nốt phần này đi :P
 
Upvote 0
Vấn đề thứ 2 em đã cũng nghĩ đến, nhưng phòng em có nhiều người tên trùng nhau quá, như Dung, Dũng, Hương, Hường, Tuyên, Tuyến :( nên dễ gây nhầm lẫn ạ. Thôi anh giúp cho em nốt phần này đi :P
Thay dòng: Kill ThisWorkbook.Path & "\" & FileName
thành dòng:
CreateObject("Scripting.FileSystemObject").DeleteFile ThisWorkbook.Path & "\" & FileName
 
Upvote 0
Web KT

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

Back
Top Bottom