I think the request is to create a journal with a button to copy the graph if so desired. My assumption is that clicking the button would allow the user to then use paste to paste the copied picture to a powerpoint doc or some doc.
When you create the journal and save it, there no longer is a link to vc nor nw. You need to use a relative reference command. If this is what you want, your script needs to change to <<Set Function(); see below. "this" refers to the button box, Parent is the HListBox and Child is the variability plot. As Jim mentioned, if this isn't what you want, please add more details.
The script below shows one method to manage By variables.
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
nw = New Window( "Plots", <<journal);
vc = dt << Variability Chart(
Y( :Name( "weight" ) ),
X( :age ),
By(:sex),
Std Dev Chart( 0 ),
Show Box Plots( 1 )
);
for(i=1,i<=nitems(vc), i++,
nw << append (HListBox(
vc[i]<<clone box,
ButtonBox("Copy Picture",
<<Set Function(Function( {this},
((this << Parent) << child) << Copy Picture
)) /* SetFunction: 'this display box' is first arg */
) //Button Box
) // HlistBox
) //append
); //for i
vc << close window();