For...VBA 中的下一个循环超出限制

2024-05-15

我正在使用一个For... Next循环填充数组,如下所示

ReDim array(1 to 100, 1 to 100)

For i = 1 to 100

Next i 

But the i计数器似乎总是转到 101,而不是停止在 100。因此,这会在我的数组中创建第 101 个元素,这会给我错误“下标超出范围”。有人知道如何解决吗?


The Next i步骤相当于写作

i = i + Step    'Step is an optional parameter which defaults to 1 for VBA For loops
Goto Loop_Start

因此,当你完成循环时,计数器将始终设置为 1(或更多,具体取决于Stepsize)大于产生的最大循环值True健康)状况。

您可以尝试这个小代码来亲自测试一下。

Sub TestCLoop()
    Dim i As Long

    For i = 1 To 100
    Next i

    MsgBox i
End Sub

你将得到的结果是...

如果您计划在循环完成后使用“最后一个值”,则方法是

Sub TestCLoop()
    Dim i As Long, MaxValue as Long
    MaxValue = 100

    For i = 1 To MaxValue
         ' Do something
    Next i

    i = MaxValue

    'Use i now
End Sub

如果大量代码使用,这应该可以解决问题i已经写好了。恕我直言,在增量循环过程中使用增量变量后,您不应该使用它们,因为它会导致错误,例如您刚刚经历过的错误(除非您真的知道自己在做什么,例如知道什么)Next i确实如此)。

此外,一个好的设计实践是,不要将循环运行到硬编码的最大值,而是运行到保存该值的变量或在程序中非常明显的位置声明的某个常量。这使得代码的修改变得更加容易,并且更有可能保持无错误。

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

For...VBA 中的下一个循环超出限制 的相关文章

  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 如何使用vba复制Excel工作表中的动态范围

    我试图使宏中的范围是动态的 而不指定最后一行x Sheets SheetName Range A2 K1000 Copy在 1000 行中 我想将其更改为动态 因为有时我的数量会更少或更多 尝试这个 Sub Test Dim lRow as
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • 将 MS 转换为秒

    我发现这个公式可以用来将 MS 转换为秒 但它是为 Excel 2002 编写的 而我正在使用 2010 CONCATENATE TEXT INT B1 1000 86400 hh mm ss B1 INT B1 1000 1000 以下是
  • 如何从 SQL Server 存储过程返回值并在 Access VBA 中使用它们

    我已经在 SQL Server 中设置了一个运行良好的存储过程 我现在可以从 VBA 调用它 但想返回一个值以了解是否存在任何错误等 我的 SP 中的最后一个参数设置为 OUTPUT DataSetID int 0 Destination
  • Excel 接受一些字符,而 OpenXml 有错误

    我有一个字符串 我想使用 C 中的 openxml 组件将其导出到 Excel 文件 我的文本有 u001f 字符 而 openxml 对此字符有错误 错误文本 十六进制值 0x1f 是无效字符 我将该测试直接复制到 Excel 中 没有问
  • Excel 2007 从 C# get_Value 始终返回 -2146826265

    我有一个引用 Microsoft Excel 12 0 对象库的小型 C 应用程序 除此之外 它还从 Excel 单元格读取值 它从一些较旧的 Excel xls 文件和一些 2007 文件 xlsx 中读取此值 所有 xls 文件的值都会
  • 使用 for 循环读取文件时跳过行

    我试图找出一种方法 如果第一行中的条件为真 则跳过文件中的接下来两行 有什么好的方法可以做到这一点吗 这是我到目前为止所拥有的 def main file open r C Users test Desktop test2 txt r ct
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • Office 365 中 Excel 中 Power Pivot 的计算列中正确的 DAX GROUPBY 语法是什么

    将以下语法输入到下面在 Excel Office 365 版本 的 powerpivot 中提供的表 Visits 的计算列公式中 GROUPBY Visits Patient Name First Visit Date MINX CURR
  • 从Excel单元格中提取固定长度的数字

    一些类似名称的线程 但仍然无法解决我的问题 我需要从 Excel 字符串中提取固定长度的 NUMBER 值 在我的场景中为 8 位数字 为此目的提供了以下 Excel 公式 MID A1 FIND SUBSTITUTE SUBSTITUTE
  • 如何获取活跃的Excel实例?

    我有一个 C 应用程序 该应用程序根据用户需求将信息粘贴到 excel 背后的逻辑是这样的 如果没有正在运行的 excel 实例 它会创建一个实例并粘贴到该实例 如果只有一个实例在运行 它会尝试获取该实例并使用它 这是我用来执行此操作的代码
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • Python循环遍历Excel工作表,将工作表名称添加到列表中,然后连接所有

    我正在循环遍历 Excel 工作表并将它们附加到列表中 循环完成后 我使用 Pandas 连接到单个数据帧 我遇到的问题是将工作表名称添加到适当的列表中 infile is a filepath variable xls xlrd open
  • python XlsxWriter 设置多个单元格周围的边框

    I need an easy way to set border around multiple cells like so 我发现的只是 1 个单元格的边框 并合并单元格 这不是我需要的 我期待类似的事情 worksheet range
  • 有什么办法可以加快这个 VBA 算法的速度吗?

    我正在寻找实现 VBAtrie http en wikipedia org wiki Trie 构建能够在相对较短的时间内 少于 15 20 秒 处理大量英语词典 约 50 000 个单词 的算法 由于我实际上是一名 C 程序员 这是我第一
  • 从 VBA 访问串行端口的最佳方法是什么?

    从 VBA 访问串行端口的最佳方法是什么 我需要我们的一些销售代表能够通过 PowerPoint 中的操作按钮通过串行端口发送简单的字符串 我不常用 VBA 尤其是像这样的事情 通常我会把它变成某种应用程序 但实际上我认为这个想法并没有那么
  • VBA将二进制图像转换为网页的base64编码字符串

    我正在尝试读取 JPG 文件并将该文件转换为 base64 编码的字符串 该字符串可用作网页上的嵌入 jpeg 我在网上发现了两个在 VBA 中进行 Base64 编码 解码的函数 它们似乎被广泛接受 编码 解码过程产生了我的原始二进制字符
  • 溢出范围:将数组转换为与 @ 的交集值

    在 Excel 引入溢出范围之前 在 运算符 可以使用 将范围 转换 为单个值0 数值 或 字符串 但 并不完全相同 假设有一列正整数从B4向南 从D2向东有一行正整数 并且 A 列和 C 列以及第 1 行和第 3 行完全是空的 目的是将单
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此

随机推荐

  • 使用控制器通过 codeigniter 处理返回的自定义 css 和 javascript 文件

    我正在开发一个 php codeigniter 项目 我正在考虑创建一个专门用于处理返回自定义 css 和 javascript 文件的控制器 在之前的项目中 我在视图文件的标头中包含了外部 CSS 和 JS 文件 但它们本质上必须是静态的
  • MVC4更新部分视图

    我正在开发一个简单的 MVC 应用程序 我有主视图 部分视图和控制器 这是我的主要视图 model partitalViewTest Models Qset div class transbox style height 1 Html Pa
  • 视图与画布比例不适合画布

    当我尝试将画布缩放为绘制缩放视图时 我的视图实际上已缩放 但视图被裁剪 可能是因为它的布局参数 public void onDraw Canvas canvas canvas scale 2f 2f view draw canvas 简单图
  • Swift 包管理器:“多个目标名为...”

    我正在尝试构建一个服务器端 Swift Web 应用程序 我的应用程序的基础框架将是Kitura https www kitura io来自IBM 此外 我还想利用AWS SDK Swift https github com noppoMa
  • 在 swagger 中隐藏 spring 请求正文中的某些字段

    下面的示例 api 允许用户创建一个对象 用户应该能够指定name的领域Thing对象 而id字段应该自动生成 根据以下设置 将显示 swaggerboth请求的名称和 id 字段作为用户可以输入的内容 并将这两个字段显示为可选 事实上 对
  • 关于多客户端和可定制 Web 应用程序的架构所需的建议[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • std::condition_variable::wait_for 和 std::condition_variable::wait_until 有什么区别?

    The 我正在使用的参考 http en cppreference com w cpp thread condition variable对两者的解释如下 wait for 阻塞当前线程 直到条件变量被唤醒或在指定的超时持续时间之后 wai
  • Java 在组件中心之间绘制一条线

    当用户单击一个标签 在另一个标签上拖动并释放时 我试图在两个 JLabel 的中心之间绘制一条线 无论窗口大小如何 都应该有效 但线条不在中心 如何解决 以下示例有效 但线条似乎被 JFrame 的边界偏移 因此它们不是中心 我不想尝试从点
  • 将 IndexToString 应用于 Spark 中的特征向量

    Context 我有一个数据框 其中所有分类值都已使用 StringIndexer 进行索引 val categoricalColumns df schema collect case StructField name StringType
  • 使用异步任务

    如果这是一个简单的问题 我很抱歉 但我对此很陌生并且仍在学习 我有一个应用程序 当我的用户在输入详细信息后单击按钮登录时 它因 android os NetworkOnMainThreadException 崩溃 我发现这是因为我正在主线程
  • 将字符串转换为双精度 - VB

    VB中有没有一种有效的方法来检查字符串是否可以转换为双精度型 我目前正在尝试将字符串转换为双精度型 然后查看它是否引发异常 但这似乎减慢了我的申请速度 Try if number then format it current CDbl x
  • OpenCV IP 相机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

    我在 cpp 中有一个 opencv 应用程序 它使用 opencv 的简单结构捕获视频流并将其保存到视频文件中 它与我的网络摄像头完美配合 但是 当我运行它从 IP 摄像机捕获流时 它可能会在大约十秒后崩溃 我的编译命令是 g O3 IP
  • 如何在 SQLite 中替换字符串?

    如何更新具有以下内容的表列 var mobile 233KKFSDK3234 Documents Page jpg 并将其替换为 Documents Page jpg 在 SQLite 中 注意 所有文字 除了 Documents 是动态的
  • GWT 是否重用 Google Closure Compiler,如果不重用,为什么?

    谷歌网络工具包 GWT http code google com webtoolkit 执行 javascript 代码的内联 缩小和删除未使用的代码 以及其他一些优化 这些也是由谷歌闭包编译器 http code google com c
  • 来自java的kotlin函数默认参数

    给出以下 Kotlin 类 class Foo public fun bar i Int 0 Int 2 i 我应该如何在没有 java groovy 代码中的任何参数的情况下调用 bar 函数 def f new Foo f bar th
  • 如何将 Twitter 小部件嵌入到 Reactjs 中?

    前往 Twitter 小部件网站 https publish twitter com https publish twitter com 我可以获得一个小部件添加到我的网站 我正在使用示例代码来尝试了解它的工作原理 a class twit
  • 如何在 ASP.Net MVC 中执行 301 永久重定向路由

    如何在 ASP NET MVC 中执行 HTTP 301 永久重定向路由 创建一个继承自 ActionResult 的类 public class PermanentRedirectResult ActionResult public st
  • 将命令行参数传递给子进程并对它们进行计数

    我希望父进程将参数传递给 main 并通过以 argv 1 开头的管道一次将其中的字符发送到子进程 然后继续处理其余参数 一次调用 write对于每个字符 我希望子进程计算父进程发送给它的字符数 并打印出从父进程接收到的字符数 子进程不应以
  • 如何将整个 GDB 会话转储到文件中,包括我输入的命令及其输出?

    在 bash 中 我可以使用script命令 它将 shell 上显示的所有内容转储到文件中 包括 键入的命令 PS1 line 命令的 stdout 和 stderr gdb 中的等效项是什么 我试着跑shell script从 GDB
  • For...VBA 中的下一个循环超出限制

    我正在使用一个For Next循环填充数组 如下所示 ReDim array 1 to 100 1 to 100 For i 1 to 100 Next i But the i计数器似乎总是转到 101 而不是停止在 100 因此 这会在我