(Các) trang tính thư cho một hoặc nhiều người sử dụng VBA trong Microsoft Excel
Thêm trang tính mới, đổi tên trang tính thành thư.
Mỗi thư bạn muốn gửi sẽ sử dụng 3 cột.
-
trong cột A – nhập trang tính hoặc tên trang tính mà bạn muốn gửi.
-
trong cột B – nhập địa chỉ E-mail.
-
trong cột C – tiêu đề chủ đề xuất hiện ở đầu thư E-mail.
Cột A: C nhập thông tin cho thư đầu tiên và bạn có thể sử dụng cột D: F cho thư thứ hai.
bạn có thể gửi 85 e-mail khác nhau theo cách này (85 * 3 = 255 cột).
Sub Mail_sheets() Dim MyArr As Variant Dim last As Long Dim shname As Long Dim a As Integer Dim Arr() As String Dim N As Integer Dim strdate As String For a = 1 To 253 Step 3 If ThisWorkbook.Sheets("mail").Cells(1, a).Value = "" Then Exit Sub Application.ScreenUpdating = False last = ThisWorkbook.Sheets("mail").Cells(Rows.Count, a).End(xlUp).Row N = 0 For shname = 1 To last N = N + 1 ReDim Preserve Arr(1 To N) Arr(N) = ThisWorkbook.Sheets("mail").Cells(shname, a).Value Next shname ThisWorkbook.Worksheets(Arr).Copy strdate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss") ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _ & " " & strdate & ".xls" With ThisWorkbook.Sheets("mail") MyArr = .Range(.Cells(1, a + 1), .Cells(Rows.Count, a + 1).End(xlUp)) End With ActiveWorkbook.SendMail MyArr, ThisWorkbook.Sheets("mail").Cells(1, a + 2).Value ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True Next a End Sub