Domanda.

nome=Markus
cognome=Malfertheiner
versione=2000
conosco2=medio
macro=SI
email=m.malfertheiner@baumann-online.it
chra=46
problema=Problema:
es. la cella A1 (foglio 1) ha un collegamento ipertestuale ad una matrice di celle (A1:J20 del foglio 2); A2 (foglio 1)ha il collegameto ipertestuale (A25:J45 del foglio 2) .La macro creata mi apre in automatico l'anteprima di stampa.La seguente macro apre sempre la stessa anteprima di stampa perchè fa riferimento a dei valori assoluti (A1:J20). quale codice devo inserire per far aprire l'anteprima di stampa in automatico in
conforme alla cella cliccata sul foglio 1 ?
Sub Macro2()
Dim myrange As Range
Set myrange = ActiveCell
Selection.Hyperlinks(1).Follow NewWindow:=False,
AddHistory:=True
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$20"
ActiveWindow.SelectedSheets.PrintPreview
End Sub


Grazie per il vostro aiuto.

P.s. Potreste darmi un consiglio in riguardo a dei libri su VisualBasic per Excel, dove posso trovare degli esempi pratici.

 

Risposta.

salve Markus, temo che la risposta che cerchi, visto che non so se ho capito bene la tua domanda, sia troppo semplice: è sufficiente creare una macro simile alla tua, dove cambi il riferimento alla nuova zona, e quindi per la A2 diventa, cambiando l'indice dell'Hyperlinks in 2 (se è il secondo hyperlinks sullo stesso foglio):
Sub Macro3()
Dim myrange As Range
Set myrange = ActiveCell
Selection.Hyperlinks(2).Follow NewWindow:=False,
AddHistory:=True
ActiveSheet.PageSetup.PrintArea = "$A$25:$J$45"
ActiveWindow.SelectedSheets.PrintPreview
End Sub


Per un libro puoi comprare "Excel 2002 VBA" di Gianni Giaccaglini, edito dalla JacksonLibri.
saluti, ennius