【问题标题】:Excel VBA Adding Zero in Number StringExcel VBA在数字字符串中添加零
【发布时间】:2021-03-26 12:52:59
【问题描述】:

我只是 vba 的新手,所以我对编程知之甚少,无论如何,我创建了一个宏,它在我的选择中的单个数字字符串数字之前添加一个零,它仅在我的选择是单个数字时才有效,但没有当我的选择中有两位数或更多时不起作用,这是我的代码:

Sub AddZero()
 Dim cell As Range
 
 For Each cell In Selection
  If Not IsNumeric(cell) = False And cell > 10 Then
   Exit Sub
    Else:
   cell = "0" & cell
  End If
 Next
End Sub

如何让我的宏跳过所有两位数的单元格并且只针对一位数,请提前帮助并非常感谢。

【问题讨论】:

  • 翻转逻辑,不要从循环中退出 Sub。If IsNumeric(cell) And cell < 10 Then cell.Value = "0" & cell.Value
  • Ohhhhhhhh,它的工作原理!!,非常感谢蒂姆先生,

标签: excel vba


【解决方案1】:

如何让我的宏跳过所有具有两位数的单元格并且只针对单个数字

不需要循环。您可以在 1 行中实现您正在做的事情

Selection.NumberFormat = "00"

同时避免使用Selection。试试这样的

Sub AddZero()
    Dim rng As Range
    
    '~~> Change this to the relevant sheet/range
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
    
    rng.NumberFormat = "00"
End Sub

之前

之后

【讨论】:

  • Dhanyavaad Tiwariji _/|\_ :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-30
  • 2017-08-12
  • 1970-01-01
  • 2019-09-25
  • 2020-08-11
  • 2012-01-04
  • 1970-01-01
相关资源
最近更新 更多