TRD_Daylr.xls有三列,分别是股票代码、交易日、收益率,RE_A1.XLS也有三列,分别是股票代码、公布日期、交易所。我想把RE_A1.XLS里所有公布日期是2001年的公司在公布日期前三天至后两天的收益率放在TRD_Daylr.xls的sheet 2中,找到了下面这段代码,可是提示下标越界,怎么回事啊?
Sub aaa()
Dim A1 As Worksheet, A2 As Worksheet, p As Integer, ts As Integer, I As Integer, j As Integer
ts = 1
Set A1 = Workbooks("RE_A1.xls").Worksheets("Sheet1")
Set A2 = Workbooks("TRD_Dalyr.xls").Worksheets("Sheet1")
Workbooks("TRD_Dalyr.xls").Worksheets("Sheet2").Select
m = A1.UsedRange.Rows.Count
n = A2.UsedRange.Rows.Count
For I = 2 To m
If Year(A1.Cells(I, 2)) = 2001 Then
For j = 2 To n
If A1.Cells(I, 1) = A2.Cells(j, 1) And A1.Cells(I, 2) = A2.Cells(j, 2) Then
For p = -3 To 2
Cells(ts + 4 + p, 1) = A2.Cells(j + p, 1)
Cells(ts + 4 + p, 2) = A2.Cells(j + p, 2)
Cells(ts + 4 + p, 3) = A2.Cells(j + p, 3)
Cells(ts + 4 + p, 4) = A1.Cells(I, 3)
Next p
ts = ts + 6
End If
Next j
End If
Next I
End Sub