2013-07-16 1 views
0

저는 combox와 두 개의 텍스트 상자를 포함하는 userform을 가지고 있습니다. 사용자는 combobox1에서 화학 (텍스트)을 선택하고 textbox1 (숫자)에 화학 물질의 높이를 입력하십시오. 그는 화학 물질에 따라 내가 선택한 화학 물질의 탱크 밀도와 면적을 정의합니다. 다음 계산할 필요가 있습니다 : textbox2.value = density * area * textbox1.value 모든 화학 물질에 따라 밀도와 면적이 다릅니다. 방정식은 질량 = 밀도 * 면적 * 부피입니다. 변수는, 그들이 Value 속성을하지 않아도되는 문자열VBA는 사용자 폼에서 계산합니다.

chem = ComboBox1.Value 
    mychem 

End Sub 
Sub mychem() 
Dim density As Double 
Dim volume As Double 

If chem = "Sodium" Then 
area = 22 
density = 1.058 
End If 
If chem = "HCl 9%" Then 
area = 22 
density = 1.043 
End If 
If chem = "alum" Then 
area = 70 
density = 1.163 
End If 
If IsNumeric(Txtheight.Text) Then 
       txtmass.Value = density *area * CDbl (Txtheight.Value) 

        End If 
end sub 

답변

0

밀도와 볼륨으로 개인 서브 ComboBox1_Change() 희미한 화학 : 나는이 코드를 시도했다.

TextBox4.Value = CDbl(density) * CDbl(volume) * CDbl(TextBox8.Value) 

또한 밀도와 부피는 이미 두 배로되어 있으므로 CDbl로 변환 할 필요가 없습니다.

그리고 컨트롤 이름을 변경해야합니다. 나는 txtHeight을 제안 할 것이지만 텍스트 상자에 높이, 면적 또는 부피 (?)가 포함되어 있는지에 대한 설명이 명확하지 않습니다.

+0

감사합니다. 이제 계산이 버그없이 작동합니다. 하지만 그것은 대답 0을 제공합니다. 코드가 올바르게 변수를 정의하지 않는다고 생각합니다. – user2588993

+0

해결되었습니다. 고마워요. – user2588993