Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
Vba 作为列的单个数组中的多维数组(矩阵)_Vba_Excel - Fatal编程技术网

Vba 作为列的单个数组中的多维数组(矩阵)

Vba 作为列的单个数组中的多维数组(矩阵),vba,excel,Vba,Excel,我想知道如何在VBA中将单个向量指定为动态多维数组中的specefic列/行 我的意思是,如果我运行以下代码: Dim m1()作为变量 ar1 = Array(1, 2) ar2 = Array(4, 5) ar3 = Array("a", "b") m1 = Array(ar1, ar2, ar3) 我得到这样的东西: m1是一个变量(0到2),在每个单元格中,我有一个维数为2的数组,而不是得到: m1是一个变量(0到2,0到1),换句话说,是一个矩阵,如果我将矩阵定义为一个变量(0到

我想知道如何在VBA中将单个向量指定为动态多维数组中的specefic列/行

我的意思是,如果我运行以下代码: Dim m1()作为变量

ar1 = Array(1, 2)
ar2 = Array(4, 5)
ar3 = Array("a", "b")

m1 = Array(ar1, ar2, ar3)
我得到这样的东西:

m1是一个变量(0到2),在每个单元格中,我有一个维数为2的数组,而不是得到:

m1是一个变量(0到2,0到1),换句话说,是一个矩阵,如果我将矩阵定义为一个变量(0到2,0到1),并分别填充每个单元格,就会得到这个矩阵。 像这样:

我想实现以下目标:

m3 = [ar1;ar2;ar3]
但是这次扔

错误2015


数字数组:带有数字索引的数组。值以线性方式存储和访问

关联数组:以字符串作为索引的数组。这将与键值相关联地存储元素值,而不是按照严格的线性索引顺序

多维数组:使用多个索引访问包含一个或多个数组和值的数组

数字数组


这将产生以下结果−

值为1

值为2

值为3

值为4

值为5

价值是一

值为2

价值是三

值是四

价值是五

关联数组

html>


这将产生以下结果−

积山的工资是2000英镑

巴拉特的薪水是1000英镑

阿比希的工资是500英镑

积山的工资很高

巴拉特的薪水中等

阿比希的工资很低

多维数组


这将产生以下结果−

积山物理成绩:35分

巴拉特的数学成绩:32分


abhi的化学成绩:39

如果我跟在后面,大概是这样

Sub MatrixTest()

ar1 = Array(1, 2)
ar2 = Array(3, 4)
ar3 = Array("a", "b")

a = Array(ar1, ar2, ar3)
a = Application.Transpose(a)

End Sub

如果您不介意从基于0移动到基于1,并且没有超过65536行,只需添加:

m1 = Application.Index(m1, 0, 0)

这些都不是VBA,所以在这里不是非常有用。几乎可以工作。它改变了细胞的尺寸,但通过转座改变了细胞的顺序。它使用(并遵循您的示例):
a=Array(ar1、ar2、ar3)
a=Application.Transpose(a)`
a=Application.Transpose(a)
  <?php
     $marks = array( 
        "jishan" => array (
           "physics" => 35,
           "maths" => 30,   
           "chemistry" => 39
        ),

        "bharat" => array (
           "physics" => 30,
           "maths" => 32,
           "chemistry" => 29
        ),

        "abhi" => array (
           "physics" => 31,
           "maths" => 22,
           "chemistry" => 39
        )
     );

     /* Accessing multi-dimensional array values */
     echo "Marks for jishan in physics : " ;
     echo $marks['jishan']['physics'] . "<br />"; 

     echo "Marks for bharat in maths : ";
     echo $marks['bharat']['maths'] . "<br />"; 

     echo "Marks for abhi in chemistry : " ;
     echo $marks['abhi']['chemistry'] . "<br />"; 
  ?>
Sub MatrixTest()

ar1 = Array(1, 2)
ar2 = Array(3, 4)
ar3 = Array("a", "b")

a = Array(ar1, ar2, ar3)
a = Application.Transpose(a)

End Sub
m1 = Application.Index(m1, 0, 0)