ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何根据前2列数字设置介于其间的2小数下拉菜单?

如何根据前2列数字设置介于其间的2小数下拉菜单?

作者:绿色风 分类: 时间:2022-08-17 浏览:95
楼主
gouweicao78
Q:已知A、B列有一些小数(多位),如何在C列填写介于两者之间的2位小数?比如:
A1为0.529411765,B1为0.515764706,则在C1自动填写0.52
A3为0.794117647,B3为0.834705882,则在C3提供0.80、0.81、0.82、0.83的下拉菜单?

A:设置VBA代码如下:

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. Dim i, a, b
  3. On Error Resume Next
  4. If Target.Column = 3 Then
  5.    b = Abs(Int(Target.Offset(, -1) * 100) - Int(Target.Offset(, -2) * 100))
  6.    Select Case b
  7.      Case 0
  8.      GoTo 100
  9.      Case 1
  10.      Target.Value = Int(Application.WorksheetFunction.Max(Range("A" & Target.Row & ":" & "B" & Target.Row)) * 100) / 100
  11.      Case Else
  12.        For i = 1 To b
  13.          a = a & IIf(a = "", "", ",") & Format((Int(Target.Offset(, -2) * 100) + i) / 100, "0.00")
  14.        Next
  15.        With Target.Validation
  16.        .Delete
  17.        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=a
  18.        End With
  19.    End Select
  20. End If
  21. 100
  22. End Sub


VBA设置数据有效性.rar
2楼
い卋玑┾宝珼
向草版学习
3楼
后知
感谢版主们的无私分享  学习了  

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap