相关疑难解决方法(0)

VBA变量/数组默认值

考虑一下声明

Dim x As Double
Dim avg(1 To 10) As Double
Run Code Online (Sandbox Code Playgroud)

什么是默认值xavg

通过测试,我想说它x被初始化为零.同样,我想说所有元素avg都被初始化为零.

但是,我可以编写依赖于此的代码吗?或者默认的初始化值实际上是不确定的?

arrays vba default-value

17
推荐指数
1
解决办法
3万
查看次数

Microsoft Visual Basic:如何初始化数组变量?

我编写了一个宏,它对文档中特定Word样式集的每个实例执行某些操作.

为此,我用这种方式创建了一个名字数组:

Dim mylist(4) As String
mylist(1) = "Heading 1" 
mylist(2) = "Heading 2" 
mylist(3) = "Heading 3" 
mylist(4) = "Caption"
Run Code Online (Sandbox Code Playgroud)

我无法找到任何帮助页面(在Office帮助或microsoft.com中)提到了一个更短的方法.是否有任何语法可以让我简化为(伪代码)

mylist(1:4) = ["Heading 1", "Heading 2", "Heading 3", "Caption"]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个数组的单行加载的通用解决方案,无论是字符串还是数字,当我不想要整个集合时,比如说文档中的所有样式.

编辑:我在Visual Basic 2008中运行了Collection初始化语法?,这表明答案是"直到VB10".任何对该结论的更新都将受到欢迎.

vba initialization

3
推荐指数
1
解决办法
9080
查看次数

vba Excel 2010:将字符串数组转换为int数组

Dim myarray(2) as Variant

myarray(0)="3"
myarray(1)="4"
myarray(2)="5"
myarray(3)="9"
Run Code Online (Sandbox Code Playgroud)

我希望它成为

myarray(0)=3
myarray(1)=4
myarray(2)=5
myarray(3)=9
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让它没有循环,只需一行?这适用于Excel 2010.

我想要这样的东西,但它不起作用:

intArray = Array.ConvertAll(stringArray , Function(str) Int32.Parse(str))
Run Code Online (Sandbox Code Playgroud)

arrays string int vba excel-vba

2
推荐指数
1
解决办法
9784
查看次数

标签 统计

vba ×3

arrays ×2

default-value ×1

excel-vba ×1

initialization ×1

int ×1

string ×1