问题标签 [vba6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1209 浏览

vba - 使用 VBA 的进度条

我正在使用 VBA 处理 excel 表:我正在尝试测试进度条。我已经完成了设计,如下图:

设计

代码下方userForm

代码下方Module

当我运行代码时,我收到此错误: 调试屏幕

当我按下 时Debug,它会突出显示:

ufProgress.LabelProgress.Width = 0

更多信息

UserForm 名称是 ( ufProgress ),UserForm 左上角的标签,将用于显示指示状态名称的文本 ( LabelCaption ) ...以及 UserForm 名称上的框架 ( FrameProgress ).. Finlay,另一个标签, 即将增长的进度指标名称 ( LabelProgress ) ..

任何建议...

亲切的问候

0 投票
1 回答
527 浏览

json - VBA如何循环来自WinHttp.WinHttpRequest的JSON响应

我无法弄清楚如何正确循环通过WinHttp.WinHttpRequest 我得到的 JSON(Object) 响应。

以下是正在使用的参考资料。我更喜欢保持原样并使用WinHttpRequest

在此处输入图像描述

下面是我得到的 JSON 响应的样子。还有更多记录。

response一个对象。我可以做得到Debug.Print response("Record")(1)("NameValue")(1)("Value")第一个记录

Debug.Print response("Record")(1)("NameValue")(1)("Value")'值1

但我需要能够遍历它以获取所有值,而不仅仅是第一个值

我似乎找不到将 JSON 转换为带有数组length()size()函数的数组的方法。我搜索并找到了UBound()LBound()但我认为它只能用于数组而不是对象。

我会很感激任何帮助。我大部分时间都在使用 Java,而 VBA 中的情况有些不同。

谢谢你。

0 投票
2 回答
65 浏览

excel - 如何结束循环是变量为空

嗨我试图在我的范围内找到单词描述,如果描述是 foudn 那么它应该运行宏然后循环。但如果变量为空且未找到变量描述,我希望循环结束并显示 msgbox。我试图使用循环结束循环,直到单元格为空,但它似乎不起作用。变量 celling 引用为空,所以我不确定为什么这不起作用。任何帮助将不胜感激,感谢max

0 投票
1 回答
36 浏览

excel - 如何在 IF 语句后使用最后 2 行设置工作表之间的值

我正在尝试将整个列值从名为 Hey 的工作表复制并粘贴到名为 final 的工作表中的另一列。

我不想使用复制、粘贴或选择选项。但是,我的代码仅复制第一行。

也许你知道我做错了什么?

我需要将日期从 2 列或更多列复制到位于不同工作表中的另一列。

但是,我不确定是否可以在同一行中使用最后一行 2。我正在尝试这段代码,但只粘贴 1 行的值。

我需要将名为 HEY 的工作表中的 2 列或更多列的值添加到目标工作表中的同一列(最终工作表)

0 投票
2 回答
320 浏览

vba - 来自 Curl 的 VBa 发布请求

我在将 Curl 转换为 VBa 代码时遇到问题,我尝试过的响应是错误的,但是使用邮递员程序我可以访问数据,Curl 代码是

当我尝试像这样在 VBA 中编写它时:

它给了我一个错误我在哪里做错了

0 投票
2 回答
64 浏览

excel - Scripting.Dictionary 用字符串填充一列,考虑超过 3 个标准

我正在尝试用字符串填充列 C 考虑是否行上的消费者符合条件之一:

如果消费者满足这些规则之一,则该值应设置为考虑: • 消费者只有 1 笔交易——(已完成) • 消费者有 2 - 4 笔交易,但总交易量 < 10,000 美元 ---(已完成) •消费者级别(基于以下规则)为 2 级或 3 级 ---(此信息位于 CV 和 CW 列上)如果下拉列表为 60 天且最大交易日期早于 30 天 • 如果下拉列表为 1 年且最长交易日期超过 90 天 • 如果下拉列表为 5 年且最大交易日期超过 180 天

似乎我的代码在错误的列中查找客户级别。例如:客户编号 3 位于 H 列,因此代码需要检查列 CV 以查看级别 客户编号 3 也位于列 AJ 代码需要检查列 CW 以查看级别。如果客户端位于两列上,并且 cod 需要检查两列以查找信息。

CV 列的级别是客户编号位于 H 列或/和 G 列时 CW 列的级别是客户位于 AJ 列或/和 AI 列时

我也在这里问过(你可以下载文件https://www.ozgrid.com/forum/index.php?thread/1228270-how-to-populate-a-column-with-a-string-taking -in-consideration-5-different-crite/&postID=1239894#post1239941

0 投票
2 回答
2424 浏览

vba - 谷歌使用 VBA 翻译单元格值

我正在尝试通过触发以下代码使用自动检测将其他语言转换为英语。

但是我面临运行时错误 424 object required in lineCLEAN_DATA = Split(Application.WorksheetFunction.Substitute(ie.Document.getElementById("result_box").innerHTML, "</SPAN>", ""), "<")

代码有什么问题?

这段代码工作有点慢..因为我需要处理超过 70K 的批量数据,有什么快速的方法可以做到这一点吗?

在我的系统中,我将 google chrome 作为默认浏览器,我们可以使用它进行翻译,这可能有助于更快地运行脚本吗?

0 投票
2 回答
71 浏览

regex - 匹配除 ' 之外的任何字符

我想匹配任何字符(不区分大小写),除非前面有一个单引号,然后是 On Error Goto 文本:

匹配:

不符合:

我试过了:[^']*(On Error Goto)但这没有用。

用于测试程序中是否使用了Errorhandler

谢谢!

0 投票
0 回答
34 浏览

vba - 如何在VBA中同时循环数组

我的问题是在j循环完成后,i意志就会移动。

我想同时运行 2 个循环数组。

0 投票
2 回答
737 浏览

excel - 使用 VBA () 读取 UTF-8 编码的 CSV 时修复 BOM 问题

在尝试使用 VBA (Excel) 读取 UTF-8 编码的 CSV 时,我想就字节顺序标记( 或十六进制的EF BB BF )引起的臭名昭著的问题获得新的建议。请注意,我想避免使用 Workbooks.Open 或 FileSystemObject 打开 CSV。实际上,我宁愿使用 adodb.RecordSet,因为我需要执行某种 SQL 查询。

在阅读了很多(很多!)的东西之后,我相信处理这个特定问题的 4 个最佳解决方案是:

  • 在使用 ADODB.Connection / ADODB.RecordSet 读取 CSV 之前移除 BOM(例如,通过 #iFile 或 Scripting.FileSystemObject-OpenAsTextStream 来有效地读取文件的第一行并移除 BOM)。
  • 创建 schema.ini 文件以便 ADO 正确解析 CSV。
  • 使用向导创建的一些模块(如W. Garcia 的类模块)。
  • 使用 ADODB.Stream 并设置 Charset = "UTF-8"。

最后一个解决方案(使用流)似乎很好,但执行以下操作会返回一个字符串:

您是否知道任何可以帮助使用 .readtext 返回的字符串作为 ADODB.RecordSet 或 ADODB.Connection 的数据源的技巧(除了循环手动填充我的记录集的字段)?