excel - 减少字符串并保持零完整

标签 excel excel-formula vba

我正在使用“XXXX-000-000-000”格式的单元格值。

  • 第一个连字符之前的所有内容都需要删除,我可以做到。
  • 字符串的其余部分需要减少为整数,并删除连字符和任何多余的零。

我无法将零保持在正确的位置。

  • AD12-002-020-34 需要如下所示:2-20-34
  • CA1-002-101-001 需要如下所示:2-101-1
  • AD12-002-020-10 需要如下所示:2-20-10

例如:

dim ir as range

ir = "AD12-002-020-100"

ir1 = InStr(ir, "-")
ir2 = InStrRev(ir, "-")
ir.Offset(0, 1) = Mid(ir, ir1 + 1, ir2 - ir1 + 3)

这给了我:002-020-100

建议?预先感谢您!

最佳答案

考虑:

Sub dural()
    Dim s As String
    s = "AD12-002-020-34"
    s = Replace(s, "-0", "-")
    s = Replace(s, "-0", "-")
    ary = Split(s, "-")
    ary(0) = ""
    s = Mid(Join(ary, "-"), 2)
    MsgBox s
End Sub

关于excel - 减少字符串并保持零完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030700/

相关文章:

excel - 通过使用宏防止 ThisWorkbook 中的隐藏工作表可见并从另一个工作簿运行

excel - 查找最先出现的数字的行索引

excel - 使用 Excel 正确计算(和求和)分子量

excel - 多个工作表,格式第 1 行粗体和自动换行

java - 如何下载Java项目资源目录中的文件

excel - COUNTIFS 公式 - 唯一值

excel - 将单元格与 A 列进行比较,如果 B 列匹配,则写 X

Excel 宏对 1000 多个数据运行异常

excel - 在 Excel 中调试 VBA 类中的错误

vba - 如何对带有数字的excel值进行排序