[英]Out range Error while trying to copy worksheet
整个宏应该从站点打开一个文件,然后复制特定的工作表并粘贴到另一个工作簿中。 到目前为止,宏已打开,但无法复制和粘贴,并引发“超出范围错误”错误。 我正在寻找解决该错误或打开工作簿,然后删除不想看到的多余工作表的方法。 任何帮助将不胜感激!
Public Sub OpenFileFromWeb()
' Define Workbook and Worksheet Variables
Dim wkbMyWorkbook As Workbook
Dim wkbWebWorkbook As Workbook
Dim wksWebWorkSheet As Worksheet
Set wkbMyWorkbook = ActiveWorkbook
' Open The Web Workbook
Workbooks.Open ("http://path.path.com/path/site/path/test_Data.xls")
Sheets("Sheet3").Select
' Set the Web Workbook and Worksheet Variables
Set wkbWebWorkbook = ActiveWorkbook
Set wksWebWorkSheet = ActiveSheet
' Choose Sheet to pull Data from
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' Copy The Web Worksheet To My Workbook and Rename
wksWebWorkSheet.Copy After:=wkbMyWorkbook.Sheets(Sheets.Count)'-->error occurs here
wkbMyWorkbook.Sheets(ActiveSheet.Name).Name = "MyNewWebSheet"
' Close the Web Workbook
wkbMyWorkbook.Activate
wkbWebWorkbook.Close
End Sub
试一下
Public Sub OpenFileFromWeb()
Dim wkbMyWorkbook As Workbook
Dim wkbWebWorkbook As Workbook
Set wkbMyWorkbook = ThisWorkbook
Set wkbWebWorkbook = Workbooks.Open("http://path.path.com/path/site/path/test_Data.xls")
With wkbMyWorkbook
wkbWebWorkbook.Sheets("Sheet3").Copy _
After:=.Sheets(.Sheets.Count)
.Sheets(.Sheets.Count).Name = "MyNewWebSheet"
End With
' Close the Web Workbook
wkbMyWorkbook.Activate
wkbWebWorkbook.Close
End Sub
您只需要在sheets.count
上sheets.count
要使用的工作簿sheets.count
。
我在这里整理了您的代码:
Public Sub OpenFileFromWeb()
' Define Workbook and Worksheet Variables
Dim wkbMyWorkbook As Workbook
Dim wkbWebWorkbook As Workbook
Dim wksWebWorkSheet As Worksheet
Set wkbMyWorkbook = ActiveWorkbook
' Open The Web Workbook and Set the Web Workbook and Worksheet Variables
Set wkbWebWorkbook = Workbooks.Open("http://path.path.com/path/site/path/test_Data.xls")
Set wksWebWorkSheet = wkbWebWorkbook.Sheets("Sheet3")
' Choose Sheet to pull Data from
wksWebWorkSheet.Range("A1", Range("A1").End(xlToRight).End(xlDown)).Copy '''NOT SURE WHAT THIS IS FOR. DOESN'T SEEM TO BE REQUIRED!
' Copy The Web Worksheet To My Workbook and Rename
wksWebWorkSheet.Copy after:=wkbMyWorkbook.Sheets(wkbMyWorkbook.Sheets.Count)
wkbMyWorkbook.Sheets(ActiveSheet.Name).Name = "MyNewWebSheet"
' Close the Web Workbook
wkbMyWorkbook.Activate
wkbWebWorkbook.Close
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.