是否有任何直接的API来查找var(a,b)顺序的变体中的相同索引的匹配项?

是否有任何直接的API来查找var(a,b)顺序的变体中的相同索引的匹配项?

问题描述:

我有一个变种让我们说var(9,175)(使用ADO对象读取excel获得)其中9表示列,175表示行,填充一些数据。是否有任何直接的API来查找var(a,b)顺序的变体中的相同索引的匹配项?

  1. 如何根据从其他工作簿取得的3列(对于同一行)检索整行数据(对于每列值,行号将相同,显而易见)。因此,匹配键将是来自其他工作簿的这3列值。
  2. 我不想执行循环操作,因为它会很耗时。

例子:在方案VAR我在第二行得到了一些数据:

#125 a [68] :1 [197] :2 1 1645 123 

从其他工作簿,我把数据:

[68] :1 [197] 

根据这3个值, 如何根据某些查找或匹配命令完全直接获取第二行的数据?

+0

在VBA中,精心设计的回路通常是最有效的解决方案 –

+0

@chrisneilsen问题是我不能有4个循环运行一起以匹配数据,一个来自ADO变体,另一个来自第二个工作表。 – Damien

+0

'Filter()'查看帮助。 – 2016-12-28 05:17:43

我不清楚你想要做什么,但是如果你知道你想要整行的数组中的行号,那么你可以使用Worksheet.Index函数。

下面是一个使用伪2D阵列的例子:

Sub test() 

    'Assign a 2D array 
    Dim my2DArray() As Variant 
    my2DArray() = [{1,2,3;4,5,6;7,8,9}] 

    Const DESIRED_ROW As Long = 2 

    'Use the Worksheet.Index function to extract an individual row 
    Dim myRow() As Variant 
    myRow = Application.WorksheetFunction.Index(my2DArray, DESIRED_ROW, 0) 

    Debug.Print Join(myRow, ",") 'Prints 4,5,6 

End Sub 
+0

我不想通过索引搜索一行!我需要通过搜索该行中的特定列来获取该行的数据。希望现在让你明白。 – Damien