VBA - 如何有条件地跳过 for 循环迭代

2023-11-29

我对数组有一个 for 循环。我想要做的是测试循环中的某个条件,如果为真则跳到下一次迭代:

For i = LBound(Schedule, 1) To UBound(Schedule, 1)
    If (Schedule(i, 1) < ReferenceDate) Then
        PrevCouponIndex = i
        Continue   '*** THIS LINE DOESN'T COMPILE, nor does "Next"
    End If
    DF = Application.Run("SomeFunction"....)
    PV = PV + (DF * Coupon / CouponFrequency)
Next

我知道我能做到:

 If (Schedule(i, 1) < ReferenceDate) Then Continue For

但我希望能够在 PrevCouponIndex 变量中记录 i 的最后一个值。

有任何想法吗?

Thanks


VBA 没有Continue或任何其他等效关键字立即跳转到下一个循环迭代。我建议明智地使用Goto作为一种解决方法,特别是如果这只是一个人为的示例并且您的实际代码更复杂:

For i = LBound(Schedule, 1) To UBound(Schedule, 1)
    If (Schedule(i, 1) < ReferenceDate) Then
        PrevCouponIndex = i
        Goto NextIteration
    End If
    DF = Application.Run("SomeFunction"....)
    PV = PV + (DF * Coupon / CouponFrequency)
    '....'
    'a whole bunch of other code you are not showing us'
    '....'
    NextIteration:
Next

不过,如果这确实是您的全部代码,那么@Brian 是绝对正确的。只需放一个Else你的条款If声明并完成它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBA - 如何有条件地跳过 for 循环迭代 的相关文章

  • 将最后几个功能添加到我的调度模板生成器中

    感谢 StackOverflow 上的一些出色的人 我几乎完成了调度模板生成器的代码 我还想补充三件事 但我遇到了一些麻烦 当前细分 我有两张表 2 员工列表 和 X 模板 员工列表中的值是从单元格 D9 开始的一列员工姓名 然后将员工值转
  • 文本到行 VBA Excel

    我有一个电子表格 其中包含大约 4000 行数据 其中一列数据具有唯一的订单号 我希望使用 作为分隔符将其分隔 所以本质上我想要 Name Order Date Jane 123 001 111 08 15 2013 Gary 333 12
  • 如何计算数组中相同的值并将其存储到变量中?

    items explode product values is 4 2 4 2 2 4 unique items array unique items gives me 4 2 接下来应该给我 4 3 2 3 并将值的数量存储到变量中的代码
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • 将包含宏的工作簿复制到不带宏的工作簿

    我能够复制工作簿 复制到所需位置 其中在后台包含宏 该副本还包含相同的宏 我的问题是我不希望这个重复的工作簿包含宏 谁能告诉怎么做吗 先感谢您 将您的工作簿保存为无宏 即简单地保存为 Excel 工作簿 对于我的 Excel 2007 这是
  • VBA 中 AND 函数如何工作?

    如果这是一个愚蠢的问题 我很抱歉 但是 Excel VBA AND 函数是否检查其中的每个条件然后继续 或者在第一个 FALSE 条件处停止而不检查其他条件 我想知道出于优化目的 但到目前为止在网上没有找到任何相关信息 提前致谢 示例 如果
  • 在Excel中,我可以使用超链接来运行vba宏吗?

    我有一个包含多行数据的电子表格 我希望能够单击一个单元格 该单元格将使用该行中的数据运行宏 由于行数总是在变化 我认为每行的超链接可能是最好的方法 ROW MeterID Lat Long ReadX ReadY ReadZ CoeffA
  • 我如何以更好的方式编码而不是像这样的VBA编码

    我正在 Excel 中创建一个仪表板 但是我想知道是否有比这更好的编码方式 我想对其进行模块化 而不是这样做以使其更加整洁 Private Sub Afford If af Value True Then af afr Value Shee
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • 获取当前 VBA 函数的名称

    对于错误处理代码 我想获取发生错误的当前 VBA 函数 或子函数 的名称 有谁知道如何做到这一点 编辑 谢谢大家 我曾希望存在一个未记录的技巧来自行确定函数 但这显然不存在 我想我会保留当前的代码 Option Compare Databa
  • SQL Excel VBA 运行时错误 3709 无效连接

    这是我的第一个问题 欢迎提出建设性的批评 我正在尝试从 Excel VBA 查询 Access 数据库并将返回信息放入 Excel 范围中 我收到此错误 错误消息 运行时错误 3709 连接无法用于 执行此操作 在此情况下它已关闭或无效 语
  • Javascript 循环内的事件处理程序 - 需要闭包吗?

    我正在使用一些我从别人那里接管的 html 和 Javascript 代码 该页面每十秒重新加载一个数据表 通过异步请求 然后使用一些 DOM 代码重新构建该表 有问题的代码看起来像这样 var blah xmlres getElement
  • 如何使用 VBA 添加 MS Outlook 提醒事件处理程序

    我想扩展 MS Outlook 以便当弹出日历提醒时 我可以运行一个可以运行外部程序 如批处理脚本 的 VBA 挂钩 就我而言 我想将提醒 转发 到 Linux 桌面 因为我在这两种环境中工作 并且 Windows 桌面并不总是可见 我看到
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • flex 3 迭代对象值

    我有一个代表数据库表的对象 我想迭代这个对象并打印每个值 我可以用什么来做到这一点 我想在我的mxml而不是actionscript中执行此操作 对于每个对象属性我想创建一个输入字段 查找有关 Flex 3 循环的文档 如果你这样做 你会发
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662
  • 数据透视表错误 |无效的调用或过程

    我需要一些帮助来解决这个问题 我正在尝试创建一个数据透视表 从第一季度开始 在同一张表中包含一系列数据 第一个 if 语句在那里是因为最后一列并不总是包含标题 所以我将其包含在那里 我希望范围是动态的 因为所制作的表格的大小将根据工作表中数
  • Angular 2 管道状况良好

    Angular 2 是否可以在一定条件下应用管道 我想做这样的事情 variable text variable value SomePipe OtherPipe 如果不是 达到这种效果的首选方法是什么 您需要稍微更改一下语法 variab
  • 从Excel工作表中读取汉字? (总是返回“???”)

    如何从Excel单元格中读取汉字并将其写入文件 当我取值时 Worksheets ActiveCell Worksheet Name Cells 3 columnNumbers 0 value 它总是返回 Dim fileStream Fi
  • 删除 VBA 按钮集合

    我正在使用以下脚本在 Excel 中生成按钮 范围正是我希望放置它的位置 Sub CreateAddButton rng As Range Dim btn As Button With Worksheets User Set btn But

随机推荐

  • 绿屏/色度键 iOS

    我正在尝试在 iOS 上实时进行绿屏减法 我已将 openCV 包含在我的项目中 我可以使用本教程从相机获取原始数据 http www benjaminloulier com articles ios4 and direct access
  • 如何在字典中的特定键之间交换值?

    假设你有一本这样的字典 d A content for A B content for B 在两个条目之间交换值的最有效方法是什么 所以结果应该是这样的 d A content for B B content for A 当然 你可以创建一
  • 返回具有公差的唯一元素

    在Matlab中 有这样的unique command返回数组中唯一的行 这是一个非常方便的命令 但问题是我无法为其分配容差 在双精度中 我们总是必须比较精度内的两个元素 是否有一个内置命令可以在一定的容差范围内返回唯一元素 到了R2015
  • Java Try Catch 块

    我最初在大学开始编程并学习了 vb net 现在我决定转向 Java 并有一些疑问 在vb中 try catch语句的布局如下 try Catch ex as exception finally End catch 但是从java网站 ht
  • 如何使用 Appscript doPost 创建 REST API?

    1个月后 我想再次提出这个话题的问题 这是包含所有链接的整篇文章 https docs google com document d 1Tb0 twzHl wXbvaNF2IpCT0CiONT9PoqPlEweLz3oYI edit 项目中有
  • 使用 OWASP Java HTML Sanitizer 清理 html 时如何允许嵌入图像

    我想允许 img src I see 有关于如何执行此操作的文档但我不明白如何实现它 我尝试添加模式 allowUrlProtocols data allowAttributes src matching Pattern compile d
  • Emacs ess 自动完成

    我是 R 用户 我想在 emacs 中使用 R 但是 我在 emacs 中自定义 ess 时遇到了麻烦 我已经在我的 emacs 中安装了自动完成包和最新的 ess 但是当我在 emacs 中运行 r 时 自动完成功能无法正常工作 当我输入
  • 一种路由分配程序算法

    我想做的是创建一个程序 为驾驶考试分配一条路线 将有三条不同的路线 在某些点连接在一起 交叉点上绝不应有超过一名学生 解决这个问题的最佳方法是按时间安排交叉点 这不是我唯一的问题 我需要将路线平均分配给考官 所以路线1将交给考官1 路线 2
  • 如何使用 AppleScript 关闭终端选项卡?

    我正在使用 AppleScript 在 终端 选项卡中打开 PostgreSQL 如下所示 bin bash function new tab TAB NAME 1 COMMAND 2 osascript e tell applicatio
  • 有没有办法让视差在 DIV 中发挥作用

    可能完全是在树错树 但是你能使用 div 背景图像元素制作视差滚动图像吗 我想要发生的是 我目前有一些带有带有文本效果翻转的图像的 DIV 但因为我在背景图像中使用视差 所以我想保留所有站点图像的 3D 主题 编辑 例如 是否可以在此页面上
  • 如何检测手机是否连接到 Android Auto

    我正在制作一个应用程序 当手机连接到 Android Auto 时 它应该改变其行为 它不具有任何汽车功能 并且不会作为 Android Auto 应用程序进行营销 提交 有没有办法检测手机是否连接到 Android Auto 我知道汽车媒
  • 如何以编程方式安装 NuGet 包?

    我想以编程方式将 NuGet 包安装到项目中 并更新 csproj文件 以及packages config file 我用的是官方的Nuget core框架的源代码可以在这里找到 https github com NuGet NuGet2
  • Frame.__init__ 是做什么的?

    在下面的代码中 第 5 行是什么Frame init 做 有人可以解释一下它背后的概念吗 多谢 from Tkinter import class AppUI Frame def init self master None Frame in
  • 早期初始化程序中的匿名部分函数需要“过早访问类”

    为什么编译失败 trait Item trait StringItem extends Item def makeString String trait SomeOtherItem extends Item trait DummyTrait
  • jQuery 防止默认操作功能键(F3、F4 等)

    我这里有一个非常基本的例子 http jsfiddle net arhVd 1
  • SIGCHLD 在 Linux 上通过 SIGCONT 发送,但在 macOS 上不发送

    在主进程中我监听SIGCHLD signal SIGCHLD my handler Then I fork execv 并让它在后台运行 例如 bin cat 当我尝试从终端向子进程发送 SIGSTOP 时 my handler 被叫 但是
  • Android 按钮工具提示

    我是 Android 新手 我想知道是否可以有一个带有嵌入式工具提示的 Android 按钮元素 我想在按钮上有一个图像 当按下该图像时会打开某种对话框 提示覆盖 因此 不是悬停工具提示 而是可点击元素 该元素位于按钮单击所在位置之外的其他
  • 将列表转换为字典列表

    我有以下五个清单 a RA CROXE 14156 RA CROXE 14084 b CR ENGINEER NAME DESCRIPTION BINARIES c John Mark d M4 Hiding Emergency Group
  • 如何让 FlashBuilder 使用自定义命名空间前缀

    我有一个组件库 它有一个如下所示的清单文件
  • VBA - 如何有条件地跳过 for 循环迭代

    我对数组有一个 for 循环 我想要做的是测试循环中的某个条件 如果为真则跳到下一次迭代 For i LBound Schedule 1 To UBound Schedule 1 If Schedule i 1 lt ReferenceDa