PC Review


Reply
Thread Tools Rate Thread

Code Error Problem

 
 
Carlee
Guest
Posts: n/a
 
      15th Jul 2008
Hi there,
I am tryng to use this code to import values from a Book, sheet 1, to the
Bodycote Lab Results log. I keep geting the 'Method 'Range of Object'_Global
failed error message at the line i have marked below. Any help would be
really apprecieated.



**************CODE*****************
Sub CopyFromBodycoteLabResultSubmission()
Worksheets("Bodycote Lab Results").Unprotect
'code used to import Raglan ICP Scan Results in to Raglan Master Log
'these have to do with THIS workbook
'name of the sheet to get data from
Const destSheet = "Bodycote Lab Results" ' in HQ master workbook
'****
'This is the name you want to give to the
'NEW workbook created each time to put new data
'into as set up this code will overwrite any
'existing file of this name without any warning.
Const newWorkbookName = "Bodycote.xls"
Const sourceSheet = "Sheet1"
'****
Dim sourceBook As String
Dim destBook As String
Dim maxLastRow As Long
Dim destLastRow As Long
Dim pathToUserDesktop As String
Dim filePath As Variant
Dim MLC As Integer ' loop counter
Dim myErrMsg As String
Dim myDte As String
Dim c As Variant
'this is the setup to 'map' cells from the
'Copreco Reading.xls file sheet to different
'columns in the HQ master workbook worksheet
'
'Declare an array to hold the pairs
'change the 10 to the actual number
'of cells that are to be copied
Dim Map() As String
'array elements Map(1,n) will hold
'the source column ID from Copreco Reading
'array elements Map(2,n) will hold
'the column they are to be copied to in
'the master workbook

'determine last possible row number
'based on version of Excel in use
maxLastRow = GetMaxLastRow()
'
'determine how many elements we need in the array
'
'borrow destLastRow for a moment
destLastRow = Worksheets("ColumnsMap").Range("Q" &
maxLastRow).End(xlUp).Row
ReDim Map(1 To 2, 1 To (destLastRow - 3)) ' presumes row 4 has 1st entry
For MLC = LBound(Map, 2) To UBound(Map, 2)
If IsError(Worksheets("ColumnsMap").Range("Q" & (MLC + 3))) Then
Map(1, MLC) = "#NA" ' to flag as problem later
Else
'seems good to go
Map(1, MLC) = Trim(Worksheets("ColumnsMap").Range("Q" & (MLC +
3)))
End If
If IsError(Worksheets("ColumnsMap").Range("T" & (MLC + 3))) Then
Map(2, MLC) = "#NA" ' to flag as problem later
Else
Map(2, MLC) = Trim(Worksheets("ColumnsMap").Range("T" & (MLC +
3)))
End If
Next
'keeps screen from flickering
'speeds things up also
Application.ScreenUpdating = False
destBook = ThisWorkbook.Name
'build up the path to the user's desktop
'based on standard paths and Windows standards
'path is normally
' C:\Documents and Settings\username\Desktop
'our task is to determine the 'username' portion
'which is the Windows username (login name) which
'may be different than the Excel UserName
pathToUserDesktop = "C:\Documents and Settings\" & _
Get_Win_User_Name() & "\Desktop\" & newWorkbookName
'
'see if that workbook is where it is supposed to be
'
sourceBook = Dir$(pathToUserDesktop)
If sourceBook = "" Then
'it's not on the desktop
'have the user browse for it
filePath = Application.GetSaveAsFilename
If filePath = False Then
Exit Sub ' user cancelled
End If
pathToUserDesktop = filePath
End If
' open the 'Copreco Reading.xls' file
Workbooks.Open pathToUserDesktop
sourceBook = ActiveWorkbook.Name
Windows(sourceBook).Activate
Worksheets(sourceSheet).Activate
'get back over to this workbook
Windows(destBook).Activate
'to sheet to add data to
Worksheets(destSheet).Activate
'find out what row is available
destLastRow = 0
For MLC = LBound(Map, 2) To UBound(Map, 2)
If Map(2, MLC) <> "#NA" Then
If Range(Map(2, MLC) & maxLastRow).End(xlUp).Row + 1 >
destLastRow Then
========> ERROR OCCURS HERE >==================
destLastRow = Range(Map(2, MLC) & maxLastRow).End(xlUp).Row
+ 1
End If
End If
Next
If destLastRow > maxLastRow Then
MsgBox "No room in HQ Master Sheet to add entry. Aborting
operation.", _
vbOKOnly + vbCritical, "No Room on Sheet"
Exit Sub
ElseIf destLastRow = 0 Then
'could not come up with a valid column id for this workbook!
myErrMsg = "A rather serious problem has occured - cannot find
column references for "
myErrMsg = myErrMsg & "the Daily Reading Master Log sheet." & vbCrLf
myErrMsg = myErrMsg & "Data cannot be transferred. Please send a
copy of BOTH "
myErrMsg = myErrMsg & "workbooks (this one and the 'Copreco
Reading.xls' file to:" & vbCrLf
myErrMsg = myErrMsg & "(E-Mail Removed)"
MsgBox myErrMsg, vbOKOnly + vbCritical, "Column ID Error - Aborting!"
Exit Sub
End If


'copy the data from Copreco Reading.xls to the HQ master book
For MLC = LBound(Map, 2) To UBound(Map, 2)
'this watches out for #NA entries in the array of column letters
If Map(1, MLC) <> "#NA" And Map(2, MLC) <> "#NA" Then
Workbooks(destBook).Worksheets(destSheet).Range(Map(2, MLC) &
destLastRow).Value = _
Workbooks(sourceBook).Worksheets(sourceSheet).Range(Map(1, MLC)
& 2).Value
End If
Next
Application.DisplayAlerts = False
'close the 'Copreco Reading.xls' file
'w/o saving any changes
Workbooks(sourceBook).Close False
Application.DisplayAlerts = True
'done
Application.ScreenUpdating = True

MsgBox "Bodycote Lab Result submission has been successfully added to
the Master Log!"

'Call SearchDuplicates1
Worksheets("Bodycote Lab Results").Protect

End Sub


--
Carlee
 
Reply With Quote
 
 
 
 
Per Jessen
Guest
Posts: n/a
 
      15th Jul 2008
On 15 Jul., 20:31, Carlee <Car...@discussions.microsoft.com> wrote:
> Hi there,
> I am tryng to use this code to import values from a Book, sheet 1, to the
> Bodycote Lab Results log. *I keep geting the 'Method 'Range of Object'_Global
> failed error message at the line i have marked below. *Any help would be
> really apprecieated.
>
>SNIP ...
>
> --
> Carlee


Hi

What is the value of the MAP variable.
If I read your code right, MAP(x,2) holds cell references, so you get
an invalid row number when you add maxLastRow.


Best regards,
Per

 
Reply With Quote
 
Carlee
Guest
Posts: n/a
 
      15th Jul 2008
I am sorry, but I don't know what that means? I didn't write this code.
--
Carlee


"Per Jessen" wrote:

> On 15 Jul., 20:31, Carlee <Car...@discussions.microsoft.com> wrote:
> > Hi there,
> > I am tryng to use this code to import values from a Book, sheet 1, to the
> > Bodycote Lab Results log. I keep geting the 'Method 'Range of Object'_Global
> > failed error message at the line i have marked below. Any help would be
> > really apprecieated.
> >
> >SNIP ...
> >
> > --
> > Carlee

>
> Hi
>
> What is the value of the MAP variable.
> If I read your code right, MAP(x,2) holds cell references, so you get
> an invalid row number when you add maxLastRow.
>
>
> Best regards,
> Per
>
>

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with code (error code 9) Vince Microsoft Excel Programming 3 12th Oct 2009 04:16 PM
code problem error slinky Microsoft ASP .NET 0 19th Jun 2007 03:24 PM
VBA Code problem error 9 =?Utf-8?B?U3BlZWR5?= Microsoft Excel Misc 18 15th Oct 2004 09:05 PM
AIM connection problem - error message unknown error code 4 category 1 superkid Windows XP General 0 8th Jul 2004 06:24 PM
problem error code : ctcatend: MO L65 FO P247x ERROR CODE=0 thom Windows XP Music 0 2nd Dec 2003 02:28 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 01:59 PM.