在excel中,如果A1是1则B1的数字类型是两位小数的数值,如果A1是2则B1是整数,如果A1是3则B1是一位小数。
简单的说就是,能不能根据指定单元格的数值,返回当前单元格不同的数字类型。例如A列内填的学生姓名,B列内填入的是学生参加体质健康检测的项目代码,C列是该检测项目的成绩。若B...
简单的说就是,能不能根据指定单元格的数值,返回当前单元格不同的数字类型。例如A列内填的学生姓名,B列内填入的是学生参加体质健康检测的项目代码,C列是该检测项目的成绩。若B2是代码18,表示的是实心球项目,则C2填入的数值要求是一位小数如6.8(单位:米);若B3是代码21,表示跳绳,则C3中输入的只能是整数如203(单位:次/分钟)。
展开
2个回答
展开全部
这个恐怕只能用vba完成.
右击工作表标签>查看代码>粘贴下面的代码>
可实现在B列填入代码后,C列单元格公式做相应调整.
Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1)
If .Column = 2 And .Row > 1 And Len(.Value) > 0 Then
Select Case .Value
Case 18
.Offset(0, 1).NumberFormatLocal = "0.0米"
Case 21
.Offset(0, 1).NumberFormatLocal = "0次!/分钟"
Case Else
MsgBox "没有该项目代码,请检查后重新输入!"
Application.Undo
End Select
End If
End With
End Sub
btw:注意要在工具>选项>重新计算>勾选:以显示精度为准
右击工作表标签>查看代码>粘贴下面的代码>
可实现在B列填入代码后,C列单元格公式做相应调整.
Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1)
If .Column = 2 And .Row > 1 And Len(.Value) > 0 Then
Select Case .Value
Case 18
.Offset(0, 1).NumberFormatLocal = "0.0米"
Case 21
.Offset(0, 1).NumberFormatLocal = "0次!/分钟"
Case Else
MsgBox "没有该项目代码,请检查后重新输入!"
Application.Undo
End Select
End If
End With
End Sub
btw:注意要在工具>选项>重新计算>勾选:以显示精度为准
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询