Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
#1 question - does VBA automatically know that the 1st workbook (that
contains the sub) is the parent, & subsequent workbook(s) opened are the child?? or do i have to tell it that? i have a large list of non-contiguous range data that needs to be transferred between 2 workbooks (from parent to child). parent & child's set-ups are NOT similar. i tried this approach, first... Sub testing() 'wb = ezmarkbook 'ws = ezmarkbook.dataentry.page 'newwb = student profile 'newws = student profile.unit page Set wb = ActiveWorkbook Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy End Sub Public Sub copy() Set rHere = wb.ws Set rThere = newWB.newWS rThere.Range("h8") = rHere.Range("f3") rThere.Range("c7") = rHere.Range("e3") col.copy Destination:=myNewRange End Sub obviously, this doesn't work. you can see that i was trying to shorten the amount of typing i would have to do. maybe they should be sThere & sHere??? rThere.range instead of newwb.newws.range but like i said, it isn't working. in researching it i stumbled across the parent-child concept. there is no rhyme or reason for making a for-each-next loop, so i'll have to tell each range specifically where it goes. could somebody please give me some direction on if this is possible to shorten up or not? thanks a lot! susan |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I am not sure where you stumbled across the parent child concept, but to the
best of my knowledge there is no such relationship between workbooks opened in the same instance of excel. from and object perspective, all workbooks are children of the application object and sheets are children of the workbook object of their respective workbooks. Thisworkbook refers to the workbook that contains the code. Activeworkbook to the workbook that currently has the focus in Excel. Sub testing() Dim wb as Workbook, ws as Worksheet Dim newWb as Workbook, ws as NewWs Set wb = ThisWorkbook wb.activate Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy ws, newws End Sub Public Sub copy(Here as Worksheet, There as Worksheet) There.Range("h8") = Here.Range("f3") There.Range("c7") = Here. Range("e3") 'col.copy Destination:=myNewRange End Sub -- Regards, Tom Ogilvy If your code opens workbooks, then you could maintain a reference to them in your code. -- Regards, Tom Ogilvy "Susan" wrote: #1 question - does VBA automatically know that the 1st workbook (that contains the sub) is the parent, & subsequent workbook(s) opened are the child?? or do i have to tell it that? i have a large list of non-contiguous range data that needs to be transferred between 2 workbooks (from parent to child). parent & child's set-ups are NOT similar. i tried this approach, first... Sub testing() 'wb = ezmarkbook 'ws = ezmarkbook.dataentry.page 'newwb = student profile 'newws = student profile.unit page Set wb = ActiveWorkbook Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy End Sub Public Sub copy() Set rHere = wb.ws Set rThere = newWB.newWS rThere.Range("h8") = rHere.Range("f3") rThere.Range("c7") = rHere.Range("e3") col.copy Destination:=myNewRange End Sub obviously, this doesn't work. you can see that i was trying to shorten the amount of typing i would have to do. maybe they should be sThere & sHere??? rThere.range instead of newwb.newws.range but like i said, it isn't working. in researching it i stumbled across the parent-child concept. there is no rhyme or reason for making a for-each-next loop, so i'll have to tell each range specifically where it goes. could somebody please give me some direction on if this is possible to shorten up or not? thanks a lot! susan |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
thank you very much for explaining it, and showing me how i could use
the () in the copy sub to indicate which WS is which! i figured there had to be a way, i just wasn't finding it. actually, it was one of YOUR answers i had looked at! :) http://groups.google.com/group/micro...16daca63042347 but i may have misunderstood what i was reading. thanks again! susan On May 4, 11:11 am, Tom Ogilvy wrote: I am not sure where you stumbled across the parent child concept, but to the best of my knowledge there is no such relationship between workbooks opened in the same instance of excel. from and object perspective, all workbooks are children of the application object and sheets are children of the workbook object of their respective workbooks. Thisworkbook refers to the workbook that contains the code. Activeworkbook to the workbook that currently has the focus in Excel. Sub testing() Dim wb as Workbook, ws as Worksheet Dim newWb as Workbook, ws as NewWs Set wb = ThisWorkbook wb.activate Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy ws, newws End Sub Public Sub copy(Here as Worksheet, There as Worksheet) There.Range("h8") = Here.Range("f3") There.Range("c7") = Here. Range("e3") 'col.copy Destination:=myNewRange End Sub -- Regards, Tom Ogilvy If your code opens workbooks, then you could maintain a reference to them in your code. -- Regards, Tom Ogilvy "Susan" wrote: #1 question - does VBA automatically know that the 1st workbook (that contains the sub) is the parent, & subsequent workbook(s) opened are the child?? or do i have to tell it that? i have a large list of non-contiguous range data that needs to be transferred between 2 workbooks (from parent to child). parent & child's set-ups are NOT similar. i tried this approach, first... Sub testing() 'wb = ezmarkbook 'ws = ezmarkbook.dataentry.page 'newwb = student profile 'newws = student profile.unit page Set wb = ActiveWorkbook Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy End Sub Public Sub copy() Set rHere = wb.ws Set rThere = newWB.newWS rThere.Range("h8") = rHere.Range("f3") rThere.Range("c7") = rHere.Range("e3") col.copy Destination:=myNewRange End Sub obviously, this doesn't work. you can see that i was trying to shorten the amount of typing i would have to do. maybe they should be sThere & sHere??? rThere.range instead of newwb.newws.range but like i said, it isn't working. in researching it i stumbled across the parent-child concept. there is no rhyme or reason for making a for-each-next loop, so i'll have to tell each range specifically where it goes. could somebody please give me some direction on if this is possible to shorten up or not? thanks a lot! susan- Hide quoted text - - Show quoted text - |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The parent and child references in that post were whimsical in nature, used
to suggest one being a subset of the other. -- Regards, Tom Ogilvy "Susan" wrote: thank you very much for explaining it, and showing me how i could use the () in the copy sub to indicate which WS is which! i figured there had to be a way, i just wasn't finding it. actually, it was one of YOUR answers i had looked at! :) http://groups.google.com/group/micro...16daca63042347 but i may have misunderstood what i was reading. thanks again! susan On May 4, 11:11 am, Tom Ogilvy wrote: I am not sure where you stumbled across the parent child concept, but to the best of my knowledge there is no such relationship between workbooks opened in the same instance of excel. from and object perspective, all workbooks are children of the application object and sheets are children of the workbook object of their respective workbooks. Thisworkbook refers to the workbook that contains the code. Activeworkbook to the workbook that currently has the focus in Excel. Sub testing() Dim wb as Workbook, ws as Worksheet Dim newWb as Workbook, ws as NewWs Set wb = ThisWorkbook wb.activate Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy ws, newws End Sub Public Sub copy(Here as Worksheet, There as Worksheet) There.Range("h8") = Here.Range("f3") There.Range("c7") = Here. Range("e3") 'col.copy Destination:=myNewRange End Sub -- Regards, Tom Ogilvy If your code opens workbooks, then you could maintain a reference to them in your code. -- Regards, Tom Ogilvy "Susan" wrote: #1 question - does VBA automatically know that the 1st workbook (that contains the sub) is the parent, & subsequent workbook(s) opened are the child?? or do i have to tell it that? i have a large list of non-contiguous range data that needs to be transferred between 2 workbooks (from parent to child). parent & child's set-ups are NOT similar. i tried this approach, first... Sub testing() 'wb = ezmarkbook 'ws = ezmarkbook.dataentry.page 'newwb = student profile 'newws = student profile.unit page Set wb = ActiveWorkbook Set ws = ActiveSheet Workbooks.Open Filename:="F:\Susan\SchoolProject.xls" Set newWB = ActiveWorkbook Set newWS = ActiveSheet Call copy End Sub Public Sub copy() Set rHere = wb.ws Set rThere = newWB.newWS rThere.Range("h8") = rHere.Range("f3") rThere.Range("c7") = rHere.Range("e3") col.copy Destination:=myNewRange End Sub obviously, this doesn't work. you can see that i was trying to shorten the amount of typing i would have to do. maybe they should be sThere & sHere??? rThere.range instead of newwb.newws.range but like i said, it isn't working. in researching it i stumbled across the parent-child concept. there is no rhyme or reason for making a for-each-next loop, so i'll have to tell each range specifically where it goes. could somebody please give me some direction on if this is possible to shorten up or not? thanks a lot! susan- Hide quoted text - - Show quoted text - |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
parent/child relationship between rows? | Excel Worksheet Functions | |||
Creating child worksheet from parent | Excel Worksheet Functions | |||
finding multiple parent-child relationships? | Excel Worksheet Functions | |||
Windows browser Parent/Child structure | New Users to Excel | |||
Sorting Parent Child | Excel Worksheet Functions |