Glenn đang tạo một danh mục tất cả các bức ảnh kỹ thuật số của mình trong Excel. Tất cả các bức ảnh (khoảng 5000 trong số chúng) đều nằm trong một thư mục duy nhất. Anh ấy muốn chèn các bức ảnh vào bên phải mô tả của bức ảnh, sau đó đặt một siêu liên kết đến tất cả các bức ảnh để phóng to hình thu nhỏ thành một bức ảnh lớn hơn.

Hiện giờ Glenn đang làm từng việc một và nó khiến anh ấy phát điên, vì vậy anh ấy đang tìm cách để đẩy nhanh quá trình.

Tin tốt là bạn không cần phải phát điên quá nhanh; Excel cung cấp các macro có thể giúp công việc nhanh hơn và dễ dàng hơn. Tuy nhiên, trước khi bắt đầu cuộc thảo luận đó, bạn có thể muốn suy nghĩ rất lâu trước khi bắt đầu đưa tất cả ảnh của mình vào sổ làm việc Excel.

Khi bạn chèn ảnh vào Excel, kích thước tệp của sổ làm việc của bạn sẽ tăng ít nhất bằng kích thước tệp của ảnh được chèn. Do đó, nếu ảnh trung bình của bạn có kích thước 1 MB (khá nhỏ với máy ảnh ngày nay)

và bạn chèn 5000 ảnh như vậy, sau đó bạn sẽ có một sổ làm việc có ít nhất 5 GB ảnh trong đó. Đó là một sổ làm việc khổng lồ và Excel có thể gặp khó khăn khi làm việc với nhiều thông tin đó. (Mức độ khó của thời gian phụ thuộc vào phiên bản Excel của bạn, dung lượng bộ nhớ trong hệ thống của bạn, tốc độ xử lý của bạn như thế nào, v.v.)

Bạn có thể nghĩ rằng giải pháp là chia tỷ lệ hình ảnh khi bạn đặt chúng trong trang tính của mình để chúng nhỏ hơn. Mặc dù thay đổi tỷ lệ một hình ảnh làm cho nó trông nhỏ hơn (nó trông nhỏ hơn trong trang tính), nhưng nó không thực sự nhỏ hơn. Hình ảnh kích thước đầy đủ vẫn ở ngay đó trong Excel.

Vì vậy, bạn hoàn toàn không giảm kích thước tệp sổ làm việc của mình bằng cách chia tỷ lệ ảnh.

Cách bạn có thể giảm kích thước tệp là chia tỷ lệ ảnh bên ngoài Excel, sử dụng phần mềm chỉnh sửa ảnh, trước khi chúng được chèn vào Excel. Nói cách khác, bạn sẽ cần tải từng ảnh vào phần mềm chỉnh sửa ảnh, thay đổi kích thước ảnh thành bất kỳ kích thước hình thu nhỏ nào bạn muốn, sau đó lưu ảnh đã thay đổi kích thước thành tệp hình ảnh thu nhỏ mới. (Nói chung, bạn sẽ không muốn lưu hình ảnh đã thay đổi kích thước lên trên ảnh gốc của mình.) Sau đó, bạn có thể chèn từng hình thu nhỏ vào trang tính Excel của mình và kích thước tệp sổ làm việc kết quả của bạn sẽ nhỏ hơn, mặc dù vẫn liên quan trực tiếp đến kích thước tổng hợp của ảnh thu nhỏ mà bạn thêm vào trang tính.

Nếu bạn vẫn muốn chèn tất cả ảnh vào trang tính của mình, bạn có thể làm như vậy bằng cách sử dụng macro. Ví dụ sau, PhotoCatalog, có thể tìm kiếm tất cả các ảnh thu nhỏ và chèn chúng vào trang tính, cùng với một siêu liên kết đến ảnh đầy đủ. Nó giả định bốn điều: (1) ảnh và hình thu nhỏ của bạn đều là ảnh JPG, (2) ảnh nằm trong thư mục c: \ Photos \, (3) hình thu nhỏ nằm trong thư mục c: \ Photos \ Thumbnails \, và (4) hình thu nhỏ có cùng tên tệp với ảnh kích thước đầy đủ.

Sub PhotoCatalog()

Dim i As Double     Dim xPhoto As String     Dim sLocT As String     Dim sLocP As String     Dim sPattern As String

sLocT = "c:\Photos\Thumbnails\"

sLocP = "c:\Photos\"

sPattern = sLocT & "*.jpg"



Application.EnableEvents = False     Application.ScreenUpdating = False

Range("A1").Select     ActiveCell.FormulaR1C1 = "Description"

Range("B1").Select     ActiveCell.FormulaR1C1 = "Thumbnail"

Range("A1:C1").Select     With Selection.Font         .Name = "Arial"

.FontStyle = "Bold"

.Size = 12         .ColorIndex = xlAutomatic     End With     With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous         .Weight = xlMedium         .ColorIndex = xlAutomatic     End With

i = 1     On Error GoTo 0     xPhoto = Dir(sPattern, vbNormal)

Do While xPhoto <> ""

Application.EnableEvents = True     Application.ScreenUpdating = True End Sub

Có thể mất khá nhiều thời gian để macro này chạy, tùy thuộc vào loại hệ thống bạn đang sử dụng và số lượng ảnh bạn đang lập danh mục.

_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 (7484) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.