Tag: multidimensional array

填充临时数组以避免在dynamicmultidimensional array上使用Preserve

作为VBA的初学者,我正在努力学习这个内容的大部分特别,所以请原谅我的灰尘。 我有一个子程序,我正在通过阅读文本文件中的行。 每行都用空格分隔,作为文本标识符。 我需要将每行分割为multidimensional array。 Sub ReadLines() Dim LineValues() As String Dim row As Long, col As Long Dim DataArray() As String Dim TempArray() As String Dim FileContent As String Dim FilePath As String FilePath = "c:\mytextfile.txt" row = 0 TextFile = FreeFile Open FilePath For Input As TextFile FileContent = Input(LOF(TextFile), TextFile) Close TextFile […]

VBA粘贴3维数组成表单

我有一个3维数组(5 x 5 x 3),我需要张贴(5 x 5 x 1)到Sheet1,(5 x 5 x 2)到Sheet2,(5 x 5 x 3)到Sheet3。 因为我在3个嵌套for循环中构build这个3维数组,所以我不能使用for循环来访问循环的(5 x 5)部分。 有没有任何标识符告诉excel通过使用(1:end,1:end,1)来索引数组的所有元素,比如在MatLab中? 基本代码如下: Sub practice_2() Dim arr(1 To 5, 1 To 5, 1 To 3) Dim a As Integer Dim x As Integer Dim y As Integer For a = 1 To 3 For x = […]

在Excel VBA中过滤2D数组

使用Excel和VBA,我想了解如何最好地过滤数组中的数据(采用与数据透视表相同的方式),严格使用VBA。 我正在创build一个用户窗体,它将根据当前存在的数据做出一些数据决定。 我可以想象如何做到这一点,但不熟悉VBA编程。 这是一个例子 ABC bob 12 Small sam 16 Large sally 1346 Large sam 13 Small sally 65 Medium bob 1 Medium 要获取数组中的数据,我可以使用 Dim my_array As Variant my_array = Range("A1").CurrentRegion 现在,我熟悉循环2D数组,但我想知道: 什么是最有效的方法来过滤二维数组数据 (不循环数组一次又一次)? 例如,我怎么会得到这样的数据: data_for_sally As Variant 'rows with sally as name in ColA data_for_sally_less_than_ten As Variant ' all rows with sally's name in […]

Redim可变数量的维度在VBA中

我有一个Excelmacros(VBA)的情况下,我想维数组维数和维度的边界在运行时确定。 我让用户通过为每个选项types创build一个列并填写下面的可能性来指定一系列组合选项。 运行时通过检查纸张来确定列数和选项数量。 一些代码需要运行每个组合(从每列中select一个),我想将结果存储在一个multidimensional array中。 维度的数量可能在2到6之间,所以如果必须的话,我总是可以回到一堆其他的块中,但是感觉应该有一个更好的方法。 我在想,如果我可以在运行时将Redim语句构build为string并执行string,那么可以这样做,但这似乎不可能。 有没有办法dynamic地用不同数量的维度来进行Redim处理?

基于非零的multidimensional array

我使用Interopt.Excel API从电子表格中提取单元格。 当我打电话时: object[,] rangeValues = (object[,])range.get_Value(XlRangeValueDataType.xlRangeValueDefault); 并设置一个断点并检查rangeValues ,我看到从[1,1]“foo”,[1,2]“bar”等元素开始 但是,如果我做string[,] test = new string[2, 2] { { "one", "two" }, { "three", "four" } }; 元素从[0,0]开始。 Excel API如何构造具有空元素的multidimensional array? 我试图添加null,但你仍然有一个[0,0]条目。 他们的对象没有显示出来。

数组到Excel 2007使用PHPExcel

我有这个2维数组,我想导出为Excel文件。 // create a simple 2-dimensional array $data = array( 1 => array ('Name', 'Surname'), array('Schwarz', 'Oliver'), array('Test', 'Peter') ); 问题是我不能预测数组中的键的数量,所以很难使用这种方法 $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!'); $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!'); 我正试图生成一个for循环,将这样做,任何帮助?

VBA Excel二维数组

我试图找出如何声明一个二维数组,但我迄今为止发现的所有例子都是用set整数声明的。 我试图创build一个程序,将利用两个二维数组,然后对这些数组(如发现差异或百分比)执行简单的操作。 数组由Excel表格中的数字填充(一组数字在Sheet1上,另一组在Sheet2上,两组数据具有相同的行数和列数)。 因为我不知道有多less行或列有我要使用variables。 Dim s1excel As Worksheet Dim s2excel As Worksheet Dim s3excel As Worksheet Dim firstSheetName As String Dim secondSheetName As String Dim totalRow As Integer Dim totalCol As Integer Dim iRow As Integer Dim iCol As Integer Set s1excel = ThisWorkbook.ActiveSheet ' Open the "Raw_Data" workbook Set wbs = Workbooks.Open(file_path & data_title) […]

Excel VBA – 如何Redim的二维数组?

在Excel中通过Visual Basic,我通过加载到Excel中的发票CSV文件迭代。 发票是由客户确定的模式。 我将它们读入一个dynamic的二维数组,然后将它们写入另一个具有较旧发票的工作表中。 我明白,我必须扭转行和列,因为只有数组的最后一个维可能被Redimmed,然后转移,当我把它写到主工作表。 某处,我的语法错了。 它一直告诉我,我已经Dimensionalized数组。 不知何故我创build它作为一个静态数组? 为了让它dynamic地运行,我需要解决什么问题? 工作代码每个答案给出 Sub InvoicesUpdate() ' 'Application Settings Application.ScreenUpdating = False Application.DisplayAlerts = False Application.Calculation = xlCalculationManual 'Instantiate control variables Dim allRows As Long, currentOffset As Long, invoiceActive As Boolean, mAllRows As Long Dim iAllRows As Long, unusedRow As Long, row As Long, mWSExists As Boolean, newmAllRows As […]

从Excel读取(范围到multidimensional array)C#

我将如何从Excel工作表读取并将标记的select(区域)加载到multidimensional array中? Excel中的列本身可以是一个multidimensional array,因为它包含的不仅仅是一个值。 这个想法(不知道这有多好)是在所有的Excel.Area(选定的领域)做一个for循环,并将该领域的内容添加到multidimensional array。 由于multidimensional array的types为object [,],因此非generics,因此没有方便的add()方法。 所有这些都需要手动完成。 任何想法,如果这种方法是好的,如果它可以做得更有效率?