ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy File into Worksheet (https://www.excelbanter.com/excel-programming/357443-copy-file-into-worksheet.html)

Session101[_2_]

Copy File into Worksheet
 

Hi. I need to copy a xls file into an existing worksheet. For example,
am trying to copy the cell contents of test.xls from A4 to Z9 into
worksheet that I already have called, "TestSheet". How would I go abou
this?

I am currently opening the file through this code, but it open up a
entire new workbook. I need it to open in one of my exisitin
workbooks.worksheet("TestSheet"). Thanks!

<VBA
Function CopyData(sFileName As String, sSheetNo As String) As Boolean

Dim xlBook As Workbook
Dim xlSheet As Worksheet
Dim sFilePath As String
Dim LastRow As Long
Dim LastCol As Long

Const MyDir As String = "C:\temp\"

'sFilePath = ThisWorkbook.Path & "\" & sFileName
sFilePath = MyDir & sFileName
If Dir(sFilePath) = "" Then
CopyData = False
Exit Function
End If

Set xlBook = Workbooks.Open(sFilePath)
Set xlSheet = xlBook.Worksheets("Sheet1")

LastRow = xlSheet.Range("A9999").End(xlUp).Row
LastCol = xlSheet.Range("P1").End(xlToLeft).Column

xlSheet.Range("A4:" & "Z9" & LastRow).Copy
ThisWorkbook.Sheets("sheet" & sSheetNo).Range("a1") _
.PasteSpecial xlPasteValues

Set xlSheet = Nothing
Set xlBook = Nothing

CopyData = True

End Function
</VBA

--
Session10
-----------------------------------------------------------------------
Session101's Profile: http://www.excelforum.com/member.php...fo&userid=1405
View this thread: http://www.excelforum.com/showthread.php?threadid=52756


Tom Ogilvy

Copy File into Worksheet
 
Function CopyData(sFileName As String, sSheetNo As String) As Boolean

Dim xlBook As Workbook
Dim xlSheet As Worksheet
Dim sFilePath As String
Dim LastRow As Long
Dim LastCol As Long

Const MyDir As String = "C:\temp\"

Application.ScreenUpdating = False

'sFilePath = ThisWorkbook.Path & "\" & sFileName
sFilePath = MyDir & sFileName
If Dir(sFilePath) = "" Then
CopyData = False
Exit Function
End If

Set xlBook = Workbooks.Open(sFilePath)
Set xlSheet = xlBook.Worksheets("Sheet1")

LastRow = xlSheet.Range("A65536").End(xlUp).Row
'LastCol = xlSheet.Range("IV4").End(xlToLeft).Column

xlSheet.Range("A4:" & "Z" & LastRow).Copy
ThisWorkbook.Sheets("sheet" & sSheetNo).Range("a1") _
.PasteSpecial xlPasteValues

Set xlSheet = Nothing
xlBook.Close Savechanges:=False
Set xlBook = Nothing

Application.ScreenUpdating = True
CopyData = True

End Function

Assume you are calling this function from VBA only.

--
Regards,
Tom Ogilvy

"Session101" wrote:


Hi. I need to copy a xls file into an existing worksheet. For example, I
am trying to copy the cell contents of test.xls from A4 to Z9 into a
worksheet that I already have called, "TestSheet". How would I go about
this?

I am currently opening the file through this code, but it open up an
entire new workbook. I need it to open in one of my exisiting
workbooks.worksheet("TestSheet"). Thanks!

<VBA
Function CopyData(sFileName As String, sSheetNo As String) As Boolean

Dim xlBook As Workbook
Dim xlSheet As Worksheet
Dim sFilePath As String
Dim LastRow As Long
Dim LastCol As Long

Const MyDir As String = "C:\temp\"

'sFilePath = ThisWorkbook.Path & "\" & sFileName
sFilePath = MyDir & sFileName
If Dir(sFilePath) = "" Then
CopyData = False
Exit Function
End If

Set xlBook = Workbooks.Open(sFilePath)
Set xlSheet = xlBook.Worksheets("Sheet1")

LastRow = xlSheet.Range("A9999").End(xlUp).Row
LastCol = xlSheet.Range("P1").End(xlToLeft).Column

xlSheet.Range("A4:" & "Z9" & LastRow).Copy
ThisWorkbook.Sheets("sheet" & sSheetNo).Range("a1") _
.PasteSpecial xlPasteValues

Set xlSheet = Nothing
Set xlBook = Nothing

CopyData = True

End Function
</VBA


--
Session101
------------------------------------------------------------------------
Session101's Profile: http://www.excelforum.com/member.php...o&userid=14054
View this thread: http://www.excelforum.com/showthread...hreadid=527567




All times are GMT +1. The time now is 06:27 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com