Đức hỏi liệu có cách nào để gửi một trang tính trong sổ làm việc dưới dạng tệp đính kèm e-mail mà không cần gửi toàn bộ sổ làm việc không. Câu trả lời ngắn gọn là bạn không thể — một trang tính, bản thân nó, không thể tồn tại dưới dạng “thực thể”

mà bạn có thể đính kèm vào e-mail. Bạn chỉ có thể gửi tệp dưới dạng tệp đính kèm vào e-mail, có nghĩa là bạn phải có tệp sổ làm việc để gửi.

Tất nhiên, thật dễ dàng để tạo một sổ làm việc từ một trang tính. Nếu bạn chỉ cần thực hiện việc này một lần, thì cách dễ nhất là làm theo các bước sau:

  1. Bấm chuột phải vào tab cho trang tính bạn muốn gửi e-mail.

  2. Từ menu Ngữ cảnh kết quả, chọn Di chuyển hoặc Sao chép. Excel sẽ hiển thị hộp thoại Di chuyển hoặc Sao chép. (Xem Hình 1.)

  3. Sử dụng danh sách thả xuống Để đặt sách, chọn Sách mới.

  4. Đảm bảo rằng hộp kiểm Tạo bản sao được chọn.

  5. Bấm OK.

Tại thời điểm này, bạn sẽ thấy một sổ làm việc mới với một trang tính trong đó — một bản sao của trang tính bạn muốn gửi. Lưu sổ làm việc này và gửi e-mail, và bạn đã hoàn thành những gì bạn muốn làm. Sau khi nó được gửi qua e-mail, bạn có thể xóa sổ làm việc khỏi hệ thống của mình, vì trang tính của bạn cũng vẫn nằm trong sổ làm việc gốc.

Nếu bạn cần thường xuyên gửi trang tính hiện tại qua e-mail cho người khác, bạn có thể muốn tạo một macro sẽ thực hiện nhiệm vụ cho bạn. Macro bạn tạo sẽ khác nhau, tùy thuộc vào chương trình e-mail bạn đang sử dụng. Vì lý do này, không thể cung cấp câu trả lời toàn diện dựa trên vĩ mô trong mẹo này. Tuy nhiên, có thể mang tính hướng dẫn để cung cấp một ví dụ về macro có thể gửi e-mail một trang tính bằng cách sử dụng Outlook làm chương trình thư.

Sub EmailWithOutlook()

Dim oApp As Object     Dim oMail As Object     Dim WB As Workbook     Dim FileName As String     Dim wSht As Worksheet     Dim shtName As String

Application.ScreenUpdating = False

' Make a copy of the active worksheet     ' and save it to a temporary file     ActiveSheet.Copy     Set WB = ActiveWorkbook

FileName = WB.Worksheets(1).Name     On Error Resume Next     Kill "C:\" & FileName     On Error GoTo 0     WB.SaveAs FileName:="C:\" & FileName

'Create and show the Outlook mail item     Set oApp = CreateObject("Outlook.Application")

Set oMail = oApp.CreateItem(0)

With oMail         'Uncomment the line below to hard code a recipient         '.To = "[email protected]"

'Uncomment the line below to hard code a subject         '.Subject = "Subject Line"

'Uncomment the lines below to hard code a body         '.body = "Dear John" & vbCrLf & vbCrLf & _           '"Here is the file you asked for"

.Attachments.Add WB.FullName         .Display     End With

'Delete the temporary file     WB.ChangeFileAccess Mode:=xlReadOnly     Kill WB.FullName     WB.Close SaveChanges:=False

'Restore screen updating and release Outlook     Application.ScreenUpdating = True     Set oMail = Nothing     Set oApp = Nothing End Sub

Lưu ý rằng macro thực hiện hiệu quả những gì đã được thực hiện trong các bước trước đó:

nó sao chép trang tính sang một sổ làm việc mới và sau đó gửi e-mail cho sổ làm việc đó. Sau đó, nó sẽ xóa sổ làm việc và đưa bạn trở lại trạng thái sử dụng Excel bình thường.

Macro lưu sổ làm việc tạm thời (sổ được gửi qua thư điện tử) vào ổ C:. Nếu bạn muốn lưu sổ làm việc ở nơi khác (hoặc nếu các hạn chế hệ thống của bạn ngăn bạn lưu tệp vào thư mục gốc của hệ thống), chỉ cần thay đổi vị trí trong hai dòng mã tham chiếu đến ổ C:.

Có một nhược điểm tiềm ẩn khi sử dụng phương pháp được nêu chi tiết trong mẹo này: Khi bạn tạo bản sao của trang tính vào sổ làm việc mới, Excel có thể thực hiện một số điều thú vị với một số tham chiếu có thể có trong trang tính đã sao chép. Ví dụ: giả sử bạn muốn sao chép và gửi e-mail Sheet1 từ sổ làm việc gốc. Tuy nhiên, Sheet1 bao gồm một số tham chiếu, trong công thức, đến các ô trong Sheet2 và Sheet3. Khi bạn tạo bản sao của Sheet1 sang sổ làm việc mới, Excel sẽ duy trì các tham chiếu đó trở lại trang tính trong sổ làm việc gốc. Mặc dù Sheet1 đã sao chép có thể được gửi qua email cho người khác, nhưng khi người đó cố gắng mở nó, các tham chiếu sẽ không còn hoạt động bình thường vì người đó không có tham chiếu đến sổ làm việc gốc.

Có ba giải pháp tiềm năng cho điều này. Đầu tiên, rõ ràng, là đảm bảo rằng bạn không gửi e-mail một trang tính trong sổ làm việc mới, nhưng tất cả các trang tính mà người nhận có thể cần. Giải pháp thứ hai là sử dụng kỹ thuật sao chép và dán để dán các giá trị vào sổ làm việc mới.

Cuối cùng, bạn có thể sao chép trang tính gốc và sau đó, trong bản sao, hãy tìm kiếm tất cả các tham chiếu bên ngoài và loại bỏ chúng.

Nếu bạn đang tìm kiếm một cuộc thảo luận chuyên sâu hơn về cách gửi e-mail một trang tính bằng các chương trình khác nhau, thì bạn chắc chắn sẽ muốn truy cập trang Web sau:

http://www.rondebruin.nl/win/section1.htm

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (8508) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: