STUPID range object error

S

Susan

Public Sub Copy_2_Cohort()

Set wsCohort = wb.Worksheets("CohortList")
iCohortRow = wsCohort.Cells(5000, 2).End(xlUp).Offset(1, 0).Row
Set rCohortStudent = wsCohort.Range("b" & iCohortRow)
Set rClass = wsCohort.Range("a" & iCohortRow)

rCohortStudent = sStudent
rClass = sClass

End Sub

============================
all variables are dimmed as indicated in a global variables module.

there's no reason (that i can see) why this doesn't work! half of the
time it runs through, but either rCohortStudent or rClass is left
blank (when the intellisense & various test messageboxes give the
correct range.address & text). the other half of the time it breaks
on either rCohortStudent OR rClass being unidentified objects. when
it was rClass that was left blank, i tried

Set rClass = rCohortStudent.Offset(0,-1)

that worked once, but then started breaking an error - saying object
wasn't set (when intellisense showed that rCohortStudent WAS set,
properly!).

i tried setting these ranges as variants (vClass), but that didn't
work.

i've compared these statements to working statements in other subs,
and i don't see what the problem is!

this is part of a huge, ungainly macro, so i thought perhaps since it
broke out of code an application.enableevents (or something) hadn't
been reset to true, so i ran another sub:

Sub reset_everything()
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.DataEntryMode = True
End Sub

didn't help.

at this point i am considering reworking the structure of the macros &
modules so they flow better (more in order rather than go-over-here,
go-over-there).

any ideas?
thanks a lot!
susan
 
S

Susan

waaaaaay back in a beginning userform sub....


Public Sub cmdStart_click()

Set ws = ActiveSheet
Set wb = ActiveWorkbook


it's not released anywhere (i just double-checked).
wb always refers to this main workbook that holds the userforms & all
the code. anything else that's opened is set as newWB. i could try
setting it again, tho.... it wouldn't hurt. or i could throw in a
testing

msgbox wb.name

to check it out. although if that was wrong,

Set wsCohort = wb.Worksheets("CohortList")

wouldn't work, either.


sStudent & sClass are set somewhere else, too, but the intellisense
shows the correct text for each of the strings.

thanks for any ideas/suggestions/hari-kari methods!!!
:)
susan
 
S

Susan

i haven't had a chance to test it, but working on another sub it hit
me.

rCohortStudent = sStudent
rClass = sClass

should be

rCohortStudent.Value = sStudent
rClass.Value = sClass

duh.
susan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top