【问题标题】:Need some explanation on the VBA script需要对 VBA 脚本进行一些解释
【发布时间】:2021-11-13 22:15:18
【问题描述】:

我需要一些关于这段代码的解释性帮助

EqptCode = .Range("A" & j)
StartPos = InStr(1, EqptCode, ">")
LastPos = InStr(2, EqptCode, "</")
CharNo = Len(EqptCode) - (Len(EqptCode) - LastPos + 1) - StartPos
EqptCode1 = Mid(EqptCode, StartPos + 1, CharNo)

有人知道VBA语言中+1是什么意思吗?和四舍五入有关吗?

提前致谢

【问题讨论】:

  • 你有数字变量。因此,您可以从这些值中减去或减去。
  • VBA 语言中 +1 的含义是什么? InStr 返回一个整数值并存储在 StartPos 上。因此,当您执行 StartPos + 1 时,您只需添加 1。LastPos 也是如此
  • 为了补充 JvdV 和 Foxfire 以及 Burns 和 Burns,在 Mid 中使用整数值来获取字符串 EqptCode 的一部分,该部分以“>”旁边的字符开头(使用 InStr 找到的值)和直到在 CharNo 中计算的值 - 虽然代码不完整,但它看起来像是“从带有特殊字符“>”和“”的单元格值中提取代码。如果需要更多帮助,您可以包含示例代码, bur 我建议查看 Mid VBA Excel 函数规范(例如,docs.microsoft.com/en-us/office/vba/language/reference/…)。

标签: excel vba excel-formula


【解决方案1】:

+1/-1 是一个常见的要求。它发生在使用两种不同的方法来表示序列中第一项的位置时,即计数是从 1 开始还是从 0 开始。当您混合这两个系统时,您总是会发现 +1 或 -1 出现以确保正确移动两个系统之间。在 VBA 的情况下,字符串中字符的位置始终从位置 1 开始,您不能在位置 0 处有字符。但是,当您计算字符串的长度时,值完全可能为 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    相关资源
    最近更新 更多