Home > Excel > Excel VBA > Thiết lập công thức cho các ô Excel bằng VBA

Thiết lập công thức cho các ô Excel bằng VBA

Trong bài này mình sẽ hướng dẫn cách sử dụng thuộc tính Formula để thiết lập công thức cho các ô tính Excel bằng ngôn ngữ VBA, đây là cách mà bạn can thiệp vào công thức Excel bằng code VBA.

Đề bài: Giả sử có bảng điểm như sau.

bang du lieu JPG

Hãy viết chương trình VBA xử lý yêu cầu: Khi click vào button "Click me" thì gán công thức tính tổng điểm ở cột A vào ô B2.

1. Xây dựng dữ liệu và button như hình ảnh trên.

2. Bật chế độ Design Mode ở tab Developer.

3. Click dúp chuột hai lần vào button, sau đó nhập đoạn code sau vào sự kiện click.

Private Sub CommandButton1_Click()
     Range("B2").Formula = "=SUM(A1:A6)"
End Sub

4. Quay trở lại giao diện Excel, bạn hãy click vào button, sau đó chọn ô B2 thì sẽ thấy công thức và kết quả như sau.

ket qua JPG

Như bạn thấy trong hình, ô B2 đã nhận được công thức mà ta đã thiết lập bằng mã VBA.

Cách khác: Bạn hãy thay đoạn code trong sự kiện click thành như sau.

Private Sub CommandButton1_Click()
    Dim total As Integer, ranges As Range, rag As Range, i As Integer, tmp As Integer
     
    Set ranges = Range("A2:A6")
        i = 1
        total = 0
     
    For Each rag In ranges
        tmp = rag.Value
        total = total + tmp
        i = i + 1
    Next rag
    
    Range("B2").Value = total
End Sub

Giải thích: Cách này sẽ sử dụng code VBA để lặp qua các ô từ A2 đến A6, sau đó cộng tổng lại rồi gán vào B2.

Ưu điểm của cách này là không thấy công thức, nhưng nhược điểm của nó là khi bạn thay đổi giá trị trong các ô A2:A6 thì tổng ở B2 không được cập nhật.

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.

Nguồn: freetuts.net

Danh sách bài tập
Thiết lập giá trị cho một ô Excel bằng VBA
Thiết lập công thức cho các ô Excel bằng VBA
Viết thủ công thêm sự kiện click vào một Button VBA
Thực hành Cut- Copy - Paste các ô Excel bằng VBA
Cách sử dụng thuộc tính Select VBA để chọn phạm vi các ô Excel
Sử dụng Offset trong VBA để chọn một ô hoặc dãy ô Excel
Thuộc tính Resize Range trong VBA - thay đổi kích thước của phạm vi

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP