Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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 搜索表,然后搜索列,并复制列中的数据_Excel_Vba - Fatal编程技术网

Excel 搜索表,然后搜索列,并复制列中的数据

Excel 搜索表,然后搜索列,并复制列中的数据,excel,vba,Excel,Vba,我有一个表格,以两个数据验证下拉列表开始,一个用于日期,一个用于时间。我想创建一个宏,显示所选日期/时间组合的相应数据。现在,在另一张表上有一张每天的表格,表格的列中有当天的小时数据。理想情况下,更改两个DV列表单元格后,宏将找到正确的日期表,找到正确的小时列,然后选择数据并将其粘贴到工作表上的某个范围内。到目前为止,我一直在跑步,但实际上什么都没做 Private Sub Worksheet_Change(ByVal Target As Range) Dim tbl As ListObject

我有一个表格,以两个数据验证下拉列表开始,一个用于日期,一个用于时间。我想创建一个宏,显示所选日期/时间组合的相应数据。现在,在另一张表上有一张每天的表格,表格的列中有当天的小时数据。理想情况下,更改两个DV列表单元格后,宏将找到正确的日期表,找到正确的小时列,然后选择数据并将其粘贴到工作表上的某个范围内。到目前为止,我一直在跑步,但实际上什么都没做

Private Sub Worksheet_Change(ByVal Target As Range)
Dim tbl As ListObject, sht As Worksheet, clm As Range

Set sht = Worksheets("Data")

If Not Intersect(Target, Target.Worksheet.Range("B2")) Is Nothing Then
    For Each tbl In sht.ListObjects
        If tbl.Name = Sheets("Heat Map").Range("B1").Value Then
                For i = 1 To NumCols
                    If Cells(2, i).Value = Sheets("Heat Map").Range("B2").Value Then
                        Sheets("Heat Map").Range("B4:B21").Value = tbl.Range(Cells(3, i), Cells(20, i)).Value
                    End If
                Next i
        End If
    Next tbl

End If
End Sub


如果您添加一个断点并单步执行代码,会发生什么情况?@SJR-对VBA来说相当陌生,所以不确定断点是什么,但当我运行click debug an run to curser(最后)时,它不会出现错误,但它也不会执行我认为应该执行的操作。因此,您在谷歌上搜索了“VBA断点调试”以了解它是什么?步骤调试代码,观察每一行的执行情况,看看输入的执行情况是否与预期一致。除非我做得不对,否则工作表(“数据”)中的每个tbl在
处都会出现类型不匹配,这是没有意义的,因为我在没有问题之前就使用了确切的语法