标签: vba

如何在Excel VBA中对字符串进行URL编码?

是否有内置的方法在Excel VBA中对字符串进行URL编码,还是需要手动滚动此功能?

url excel encoding vba urlencode excel-vba

68
推荐指数
7
解决办法
10万
查看次数

Dim,Global,Public和Private作为模块化字段访问修饰符有什么区别?

在VB6/VBA中,您可以在特定SubFunction方法之外声明模块级变量.我用PrivatePublic前内部模块和理解他们,像这样:

  • Public - 模块内的所有代码和模块外的所有代码都可见,实际上使其成为全局代码.
  • Private - 仅对模块内的代码可见.

我注意到你可以使用DimGlobal作为模块变量的修饰符.是DimGlobal从不同Private,并Public分别作为模块化领域访问修饰符使用时?如果是这样,他们有什么不同?

vb6 vba scope access-modifiers

67
推荐指数
1
解决办法
13万
查看次数

在Excel VBA中解析JSON

我有与Excel VBA相同的问题:Parsed JSON Object Loop但无法找到任何解决方案.我的JSON有嵌套对象所以像VBJSON和vba-json这样的建议解决方案对我不起作用.我还修复了其中一个正常工作,但结果是一个调用堆栈溢出,因为doProcess函数的许多递归.

最好的解决方案似乎是原始帖子中看到的jsonDecode函数.它非常快速且高效; 我的对象结构是JScriptTypeInfo类型的通用VBA对象.

此时的问题是我无法确定对象的结构是什么,因此,我事先并不知道将存在于每个通用对象中的键.我需要遍历通用VBA对象来获取键/属性.

如果我的解析javascript函数可以触发VBA函数或sub,那将是非常好的.

excel parsing vba json object

67
推荐指数
5
解决办法
13万
查看次数

检测Excel工作簿是否已打开

在VBA中,我以编程方式打开了名为"myWork.XL"的MS Excel文件.

现在我想要一个可以告诉我其状态的代码 - 无论是否开放.就是这样的IsWorkBookOpened("myWork.XL)

excel vba

67
推荐指数
5
解决办法
31万
查看次数

测试字符串是否以字符串开头?

在VBA中,测试字符串是否以子字符串开头的最直接的方法是什么?Java有startsWith.有VBA等价吗?

vba

66
推荐指数
2
解决办法
12万
查看次数

刷新Excel VBA函数结果

有谁知道我如何获得用户定义的函数来重新评估自己(基于电子表格中更改的数据)?我试过F9Shift+F9,但那些不工作.唯一可行的方法是使用函数调用编辑单元格,然后按Enter键.有任何想法吗?我似乎记得能够做到这一点......

excel vba user-defined-functions

65
推荐指数
4
解决办法
13万
查看次数

列名称中的Excel列号

如何使用Excel宏从Excel中的列名获取列号?

excel vba excel-vba

65
推荐指数
1
解决办法
27万
查看次数

为什么单元格(1,1)= 500*100会导致溢出但50000*100不会导致溢出?

好吧,我刚刚创建了一个简单的sub,它给出了溢出的错误.但是,我没有看到代码有什么问题,而且真的很奇怪,因为50000*100远大于500*100.

sub add()
    'This will cause an overflow error
    cells(1,1) = 500 * 100
    'But this won't
    cells(2,2) = 50000 * 100
end sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

65
推荐指数
3
解决办法
3895
查看次数

VBA Excel中的进度条

我正在做一个需要从数据库进行大量数据更新的Excel应用程序,因此需要时间.我想在userform中创建一个进度条,它会在数据更新时弹出.我想要的酒吧只是一个小的蓝色条左右移动并重复,直到更新完成,不需要百分比.我知道我应该使用progressbar控件,但我曾尝试过一段时间,但是无法做到.

编辑:我的问题是progressbar控件,我看不到栏'进展',它只是在表格弹出时完成.我使用循环,DoEvent但这不起作用.另外,我希望这个过程重复,而不仅仅是一次.

excel vba excel-vba

64
推荐指数
7
解决办法
26万
查看次数

如何在所有Excel工作表的末尾添加命名工作表?

我试图在所有现有工作表的末尾添加一个名为"Temp"的Excel工作表,但此代码不起作用:

Private Sub CreateSheet()
    Dim ws As Worksheet
    ws.Name = "Tempo"
    Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
End Sub
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么吗?

excel vba worksheet

64
推荐指数
5
解决办法
61万
查看次数