Phương pháp in ấn hàng loạt này phù hợp với nhu cầu in ấn số lượng lớn về danh sách thí sinh thi vào đại học, in giấy họp phụ huynh, in bản lương cho nhân viên công ty, ... Cách thực hành cụ thể mời các bạn theo dõi bài viết hướng dẫn chi tiết sau.
Xem bài học trước
Video hướng dẫn thực hành
Tạo VLOOKUP
Tạo VLOOKUP khi tự động chạy số báo danh các mục như tên, ngày sinh, điểm, ... sẽ tự động hiển thị theo số báo danh.
Bạn đang xem: Code in hàng loạt trong excel
Ta sẽ làm như sau kích vào ô tên thí sinh gõ =VLOOKUP(kích vô ô SBD chấm phẩy qua sheet dữ liệu bôi đen hết dữ liệu chấm phẩy ở mục tên là 2 chấm phẩy 0) -> Enter.
VD: =VLOOKUP(D4;Data!A1:J16;2;0)
Khi tạo xong sẽ được kết quả như hình. Có thể thử nghiệm bằng cách nhập SBD xem có hiện tên ra không nếu hiện ra là ok.
Ở các mục Ngày Sinh ta cũng thực hiện như ở cột tên ta chỉ thay số 2 thành số 3 -> Enter.
Ở mục ngày sinh t đổi sang định dạng ngày tháng bằng cách kích chuột phải vô ô ngày sinh -> Format Cells -> Date -> Ok.
Các mục tiếp theo bạn cũng thực hiện tương tự chỉ thay số 2 thành 3 4 5 cho đến mục cuối cùng. Kết quả khi hoàn thành như hình bên dưới.
In ấn nhanh hàng loạt.
Giờ ta sẽ bắt đầu viết code để thực hiện việc in ấn hàng loạt.Đầu tiên mở Visual Basic lên bằng phím tắt Alt+F11 -> chuột phải vào Sheet 2 -> Insert -> Module.
Đầu tiên ta sẽ mở đầu chương trình là Sub Tên chương trình viết không cách không dấu Enter sẽ tự tạo ra phần kết của chương trình.
Khai báo i và i sẽ chạy từ số báo danh đầu tiên đến số báo danh cuối cùng. Dim i As Integer và i = 2 tại vì số báo danh đầu tiên nằm ở ô số 2.Dùng vòng lặp While để mở đầu vòng lặp và Wend để kết thúc vòng lặp.Mở đầu là while đến ThisWorkbook sheets(1) là sheet dữ liệu cần in, cells(i, 1) "" là hàm này sẽ chạy ở cột 1 và chạy từ i=2 đến khi gặp rỗng nó sẽ dừng.Tiếp theo sẽ gán vị trí số báo danh để khi chạy thì phần số báo danh tăng lên và các mục khác sẽ tự động chạy theo. Gõ This
Workbook.Sheets(2) là Sheet chưa phần để in ra Cells(4, 4) là phần ô số báo danh ở cột 4 hàng 4, = This
Workbook.Sheets(1).Cells(i, 1) là gán cho phần dữ liệu.Cho i tăng sau mỗi lần lập i = i + 1 và kết thúc bằng Wend.
Đến phần code để in đầu tiên vẫn là This
Workbook tiếp đến Sheets(2) là Sheet chứa phần cần in, và Print
Out preview = False
Nếu có máy khi bắt đầu in thì nó tự in ra nhưng vì không có máy in nên chỉ in ra File PDF và đặt tên cho File PDF khi lưu và chạy liên tục cho đến thí sinh cuối cùng.
Tạo Macro
Tạo Macro khi cần in ta chỉ việc kích vào Macro mà không cần phải vào Visual Basic hay viết lại code.Vào Developer -> Insert -> Button -> Giữ chuột kéo -> kích vào tên chương trình -> ok.
Nếu muốn in một vài Danh sách thì sử dụng vòng lặp For Next.VD: Muốn in từ hàng số 3 đến hàng số 5.
Đoạn cos của in ấn hàng loạt:
Sub in_hang_loat()Dim i As Integeri = 2While This
Workbook.Sheets(1).Cells(i, 1) "" This
Workbook.Sheets(2).Cells(4, 4) = This
Workbook.Sheets(1).Cells(i, 1) This
Workbook.Sheets(2).Print
Out preview = False i = i + 1
Thông thường, khi các bạn muốn xóa ảnh trong khi học Excel thì sẽ phải chọn vào nó rồi bấm nút Delete để xóa. Nhưng nếu có hàng trăm hình ảnh muốn xóa cùng lúc thì cách làm này sẽ rất mất thời gian. Các bạn hãy sử dụng cách xóa ảnh hàng loạt được hướng dẫn ngay sau đây.
Để xóa hàng loạt ảnh trong Excel, các bạn có thể dùng VBA để tạo ra một nút lệnh xóa ảnh như trong hình ảnh dưới đây. Khi đó, các bạn chỉ cần bấm nút lệnh là tất cả ảnh sẽ được xóa bỏ nhanh chóng.




Cách xóa ảnh hàng loạt trong Excel
Bước 1: Tải file mẫu thực hành
Chúng mình đã tạo ra một file mẫu về xóa ảnh hàng loạt trong Excel và gắn vào mục “Tài liệu đính kèm”. Các bạn bấm vào nút này ngay đầu bài viết thì sẽ được chuyển tới vị trí để tải file nhé.


Sau khi tải về và mở file lên thì các bạn sẽ thấy file có 2 sheet như sau:

Chúng ta sẽ thao tác ở sheet Thuc
Hanh các bạn nhé, còn sheet VBA_Xoa
Anh là kết quả mà chúng mình làm được sau khi dùng VBA để tạo nút lệnh xóa ảnh hàng loạt trong Excel.
Bước 2: Mở cửa sổ VBA trong Excel
Để mở cửa sổ VBA trong Excel thì các bạn bấm vào thẻ Developer => chọn công cụ Visual Basic. Hoặc các bạn cũng có thể bấm tổ hợp phím tắt Excel là Alt + F11 thì cũng có thể mở được cửa sổ này. Chúng ta sẽ thực hiện thao tác này khi đang ở trên sheet VBA_Xoa
Anh các bạn nhé.

Có một số bạn chưa bật thẻ Developer lên thì sẽ không tìm thấy nó. Các bạn chỉ cần vào thẻ File => chọn mục Options => chọn mục Customize Ribbon trong bảng chọn Excel Options => tích vào ô Developer ở bên bảng Main Tabs rồi bấm OK là được. Sau khi thẻ Developer hiện lên rồi thì các bạn có thể thực hiện thao tác đã hướng dẫn phía trên.

Bước 3: Thao tác trong cửa sổ VBA
Sau khi mở được cửa sổ này lên thì các bạn bấm vào mục Module => bấm vào Module 1 thì sẽ thấy có một đoạn macro VBA hiện ra như sau:

Các bạn hãy bôi đen toàn bộ đoạn Macro này, sau đó bấm Ctrl + C để sao chép. Bây giờ hãy quay lại cửa sổ làm việc của Excel rồi chuyển sang sheet Thuc
Hanh. Bây giờ các bạn lại mở cửa sổ VBA lên => bấm chuột phải vào vùng trống bên dưới dòng VBA_File-thuc-hanh.xlsx => chọn Insert => chọn Module:

Sau khi Module được tạo ra thì các bạn bấm vào Module 1 => nhấp chuột phải và chọn Paste hoặc bấm Ctrl + V để dán đoạn code chúng ta đã sao chép khi nãy vào vùng màu trắng ở bên phải.

Bước 4: Tạo nút lệnh xóa ảnh
Các bạn quay trở lại sheet Thuc
Hanh rồi vào thẻ Insert => chọn mục Shapes để vẽ ra nút lệnh:

Đừng quên chèn thêm văn bản để đặt tên cho nút lệnh rồi căn chỉnh cho cân đối.

Bước 5: Gán Macro vào nút lệnh đã tạo
Các bạn nhấp chuột phải vào hình khối của nút lệnh rồi chọn mục Assign Macro:

Chọn Macro Name là Delete
Pic - tên của Macro mà chúng ta đã sử dụng ở phía trên rồi bấm OK.

Bây giờ khi cần xóa ảnh thì các bạn chỉ cần bấm vào nút lệnh Xóa Ảnh là được. Việc xóa ảnh hàng loạt trong Excel bẳng VBA này sẽ không ảnh hưởng đến các hàng, cột hay nội dung khác trong vùng dữ liệu được chọn.
Để hình dung rõ hơn 5 bước này thì các bạn xem video dưới đây:
Cách đọc hiểu đoạn code xóa ảnh hàng loạt trong Excel
Các bước sử dụng ngay trên file mẫu của chúng mình thì đơn giản nhưng các bạn cần đọc hiểu được đoạn code thì mới có thể tự viết và sử dụng trên file của các bạn. Trước hết, các bạn xem đoạn code mẫu như sau:
Public Sub Delete
Pic() Dim x
Pic
Rg As Range Dim x
Pic As Picture Dim x
Rg As Range Application.Screen
Updating = False Set x
Rg = Active
Sheet.Range("B2:B100") For Each x
Pic In Active
Sheet.Pictures Set x
Pic
Rg = Active
Sheet.Range(x
Pic.Top
Left
Cell.Address & ":" & x
Pic.Bottom
Right
Cell.Address) If Not Intersect(x
Rg, x
Pic
Rg) Is Nothing Then x
Pic.Delete Next Application.Screen
Updating = True
End Sub
Dòng code | Ý nghĩa dòng code |
Public Sub Delete Pic() | Đây là tên của Macro, có nghĩa là dùng để xóa ảnh. Các bạn có thể sửa tên Delete |
Dim x Dim x Dim x Application.Screen | Là các biến được gán vào đoạn code. Đây chỉ là các tên biến, các bạn không cần thay đổi nó cũng được nhé. |
Set x Rg = Active Sheet.Range("B2:B100") | Dùng để thiết lập vùng muốn xóa ảnh, ở đây chúng mình đang tạo chức năng xóa ảnh trên vùng từ ô B2 đến ô B100. Phần vùng dữ liệu cần xóa B2:B100 này các bạn |
For Each x Set x If Not Intersect(x Next Application.Screen | Đây là các câu lệnh dùng để thực hiện thao tác xóa ảnh hàng loạt, các bạn có thể sử dụng ngay không cần thay đổi. |
Nhìn chung, trong cả đoạn code mẫu mà chúng mình cung cấp thì các bạn có thể sử dụng ngay mà chỉ cần thay đổi vùng chứa ảnh muốn xóa.
Xem thêm: 28 Câu Thơ Hài Hước Ngắn Dễ Thương Cập Nhật Trạng Thái Facebook, Instagram, Tiktok
Kết luận
Như vậy, chúng mình đã hướng dẫn xong các bước để xóa ảnh hàng loạt trong Excel cho các bạn. Nếu các bạn thầy cách làm này hữu ích thì hãy chia sẻ với mọi người nhé. Qua đây, các bạn cũng có thể thấy được những thao tác phức tạp, mất thời gian trong Excel có thể được xử lý nhanh gọn khi dùng code VBA.