大家好,我需要一些帮助我的VBA代码

大家好,我需要一些帮助我的VBA代码,vba,Vba,我编写了一个代码,在多个文件夹和子文件夹中循环,打开xls文件并提取一些特定数据,复制它们,然后将它们粘贴到合成工作簿中 有些数据取决于填写表格的数据的选择。填写表格的人可以选择勾选“非常满意”、“满意”、“中立”、“不满意”。当我运行代码时,它总是在每一行上粘贴相同的值,即使我勾选了不同的选项 以下是我的代码部分: For k = 18 To 37 'from line 18 to 37 For j = 4

我编写了一个代码,在多个文件夹和子文件夹中循环,打开xls文件并提取一些特定数据,复制它们,然后将它们粘贴到合成工作簿中

有些数据取决于填写表格的数据的选择。填写表格的人可以选择勾选“非常满意”、“满意”、“中立”、“不满意”。当我运行代码时,它总是在每一行上粘贴相同的值,即使我勾选了不同的选项

以下是我的代码部分:

            For k = 18 To 37   'from line 18 to 37
            
                For j = 4 To 7 'from column 4 to 7
                
                    If Cells(k, j) = ("X") Then  'if a cell contains the value X
                    
                    critere = Cells(16, j)  'the variable called "critere" take the value of the intersection between line 16 and the clumn containg X
                                    
                    Else
                    
                    End If
                    
                Next j
            Next k
                

欢迎使用stack,要从vba遍历子文件夹,您需要使用另一种称为“递归”(google it)的方法。基本上,您需要从另一个子系统调用该函数。或者,您可以使用简单的批处理(windows)将所有文件复制到同一文件夹,并从vba处理此文件夹。另外,我假设这是一个不同的问题,您应该阅读有关使用“数组”在工作表之间移动数据的内容,像您这样将数据分配给变量是性能最差的方法。谢谢您的回答。我修改了我的帖子,因为我找到了解决方案,它几乎可以完美地工作。对于阵列,我将看一看。