Excel VBA如何显示带符号的两个msgbox? Dim fg为双精度 将msg1设置为字符串 将msg2设置为字符串 将结果设置为整数 百分之二 fg=单元格(8,10)。数值 百分比=应用程序.工作表功能.汇总(fg*100,2) msg1=“脂肪占消耗热量的百分比:&&%” msg2=“推荐脂肪总摄入量:低于总热量的30%。” msg3=“建议您改变食物选择以降低脂肪” 如果fg>0.3,则 MsgBox msg1 MsgBox msg2,vb感叹号 结果=MsgBox msg3,vbYesNo 如果结果=vbYes,则 此工作簿.工作表(“每周膳食计划表”).激活 如果结束 如果结果=vbNo,则 此工作簿。工作表(“每日日志”)。激活 如果结束 如果结束 如果fg0.3时同时显示msg2和msg1。行MsgBox(msg2,vb惊叹号)中仍然存在snytax错误。请删除括号。现在可以了,谢谢@braX为什么在我点击ok时无法显示“每周用餐计划表”?请查看我的更新答案。
为什么当我单击“确定”时,程序无法显示“每周膳食计划表”您不需要将它们放在同一行 下面是if语句的工作原理Excel VBA如何显示带符号的两个msgbox? Dim fg为双精度 将msg1设置为字符串 将msg2设置为字符串 将结果设置为整数 百分之二 fg=单元格(8,10)。数值 百分比=应用程序.工作表功能.汇总(fg*100,2) msg1=“脂肪占消耗热量的百分比:&&%” msg2=“推荐脂肪总摄入量:低于总热量的30%。” msg3=“建议您改变食物选择以降低脂肪” 如果fg>0.3,则 MsgBox msg1 MsgBox msg2,vb感叹号 结果=MsgBox msg3,vbYesNo 如果结果=vbYes,则 此工作簿.工作表(“每周膳食计划表”).激活 如果结束 如果结果=vbNo,则 此工作簿。工作表(“每日日志”)。激活 如果结束 如果结束 如果fg0.3时同时显示msg2和msg1。行MsgBox(msg2,vb惊叹号)中仍然存在snytax错误。请删除括号。现在可以了,谢谢@braX为什么在我点击ok时无法显示“每周用餐计划表”?请查看我的更新答案。,excel,vba,Excel,Vba,为什么当我单击“确定”时,程序无法显示“每周膳食计划表”您不需要将它们放在同一行 下面是if语句的工作原理 Dim fg As Double Dim msg1 As String Dim msg2 As String Dim result As Integer Dim percent As Double fg = Cells(8, 10).Value percent = Application.WorksheetFunction.roundup(fg * 100, 2) msg1 =
Dim fg As Double
Dim msg1 As String
Dim msg2 As String
Dim result As Integer
Dim percent As Double
fg = Cells(8, 10).Value
percent = Application.WorksheetFunction.roundup(fg * 100, 2)
msg1 = "Fat as percentage of calories consumed:" & percent & "%"
msg2 = "Recommended total fat intake: less than 30% of total calories."
msg3 = "you are suggested to change your food choice to lower the fat"
If fg > 0.3 Then
MsgBox msg1
MsgBox msg2, vbExclamation
result=MsgBox msg3, vbYesNo
If result = vbYes Then
ThisWorkbook.Sheets("Weekly Meal Planner").Activate
end if
If result = vbNo Then
ThisWorkbook.Sheets("DAILY LOG").Activate
End If
End If
If fg < 0.3 Then MsgBox (msg1)
End Sub
MsgBox
仅在需要圆括号返回值时才使用圆括号:
If fg > 0.3 Then
MsgBox msg2, vbExclamation
MsgBox msg1
End If
要将其用作子例程
,请不要使用括号
Dim result as Variant
result = MsgBox(msg3, vbYesNo)
MsgBox "test"
要将其用作函数
,请包含括号
Dim result as Variant
result = MsgBox(msg3, vbYesNo)
MsgBox "test"
您还可以使用图标和按钮选项:
result = MsgBox("test")
为什么需要将它们放在一行上?@braX因为我想在fg>0.3时同时显示msg2和msg1。行MsgBox(msg2,vb惊叹号)中仍然存在snytax错误。请删除括号。现在可以了,谢谢@braX为什么在我点击ok时无法显示“每周用餐计划表”?请查看我的更新答案。