ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel+Not Enough Memory.. (https://www.excelbanter.com/excel-programming/271172-excel-not-enough-memory.html)

Olly[_2_]

Excel+Not Enough Memory..
 
I've got a 2 sheet, 4mb workbook-sheet 2 containing the
raw product data, and sheet 1 acting as a template as
such, whereby a user enters a product code, and it looksup
the relevant info from sheet 2.

Problem..I have some VBA code incorporated into a control
box button which, i had hoped, would, on clicking, would
simply do effectively a paste special of sheet 1 into a
new workbook, temporarily save the workbook, email it off
to a pre-specified email address, and then delete the temp
workbook. Here is the code i used:-

Sub Mail_ActiveSheet()
Dim strDate As String

Application.ScreenUpdating = False
strDate = Format(Date, "dd-mm-yy") & " " & Format
(Time, "h-mm-ss")
FName$ = "Confirmation - " & strDate
ThisWorkbook.ActiveSheet.Copy
With ActiveWorkbook
With .ActiveSheet.UsedRange
.Copy
.PasteSpecial xlPasteValues
End With
.SaveAs Filename:="c:\" & FName$ & ".xls"
.SendMail ", "Confirmation
" & strDate
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
Application.ScreenUpdating = True
End Sub

The problem is this-i have 48,000 rows of 4 colums of raw
data in sheet 2. But when i press my button, i get the
error message "Microsoft Excel Error-Not enough memory".

Now the lookups work fine and everything, and if i email
the whole workbook, it works fine, its just when i try to
email the first sheet i get this message, what am i doing
wrong??

Any help greatly appreciated
cheers
olly

Ron de Bruin

Excel+Not Enough Memory..
 
Hi Olly

Try this on the sheet

Sub Mail_ActiveSheet1()
Dim strDate As String
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
Cells(1).Select
Application.CutCopyMode = False

strDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss")
ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
& " " & strDate & ".xls"
ActiveWorkbook.SendMail ", _
"This is the Subject line"
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End Sub


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



"Olly" wrote in message ...
I've got a 2 sheet, 4mb workbook-sheet 2 containing the
raw product data, and sheet 1 acting as a template as
such, whereby a user enters a product code, and it looksup
the relevant info from sheet 2.

Problem..I have some VBA code incorporated into a control
box button which, i had hoped, would, on clicking, would
simply do effectively a paste special of sheet 1 into a
new workbook, temporarily save the workbook, email it off
to a pre-specified email address, and then delete the temp
workbook. Here is the code i used:-

Sub Mail_ActiveSheet()
Dim strDate As String

Application.ScreenUpdating = False
strDate = Format(Date, "dd-mm-yy") & " " & Format
(Time, "h-mm-ss")
FName$ = "Confirmation - " & strDate
ThisWorkbook.ActiveSheet.Copy
With ActiveWorkbook
With .ActiveSheet.UsedRange
.Copy
.PasteSpecial xlPasteValues
End With
.SaveAs Filename:="c:\" & FName$ & ".xls"
.SendMail ", "Confirmation
" & strDate
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
Application.ScreenUpdating = True
End Sub

The problem is this-i have 48,000 rows of 4 colums of raw
data in sheet 2. But when i press my button, i get the
error message "Microsoft Excel Error-Not enough memory".

Now the lookups work fine and everything, and if i email
the whole workbook, it works fine, its just when i try to
email the first sheet i get this message, what am i doing
wrong??

Any help greatly appreciated
cheers
olly




olly

Excel+Not Enough Memory..
 

-----Original Message-----
Hi Olly

Try this on the sheet

Sub Mail_ActiveSheet1()
Dim strDate As String
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
Cells(1).Select
Application.CutCopyMode = False

strDate = Format(Date, "dd-mm-yy") & " " & Format

(Time, "h-mm-ss")
ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
& " " & strDate & ".xls"
ActiveWorkbook.SendMail ", _
"This is the Subject line"
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End Sub


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl



Hi Ron
Cheers for that, but now getting this message
Run Time Error 1004
Select method of range class failed

any ideas ?
cheers
olly

olly

Excel+Not Enough Memory..
 

-----Original Message-----
Hi Olly

Try this on the sheet

Sub Mail_ActiveSheet1()
Dim strDate As String
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial xlPasteValues
Cells(1).Select
Application.CutCopyMode = False

strDate = Format(Date, "dd-mm-yy") & " " & Format

(Time, "h-mm-ss")
ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
& " " & strDate & ".xls"
ActiveWorkbook.SendMail ", _
"This is the Subject line"
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ActiveWorkbook.Close False
End Sub


--
Regards Ron de Bruin
(Win XP Pro SP-1 XL2002 SP-2)
www.rondebruin.nl




and now its back to out of memory error ..
hmmm
olly


All times are GMT +1. The time now is 07:13 PM.

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