Phương trình phản ứng hoá học bằng Excel ? | Vatgia Hỏi & Đáp

di13
di13

Trả lời 13 năm trước

Giả sử bài toán được phát biểu lại rõ ràng như sau: mỗi bộ 3 chất hóa học ở 1 hàng sẽ tạo ra đúng 1 phương trình phản ứng hóa học để cho ra sản phẩm ở cột “Sản phẩm” tương ứng. Nếu biết 1 hay 2 hay cả 3 chất thành phần làm sao tìm được các PTPƯ có dùng các chất thành phần được biết, rồi hiển thị chỉ số hàng tương ứng trong bảng cho người dùng biết.

Để giải quyết bài toán được chúng tôi phát biểu lại như trên, bạn có thể viết và dùng hàm user-defined bằng ngôn ngữ VBA như sau:

Hàm tìm PTPU

Function TimPTPU(rng As Range, chat1 As String, chat2 As String, chat3 As String) As String
‘Khai báo các biến cần dùng
Dim count As Integer
Dim i As Integer
‘ tìm số hàng chứa PTPU
count = rng.count
‘duyệt xử lý từng hàng
For i = 1 To count
If (Len(chat1) <> 0) And (Len(chat2) <> 0) And (Len(chat3) <> 0) Then
‘trường hợp có cả 3 chất
If (chat1 = rng.Item(i, 1).Value) And (chat2 = rng.Item(i, 2).Value) And (chat3 = rng.Item(i, 3).Value) Then
‘tìm được, hiển thị form thông báo
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat1) <> 0) And (Len(chat2) <> 0) Then
‘trường hợp có 2 chất: chat1 và chat2
If (chat1 = rng.Item(i, 1).Value) And (chat2 = rng.Item(i, 2).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat1) <> 0) And (Len(chat3) <> 0) Then
‘trường hợp có 2 chất: chat1 và chat3
If (chat1 = rng.Item(i, 1).Value) And (chat3 = rng.Item(i, 3).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat2) <> 0) And (Len(chat3) <> 0) Then
‘trường hợp có 2 chất: chat2 và chat3
If (chat2 = rng.Item(i, 2).Value) And (chat3 = rng.Item(i, 3).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat1) <> 0) Then
‘trường hợp có 1 chất: chat1
If (chat1 = rng.Item(i, 1).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat2) <> 0) Then
‘trường hợp có 1 chất: chat2
If (chat2 = rng.Item(i, 2).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
ElseIf (Len(chat3) <> 0) Then
‘trường hợp có 1 chất: chat3
If (chat3 = rng.Item(i, 3).Value) Then
MsgBox “Tìm được PTPU ở hàng “ & (rng.Row + i – 1)
End If
End If
Next i
TimPTPU = “”
End Function

Xem thêm  Tải về và hướng dẫn sử dụng Your Uninstaller trên Windows chi tiết - https://bem2.vn

Nếu bạn đặt hàm TimPTPU ở trên trong Module1 của bảng tính Excel chứa bảng số liệu các chất hóa học, thì mỗi khi muốn kích hoạt hàm này chạy từ bảng tính Excel, bạn chỉ cần chọn 1 cell trống nào đó và nhập vào công thức có dạng sau:
=TimPTPU(A1:A100,”Benzen”,””,”Oxy”)
trong đó A1:A100 xác định phạm vi dữ liệu của cột đầu tiên của bảng số liệu, nếu chất nào không cần xác định thì miêu tả chuỗi “” cho nó.

Source: https://bem2.vn
Category: Ứng dụng hay

Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai.