Excel VBA如何设置数据验证输入消息格式,显示带标签的库存数值?
完全可以实现,仅需调整代码中提示消息赋值的逻辑即可,修改点如下:
- 将提示前缀从英文
Stock:替换为中文库存: - 调用VBA内置的
Format函数对VLookup返回的库存数值做千分位格式化,格式规则#,##0可以在保证整数显示的同时自动添加千位分隔符,数值为0时也可正常展示
你可以直接替换使用下方修改后的完整代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngStockData As Range With Worksheets("Stock").Range("A2").CurrentRegion Set rngStockData = .Offset(1).Resize(.Rows.Count - 1) End With If Target.CountLarge = 1 Then If Target.Row > 4 And Target.Column > 1 Then If Not Intersect(Target, Me.Range("A4").CurrentRegion) Is Nothing Then With Target.Validation .Delete .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" ' 仅修改了下方这一行赋值逻辑 .InputMessage = "库存: " & Format(Application.VLookup(Me.Cells(Target.Row, "A"), rngStockData, Target.Column, False), "#,##0") .ErrorMessage = "" .ShowInput = True .ShowError = True End With End If End If End If End Sub
修改后点击符合条件的单元格,弹出的提示就会按照你需要的格式展示,对应效果参考下图:
内容的提问来源于stack exchange,提问作者Gangrel
相关产品推荐
相关产品推荐

