Các anh chị cho em xin code công thức "cộng, trừ, nhân, chia, tính tổng, tính công thức trong TextBox...." trong VBA với ạ.
Chân thành cám ơn !
Các anh chị cho em xin code công thức "cộng, trừ, nhân, chia, tính tổng, tính công thức trong TextBox...." trong VBA với ạ.
Chân thành cám ơn !
Chú ý trong công thức vì khi viết sai làm người mới học càng thêm khó hiểu, sẽ làm khó khăn cho người mới học vì không biết thông tin nào chính xácCộng trừ nhân chia: các côn toán này đều dùng 2 vế, bên trái là vế 1 (var1), bên phải là vế 2 (var2). Code viết như sau
cộng: var1 + var2
trừ: var1 - var2
nhân: var1 + var2
chia: var1 + var2
tính tổng trong text box
textbox.text = tổng
tính công thức trong textbox
Evaluate(textbox.text)
Chú ý trong công thức vì khi viết sai làm người mới học càng thêm khó hiểu, sẽ làm khó khăn cho người mới học vì không biết thông tin nào chính xác
Ý em là code công thức trên Form ạ :
Ví dụ : ở khung TexBox1 + TextBox2 khi minh nhập giá trị vào thì ở TextBox3 sẽ tự nhảy giá trị tổng của TextBox1 + TextBox2 (và tương tự với -, *, /).
Private Sub CommandButton1_Click()
Dim n As Long, m As Long, tong As Long
n = TextBox1.Value
m = TextBox1.Value
tong = n + m
TextBox3.Value = tong
End Sub
-Cách của mình làEm ví dụ cụ thể như thế này : (đang online điện thoại nên em không đính kèm được)
- Tính tổng cộng: TextBox3 = TextBox1 + TextBox2
- Tính tổng trừ:TextBox3 = TextBox1 - TextBox2
- Tính tổng nhân:TextBox3 = TextBox1 * TextBox2
- Tính tổng chia:TextBox3 = TextBox1 / TextBox2
- Tính công thức:
Vd1: TextBox3 = TextBox1 * TextBox2/giá trị
Vd2: TextBox3 = TextBox1*Textbox2*+ textbox1*(textbox4-textbox5)+ textbox6+textbox7
Mã:Private Sub CommandButton1_Click() Dim n As Long, m As Long, tong As Long n = TextBox1.Value m = TextBox1.Value tong = n + m TextBox3.Value = tong End Sub
code cho textbox1Code anh cho ở trên là dùng nút button để tính rồi, ý của em là khi mình nhập giá trị vào 2 ô textbò thì ở ô textbox3 tự nhảy giá trị tổng của 2 textbox đó.
Private Sub TextBox1_Change()
Dim n As Long, m As Long, Kq As Long
n = TextBox1.Value
If TextBox2 <> "" Then
m = TextBox2.Value
Else
m = 0
End If
TextBox3.Value = n + m
End Sub
Private Sub TextBox2_Change()
Dim n As Long, m As Long, Kq As Long
n = TextBox2.Value
If TextBox1 <> "" Then
m = TextBox1.Value
Else
m = 0
End If
TextBox3.Value = n + m
End sub
code cho textbox1
code cho textbox2Mã:Private Sub TextBox1_Change() Dim n As Long, m As Long, Kq As Long n = TextBox1.Value If TextBox2 <> "" Then m = TextBox2.Value Else m = 0 End If TextBox3.Value = n + m End Sub
Textbox3 sẽ tự nhảy kết quả!!!!!đúng theo ý bạn chưa???Mã:Private Sub TextBox2_Change() Dim n As Long, m As Long, Kq As Long n = TextBox2.Value If TextBox1 <> "" Then m = TextBox1.Value Else m = 0 End If TextBox3.Value = n + m End sub
Thế +, -, * chia cũng thế luôn hả anh, còn code công thức tính tổng công thức em đã nêu ở trên đó, anh giúp viết code dùm em luôn hén.thank
Cám ơn anh đã hổ trợ, tuy nhiên công thức trên anh làm chung chung quá làm em khó hiểu, em gửi anh file này cụ thể hơn...nhờ các anh chị hổ trợ viết code dùm em (mới tập tành VBA nên chưa biết gì hết, các anh chị thông cảm)Mình gửi 1 ví dụ, bam tham khảo làm lại cho mình nha
Rất cám ơn anh, đúng ý em rồi ạ, nhưng làm sao để format có dấu "," ở mõi giá trị hả anh, mà sẵn đây anh cho em hỏi thêm đoạn code này thêm:Bạn xem nha, ở đây mình dùng sự kiện change của các Textbox nhập liệu. Đây là cách đơn giản nhưng dài lê thê. Khi bạn nắm vững dùng Class module sẽ gọn hơn nhiều.
Đoạn code này muốn cộng thêm 1 cột hoặc vài cột nữa thì thêm vào chỗ nào ?Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B1:B" & (9 + Target.Row))) Is Nothing Then
With Target
If .Offset(0, -1) <> "" Then .Offset(0, 1) = .Offset(0, -1) * .Value
End With
End If
End Sub