|
本帖最后由 tinytiger 于 2015-2-3 12:09 编辑
放在工作表中运行没有问题,放在模块中调用的时候总是出现“运行时错误424,要求对象”,停止在标为红色字体的这一行,这是怎么回事?谢谢各位老师!
Sub sfdj()
Dim myPath$, sf$, yf$
Dim lastrow%
Dim i As Integer, j As Integer
myPath = ActiveWorkbook.Path & "\"
sf = "出院随访登记表.xls"
yf = ActiveSheet.Name
yf = Left(yf, Len(yf) - 7)
For i = 1 To Workbooks.Count
j = j + CInt(Workbooks(i).Name = sf)
Next i
If j Then
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Activate
Else
If Month(Date) = 1 And Len(Dir(myPath & "出院随访登记表_" & Year(Date) - 1 & ".xls")) = 0 Then
MsgBox "请再点一次随访!"
Workbooks.Open Filename:=myPath & sf
Exit Sub
Else
Workbooks.Open Filename:=myPath & sf
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Activate
End If
End If
lastrow = Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(Rows.Count, 1).End(xlUp).Row
If lastrow <= 73 Then
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 1) = lastrow
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 2) = Cells(Target.Row, 2)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 4) = Cells(Target.Row, 3)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 6) = Cells(Target.Row, 5)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 8) = Cells(Target.Row, 1)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 12) = Cells(Target.Row, 10)
If Cells(Target.Row, 7) = "" Then
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 7) = Cells(Target.Row, 6)
Else
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 7) = Cells(Target.Row, 6) + "、" + Cells(Target.Row, 7)
End If
Randomize
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 9) = Cells(Target.Row, 1) + Int((14 * Rnd) + 14)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 11) = Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(Int((16 * Rnd) + 75), 11)
Workbooks(sf).Sheets(yf & "月份出院随访登记表").Cells(lastrow + 1, 3).Select
MsgBox "请输入性别及单位地址!"
End If
End Sub
|
|