Excel cho phép bạn dễ dàng chỉnh sửa công thức. Khi làm như vậy, bạn có thể nhanh chóng thay đổi tham chiếu ô hoặc tham chiếu phạm vi từ tương đối sang tuyệt đối.

Điều gì sẽ xảy ra nếu bạn có một số lượng lớn các ô mà bạn cần thay đổi từ tham chiếu tương đối sang tham chiếu tuyệt đối? Trong trường hợp này, bản chất của vấn đề rất thích hợp để được giải quyết thông qua một macro.

Bằng cách sử dụng phương thức ConvertFormula có sẵn trong VBA, bạn có thể dễ dàng chuyển đổi công thức từ địa chỉ tương đối sang địa chỉ tuyệt đối. Macro ngắn sau đây sử dụng phương thức này để thay đổi phương thức định địa chỉ được sử dụng trong một loạt ô:

Sub Relative2Absolute()

For Each c In Selection     If c.HasFormula = True Then         c.Formula = Application.ConvertFormula(c.Formula, _           xlA1, xlA1, xlAbsolute)

End If Next c End Sub

Tất nhiên, chìa khóa cho cách hoạt động của macro này nằm trong phương thức ConvertFormula. Tham số cuối cùng mà phương thức sử dụng là — trong trường hợp này — xlAbsolute. Nếu bạn muốn điều chỉnh macro để macro thay đổi thành các kiểu địa chỉ khác, bạn có thể thay đổi xlAbsolute thành xlRelative, xlAbsRowRelColumn hoặc xlRelRowAbsColumn. (Tôi chắc rằng bạn có thể tìm ra mục đích của mỗi hằng số theo tên của nó.)

Có một điều khác cần nhớ liên quan đến phương thức ConvertFormula: Nó có giới hạn độ dài là 255 ký tự. Điều đó có nghĩa là nếu công thức của bạn rất dài, có thể phương pháp sẽ không hoạt động như bạn muốn. Cách tốt nhất để tìm hiểu xem nó có phù hợp với nhu cầu của bạn hay không là kiểm tra nó.

_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 (10738) á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: