程序如下:
Private Sub Worksheet_Activate()
Dim time '定义被查找时间变量
Dim pos '定义位置变量
time = Cells(3, 2) '给被查找时间变量复制
pos = Application.WorksheetFunction.Match(time, Workbooks("002001.SZ.xls").Worksheets(1).Range("c:c"), 0) '查找时间变量并返回位置
Application.Workbooks("002001.SZ.xls").Worksheets(1).Cells(pos, 14).Copy ThisWorkbook.Worksheets(1).Cells(39, 2) '复制被查找时间对应的n列数值
End Sub
运行出错1004。但是如果不用time,直接在match里用cells(3,2)搜索的话就没问题。我就是好奇问题出在哪里。cell(3,2)跟Workbooks("002001.SZ.xls").Worksheets(1).Range("c:c")里面的数据都是日期。为什么给time赋值后再用time去搜索会出现错误?
讲time改为shijian 也不行
pos = Application.WorksheetFunction.Match(time, Workbooks("002001.SZ.xls").Worksheets(1).Range("c:c"), 0)
这一句中time改为 2007/10/19 这种具体数值都不行,只有改为cells(3,2)可以……