Sử dụng tham chiếu công thức R1C1 trong Macro (Microsoft Excel)
Gerry thấy dễ dàng nhất để tập hợp các công thức sử dụng tham chiếu ô R1C1. Cô ấy biết cách làm điều này khi thêm công thức vào trang tính theo cách thủ công, nhưng tự hỏi làm thế nào cô ấy có thể sử dụng tham chiếu R1C1 trong các công thức mà cô ấy đặt lại với nhau và chèn vào các ô bằng macro. Cô ấy tự hỏi liệu có điều gì cô ấy cần để ý khi làm việc này không.
Khi bạn thường nhồi một công thức vào một ô, bạn sẽ sử dụng loại cú pháp này trong macro của mình:
Cells(3,1).Formula = "=A1 + A2" Range("A3").Formula = "=A1 + A2"
Một trong hai cách này sẽ hoạt động tốt; cả hai đều nhồi một công thức đơn giản vào ô A3. Tuy nhiên, nếu bạn muốn sử dụng tham chiếu R1C1 trong công thức bạn đặt vào ô A3, bạn chỉ cần thay đổi thuộc tính Công thức thành thuộc tính Công thứcR1C1:
Cells(3,1).FormulaR1C1 = "=R1C1 + R2C1" Range("A3").FormulaR1C1 = "=R1C1 + R2C1"
Điều thú vị cần lưu ý là nếu bạn đặt các công thức R1C1 ở trên vào một ô và trang tính không bật hiển thị R1C1, thì Excel sẽ chuyển đổi công thức để phản ánh màn hình đang hoạt động. Nói cách khác, nó tự động thay đổi “= R1C1 + R2C1” thành “= $ A $ 1 + $ A $ 2”. Điều ngược lại cũng đúng — đặt công thức “= A1 + A2” vào một ô và nó sẽ hiển thị là “= R [-2] C + R [-1] C” nếu bạn đã bật màn hình R1C1.
Bạn cũng nên lưu ý rằng vì cả Công thức và Công thứcR1C1 đều là thuộc tính, bạn có thể đọc chúng và xem công thức trong ô ở định dạng mong muốn. Ví dụ: giả sử ô A3 chứa công thức “= A1 + A2”. Nếu sau đó bạn chạy macro sau, bạn sẽ thấy công thức được hiển thị ở các định dạng mong muốn:
Sub TestFormula() Dim sMsg As String sMsg = "Regular format: " & Cells(3,1).Formula & vbCrLf sMsg = sMsg & "R1C1 format: " & Range("A3").FormulaR1C1 MsgBox sMsg End Sub
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (5294) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.