Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA常量数组到VBA代码数组_Vba_Excel - Fatal编程技术网

Excel VBA常量数组到VBA代码数组

Excel VBA常量数组到VBA代码数组,vba,excel,Vba,Excel,我正在做excel VBA学校作业,我有一个问题,似乎无法在网上找到答案。 我有一个保存信息的数据库表,在某个位置我有一个常量数组={false,true,false},我需要它将其转换为VBA数组TF(1到3) TF(1)的值应为false TF(2)的值应为true TF(3)的值应为false 到目前为止,我的代码如下所示: Sub trying() Dim TF(1 To 3) As String Set targetWorksheet = Worksheets("duomBazeShe

我正在做excel VBA学校作业,我有一个问题,似乎无法在网上找到答案。 我有一个保存信息的数据库表,在某个位置我有一个常量数组={false,true,false},我需要它将其转换为VBA数组TF(1到3) TF(1)的值应为false TF(2)的值应为true TF(3)的值应为false 到目前为止,我的代码如下所示:

Sub trying()
Dim TF(1 To 3) As String
Set targetWorksheet = Worksheets("duomBazeSheet")
Worksheets("duomBazeSheet").Activate

With targetWorksheet
    TF(1) = .Cells(2, 8).Value
    MsgBox (TF(1))

End With
End Sub
“duomBazeSheet”是一个包含所有数据的工作表,目标位置为(2,8)

有什么想法吗


编辑:这里有一个链接“工作表外观:突出显示数组”

下面的代码声明一个一维数组,并用值false、true、false填充该数组。循环的
将在末尾显示每个元素。不清楚要将这些值放置在何处

Sub-trying()
Dim-TF作为变异体
我想我会坚持多久
将targetWorksheet设置为工作表
设置targetWorksheet=工作表(“duomBazeSheet”)
使用targetWorksheet
TF=Split(.Cells(2,8).Value,Chr$(10))'Chr$(10)是回车
以
对于i=LBound(TF)到UBound(TF)
MsgBox TF(一)
接下来我
端接头

下面的代码声明并用值false、true和false填充一维数组。
循环的
将在末尾显示每个元素。不清楚要将这些值放置在何处

Sub-trying()
Dim-TF作为变异体
我想我会坚持多久
将targetWorksheet设置为工作表
设置targetWorksheet=工作表(“duomBazeSheet”)
使用targetWorksheet
TF=Split(.Cells(2,8).Value,Chr$(10))'Chr$(10)是回车
以
对于i=LBound(TF)到UBound(TF)
MsgBox TF(一)
接下来我
端接头

基于名为“评估”的功能,您可以执行此操作

Dim tf
tf = Application.Evaluate("{True,False,True}")
给定H2中的公式文本,请尝试此

Sub Test()


    Dim tf
    tf = Application.Evaluate(ActiveSheet.Cells(2, 8).Formula)

    Dim i
    For i = LBound(tf) To UBound(tf)
        MsgBox tf(i)
    Next i

End Sub

基于一个名为“评估”的功能,您可以做到这一点

Dim tf
tf = Application.Evaluate("{True,False,True}")
给定H2中的公式文本,请尝试此

Sub Test()


    Dim tf
    tf = Application.Evaluate(ActiveSheet.Cells(2, 8).Formula)

    Dim i
    For i = LBound(tf) To UBound(tf)
        MsgBox tf(i)
    Next i

End Sub


看起来应该有用。问题出在哪里?它只得到第一个值,我想打印第二个值(真)你期望什么?您正在从工作表中为数组赋值。您需要循环arrayLooks,就像它应该工作一样。问题出在哪里?它只得到第一个值,我想打印第二个值(真)你期望什么?您正在从工作表为数组赋值。您需要循环数组。为什么将数组值设置为
String
s而不是
Boolean
s?@Tom,同意。我不做要求,我只是跟着做。我知道,但我需要从工作表中的常量数组({false,true,false})中得到false-true-false,这是工作表,如果数组没有逗号,则使用
“”
分隔符,它只得到假值为什么将数组值设置为
String
s而不是
Boolean
s?@Tom同意。我不做要求,我只是跟着做。我知道,但我需要从工作表中的常量数组({false,true,false})中获取false-true-false。这是工作表,或者使用
分隔符。如果数组没有逗号,它只会获取false值。很好,抱歉再次发布相同的链接,我突出显示了数组:这是我的问题:(它是需要转移到vba的常量数组,它不在不同的行中,或者只是
tf=Evaluate([duomBazeSheet!H2].Formula)
它给了我这个:(“感谢您的反馈!声誉低于15的人所投的票会被记录下来,但不会更改公开显示的帖子分数。”很好,很抱歉再次发布相同的链接,我突出显示了数组:这是我的问题:(这是需要传输到vba的常量数组,它不在不同的行中或只是
tf=Evaluate([duomBazeSheet!H2].公式)
它告诉我:(“感谢您的反馈!记录了声誉低于15的人的投票,但不会更改公开显示的帖子分数。”