Marlene là một giáo viên và cô ấy có những học sinh thích tìm kiếm từ. Cô thấy việc làm chúng khá mất thời gian, nhưng các học sinh dường như nhớ tài liệu khóa học tốt hơn nhiều khi cô sử dụng chúng. Marlene tự hỏi liệu có cách nào đó để Tự động điền một dải ô có các chữ cái trong bảng chữ cái, từ A đến Z. Bằng cách đó, cô có thể sử dụng tính năng này để điền vào các ô vuông của tìm kiếm từ bằng các chữ cái, trước khi thay thế một số chữ cái đó bằng các từ thực tế cần tìm kiếm.

Công cụ Tự động điền trong Excel có một số trình tự tiêu chuẩn mà nó sẽ tự động điền, chẳng hạn như ngày tháng và chuỗi số. Tuy nhiên, phần rất mạnh mẽ của Tự động điền là bạn có thể tạo danh sách tùy chỉnh mà công cụ sử dụng dễ dàng giống như các trình tự được tích hợp sẵn. Để tạo danh sách tùy chỉnh theo cách thủ công, bạn có thể làm theo các bước sau:

  1. Chọn Tùy chọn từ menu Công cụ. Excel sẽ hiển thị hộp thoại Tùy chọn.

  2. Đảm bảo rằng tab Danh sách tùy chỉnh được chọn. (Xem Hình 1.)

  3. Trong hộp Mục nhập danh sách, hãy nhập từng chữ cái của bảng chữ cái, một chữ cái trên mỗi dòng. (Nhấn Enter sau mỗi ký tự bạn nhập.)

  4. Nhấp vào Thêm.

Bây giờ bạn đã tạo danh sách tùy chỉnh của mình và bạn có thể đóng bất kỳ hộp thoại nào đang mở. Để sử dụng danh sách tùy chỉnh, chỉ cần nhập một hoặc hai chữ cái bạn muốn bắt đầu chuỗi, chọn các ô đó và sử dụng tay cầm Tự động điền để kéo qua bao nhiêu ô tùy thích.

Có một cách khác để tạo danh sách tùy chỉnh có thể dễ dàng hơn một chút, đề phòng trường hợp bạn không muốn nhập hai mươi sáu chữ cái vào hộp thoại. Thay vào đó, nếu bạn đã có các chữ cái trong bảng chữ cái trong 26 ô, chỉ cần chọn các ô đó và làm theo các bước sau:

  1. Chọn Tùy chọn từ menu Công cụ. Excel sẽ hiển thị hộp thoại Tùy chọn.

  2. Đảm bảo rằng tab Danh sách tùy chỉnh được chọn. Phạm vi ô bạn đã chọn sẽ được hiển thị trong hộp Nhập Danh sách từ Ô.

  3. Nhấp vào Nhập.

Bây giờ bạn có thể đóng hộp thoại và sử dụng danh sách tùy chỉnh theo ý muốn.

Tất nhiên, có một nhược điểm với việc sử dụng danh sách tùy chỉnh, đặc biệt là khi nói đến việc tạo tìm kiếm từ: các chữ cái được thêm vào ô trống luôn nằm trong một trình tự có thể đoán trước, điều này có thể khiến việc tìm kiếm các từ thực tế dễ dàng hơn bạn muốn một chút. Để làm cho các câu đố khó hơn một chút, tốt hơn là điền các chữ cái ngẫu nhiên vào các ô vuông không phải từ.

Một cách dễ dàng để lấy các chữ cái ngẫu nhiên là sử dụng công thức sau:

=CHAR(RANDBETWEEN(65,90))

Công thức này hoạt động vì hàm RANDBETWEEN trả về một giá trị số ngẫu nhiên giữa hai giá trị biên được cung cấp. Trong trường hợp này, nó sẽ trả về giá trị từ 65 đến 90, là giá trị ASCII của các chữ cái A và Z, tương ứng. Sau đó, hàm CHAR được sử dụng để chuyển đổi giá trị số ngẫu nhiên này thành một chữ cái thực tế.

Hàm RANDBETWEEN là một phần của Analysis ToolPak, một phần bổ trợ mà nhiều người đã cài đặt trong Excel. (Chọn Công cụ | Phần bổ trợ để xem bạn đã cài đặt nó chưa.) Nếu bạn không muốn bật phần bổ trợ này, thì bạn có thể dựa vào một công thức cơ bản hơn, chẳng hạn như sau:

=CHAR((65+(90-65)*RAND()))

Hàm CHAR trông quen thuộc; sự khác biệt duy nhất là việc sử dụng hàm RAND để tạo ra giá trị ngẫu nhiên thay vì RANDBETWEEN.

Nếu bạn tạo ra nhiều câu đố tìm kiếm từ, thì bạn có thể muốn sử dụng macro để điền vào một dải ô với các chữ cái ngẫu nhiên trong bảng chữ cái.

Có bất kỳ cách nào mà một macro như vậy có thể được kết hợp với nhau; sau đây là một trong những đặc biệt linh hoạt. Nó sẽ hoạt động với phạm vi được chọn trước (phạm vi được chọn khi bạn chạy macro) hoặc bạn có thể chọn một phạm vi sau khi bạn chạy macro.

Sub AlphaFill()

Dim Cell, CellChars     Dim Default, Prompt, Title     Dim rangeSelected As Range     Dim UpperCase As Boolean

Title = "AlphaFill Cell Selection"

Default = Selection.Address     Prompt = vbCrLf _       & "Use mouse in conjunction with " _       & "SHIFT and CTRL keys to" & vbCrLf _       & "click and drag or type in name(s) " _       & "of cell(s) to AlphaFill" & vbCrLf & vbCrLf _       & "Currently selected cell(s): "

& Selection.Address

On Error Resume Next     Set rangeSelected = InputBox(Prompt, Title, _       Default, Type:=8)

If rangeSelected Is Nothing Then Exit Sub

UpperCase = True     Randomize     For Each Cell In rangeSelected         CellChars = Chr(64 + Int((Rnd * 26) + 1))

If Not UpperCase Then CellChars = LCase(CellChars)

Cell.Value = CellChars     Next End Sub

Mã macro, như đã viết, sẽ chèn các chữ cái hoa vào bất kỳ phạm vi nào bạn chỉ định. Nếu bạn muốn sử dụng chữ thường thay thế, thì tất cả những gì bạn cần làm là đặt biến UpperCase thành False thay vì True.

_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 (3109) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: