Đặt văn bản hộp văn bản vào trang tính (Microsoft Excel)
Excel cho phép bạn đặt tất cả các loại đối tượng đồ họa trên trang tính của mình. Một loại đối tượng đồ họa thực sự chứa văn bản — hộp văn bản.
Nếu bạn có khá nhiều hộp văn bản trong một trang tính, bạn có thể tự hỏi liệu có cách nào để trích xuất văn bản từ mỗi hộp văn bản và đặt nó vào chính trang tính hay không.
Không có lệnh nào để làm điều này; thay vào đó bạn phải sử dụng macro. Macro sau bước qua từng hộp văn bản trong trang tính và thực hiện trích xuất mong muốn:
Sub ExtractText() Dim shp As Shape Dim sLoc As String For Each shp In ActiveSheet.Shapes With shp If Left(.Name, 8) = "Text Box" Then sLoc = .TopLeftCell.Address Do Until Range(sLoc) = "" sLoc = Range(sLoc).Offset(1, 0).Address Loop Range(sLoc) =.TextFrame.Characters.Text .Delete End If End With Next End Sub
Vì Excel lưu trữ tất cả các hình dạng đồ họa trong bộ sưu tập Hình dạng, nên bạn có thể xem qua bộ sưu tập và quyết định xem bạn muốn làm việc với hình dạng nào. Trong trường hợp này, tám ký tự đầu tiên của tên hình dạng được chọn. Chỉ khi tên bắt đầu bằng “Hộp văn bản” thì macro mới coi hình dạng là hộp văn bản mà từ đó văn bản có thể được trích xuất.
Thay vì kiểm tra từ ngữ “Hộp văn bản” trong tên, macro cũng có thể kiểm tra xem loại hình dạng nào đang được xem xét. Nếu bạn thích làm điều này, thì chỉ cần thay thế dòng kiểm tra (Nếu còn lại …) bằng dòng kiểm tra sau:
If shp.Type = msoTextBox Then
Biến sLoc được sử dụng để lưu trữ vị trí của hộp văn bản, được chứa trong thuộc tính .TopLeftCell. Sau đó, vòng lặp Do được sử dụng để đảm bảo rằng ô được trỏ đến bởi địa chỉ là trống. (Điều này ngăn mọi nội dung hiện có của ô không bị ghi đè.) Nếu ô không trống, thì địa chỉ sẽ được “tăng” lên ô tiếp theo trong cột.
Với địa chỉ của một ô trống được xác định, văn bản của hộp văn bản được lưu trữ trong ô. Sau đó, phương thức .Delete được sử dụng để loại bỏ hộp văn bản thực tế.
_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 (2388) á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: