Xử lý công thức có Wooksheet trong đoạn code VBA được ghi bằng Macro

Quảng cáo

duong22000

Thành viên thường trực
Tham gia ngày
8 Tháng năm 2013
Bài viết
285
Được thích
19
Điểm
338
Em có 2 sheet là: sheet1 ("Data") và sheet2 ("DL");
Tại ô C3 của sheet2 ("DL") em có công thức
Mã:
Range ("C3"). FormulaR1C1 = "= IF (Data! R [-1] C [-1] =" "" "," "" ", Data! R [-1] C [2])"

Vì khi người dùng đổi tên sheet1("Data") thì công thức trên lại bị lỗi không nhận giá trị nên em muốn cố định sheet này. Mục đích là khi người dùng thay đối tên sheet thì đoạn code trên vẫn lấy được giá trị của sheet đó ( cụ thể Data! R [-1] C [-1] phải thay đổi như thế nào để dữ liệu vẫn không bị lỗi khi đổi sheet("Data") thành sheet("tên khác"))
 

HieuCD

Chuyên gia GPE
Tham gia ngày
14 Tháng chín 2010
Bài viết
7,645
Được thích
15,320
Điểm
4,668
Em có 2 sheet là: sheet1 ("Data") và sheet2 ("DL");
Tại ô C3 của sheet2 ("DL") em có công thức
Mã:
Range ("C3"). FormulaR1C1 = "= IF (Data! R [-1] C [-1] =" "" "," "" ", Data! R [-1] C [2])"

Vì khi người dùng đổi tên sheet1("Data") thì công thức trên lại bị lỗi không nhận giá trị nên em muốn cố định sheet này. Mục đích là khi người dùng thay đối tên sheet thì đoạn code trên vẫn lấy được giá trị của sheet đó ( cụ thể Data! R [-1] C [-1] phải thay đổi như thế nào để dữ liệu vẫn không bị lỗi khi đổi sheet("Data") thành sheet("tên khác"))
Range("C3").FormulaR1C1 = "= IF(" & Sheet1.Name & "!R[-1]C[-1] ="""",""""," & Sheet1.Name & "!R[-1]C[2])"
Chỉnh Sheet1 thành Sheet2 hoặc Sheet3 đến khi vừa ý
 

duong22000

Thành viên thường trực
Tham gia ngày
8 Tháng năm 2013
Bài viết
285
Được thích
19
Điểm
338
Range("C3").FormulaR1C1 = "= IF(" & Sheet1.Name & "!R[-1]C[-1] ="""",""""," & Sheet1.Name & "!R[-1]C[2])"
Chỉnh Sheet1 thành Sheet2 hoặc Sheet3 đến khi vừa ý
Em cảm ơn bác đã hướng dẫn ạ !
Bài đã được tự động gộp:

Để cho chắc ăn thì nên thêm 2 dấu nháy đơn vào đầu và cuối tên sheet.
Em xin cảm ơn ạ !
 
Quảng cáo
Top Bottom