|
楼主 |
发表于 2017-1-24 22:00
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub c表()
- Dim MyPath As String, sname As String
- Dim Myr%, Myr1%, Myr2%
- Dim mcl
- Application.ScreenUpdating = False
- MyPath = ThisWorkbook.Path & "\即时数据.xls"
- Set wb = Workbooks.Open(MyPath)
- 'totalNum = Worksheets.Count
- With Sheet4
- 'With Sheets(5)
- 'With Worksheets(5)
- sname = .Name
- MsgBox sname
- Myr = .Range("a65536").End(xlUp).Row
- mcl = .Range("A" & Myr).Value
- arr = wb.Sheets(sname).Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- If arr(i, 1) = mcl Then k = i
- Next
- If k = 0 Then
- Myr1 = wb.Sheets(sname).Range("a65536").End(xlUp).Row
- wb.Sheets(sname).Range("a2:p" & Myr1).Copy .Range("A" & Myr + 1)
- Else
- Myr2 = wb.Sheets(sname).Range("a65536").End(xlUp).Row
- wb.Sheets(sname).Range("a" & k + 1 & ":p" & Myr2).Copy .Range("A" & Myr + 1)
- End If
- wb.Close
- Set wb = Nothing
- .Select
- End With
- Application.ScreenUpdating = True
- End Sub
复制代码
老师
上面的语句能提取成功,为什么我改成如下方式,就要报错?
把
With Sheet4
改为
With Sheets(5)
或改为
With Worksheets(5) |
|