There are a couple of problems in your code... Here is a fixed up version
(Untested but it should be close)
Sub Import
Dim wbkOpened as workbook
Dim rngLast as Range
Workbooks.Open "C:\Macro_Practice\Sep_download.xls"
wbkOpened = Workbooks("Sep_download.xls")
wbkOpened .Worksheets(1).Copy
befo=Thisworkbook.Worksheets(3)
wbkOpened.Close savechanges:=True
Thisworkbook.Sheets("sheet2").Delete
set rngLast = LastCell(Sheets("sep_download"))
Sheets("sep_download").Range("I2", rngLast .Row).FormulaR1C1 = "=Trim(RC[-8])"
End Sub
Public Function LastCell(Optional ByVal wks As Worksheet) As Range
Dim lngLastRow As Long
Dim intLastColumn As Integer
If wks Is Nothing Then Set wks = ActiveSheet
On Error Resume Next
lngLastRow = wks.Cells.Find(What:="*", _
After:=wks.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
intLastColumn = wks.Cells.Find(What:="*", _
After:=wks.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
On Error GoTo 0
If lngLastRow = 0 Then
lngLastRow = 1
intLastColumn = 1
End If
Set LastCell = wks.Cells(lngLastRow, intLastColumn)
End Function
--
HTH...
Jim Thomlinson
"sa02000" wrote:
I keep getting this error
Run-time error '1004':
Select method of Range class failed
from this code at the first Range("I2").select statement. I dont see
what is wrong. Please help!!
Sub Import
Dim strname As String
strname = ActiveWorkbook.Name
Workbooks.Open "C:\Macro_Practice\Sep_download.xls"
' wkbBook = Workbooks("Sep_download.xls")
Workbooks("Sep_download.xls").Worksheets(1).Copy
befo=Workbooks(strname).Worksheets(3)
Workbooks("Sep_download.xls").Close savechanges:=True
Sheets("sheet2").Select
ActiveWindow.SelectedSheets.Delete
Sheets("sep_download").Select
Range("I2").Select
ActiveCell.FormulaR1C1 = "=Trim(RC[-8])"
Range("I2").Select
Call GetRealLastCell
Selection.AutoFill Destination:=Range(I2, RealLastRow)
End Sub
Sub GetRealLastCell()
Dim RealLastRow As Long
Dim RealLastColumn As Long
Range("A1").Select
On Error Resume Next
RealLastRow = _
Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
RealLastColumn = _
Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
Cells(RealLastRow, RealLastColumn).Select
End Sub
--
sa02000
------------------------------------------------------------------------
sa02000's Profile: http://www.excelforum.com/member.php...o&userid=27747
View this thread: http://www.excelforum.com/showthread...hreadid=473119