vba 对象“_Global”的方法“范围”失败错误
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18909094/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Method 'Range' of object '_Global' failed Error
提问by srt
1.Dim destbook As Workbook
2.Dim destsheet As Worksheet
3.Set destbook = ActiveWorkbook
4.Set destsheet = destbook.Sheets(1)
5.Dim ct As Integer
6.destsheet.Range("C1048576").Select
7.ct = Selection.End(xlUp).Row
8.Windows("Book1.xlsm").Activate
9.Sheets("Sheet1").Activate
10.Range(Cells(ct, 1)).Offset(1, 0).Select
Here on 10th line i am getting a error saying "Method 'Range' of object '_Global' failed". Can u help??...
在第 10 行,我收到一条错误消息,提示“对象 '_Global' 的方法 'Range' 失败”。你能帮忙吗??...
回答by Santosh
Try below code. Avoid using Activate , Select, Activeworkbook in your code for better results.
试试下面的代码。避免在代码中使用 Activate 、 Select 、 Activeworkbook 以获得更好的结果。
Sub test()
Dim destbook As Workbook
Dim destsheet As Worksheet
Set destbook = ThisWorkbook
Set destsheet = destbook.Sheets(1)
Dim ct As Integer
With destsheet
ct = .Range("C" & .Rows.Count).End(xlUp).Row
End With
Windows("Book1.xlsm").Activate
With Sheets("Sheet1")
.Select
.Range(.Cells(ct, 1)).Offset(1, 0).Select
End With
End Sub
回答by PatricK
It you just want to select the cell below the last cell of column C in first worksheet:
如果您只想选择第一个工作表中 C 列最后一个单元格下方的单元格:
Sub SO_18909094()
Dim destbook As Workbook
Dim destsheet As Worksheet
Set destbook = ActiveWorkbook
Set destsheet = destbook.Sheets(1)
destsheet.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Select
Set destbook = Nothing
Set destsheet = Nothing
End Sub