Esempio 12
Apriamo una nuova cartella di lavoro Excel e per ogni foglio ricreiamo la situazione in figura.
I valori di riga e colonna delimitano un’area di foglio (CurrentRegion). La routine riempie le celle interne all’area con dei numeri casuali da 1 a 90.
CurrentRegion: Restituisce un oggetto Range, che rappresenta l'area corrente, che č costituita da un intervallo delimitato da una qualsiasi combinazione di righe e colonne vuote.
	Sub RiempiArea()
	   For Each f In Worksheets
	      Set Zc = f.Range("B2").CurrentRegion
	      Nr = Zc.Rows.Count
	      Nc = Zc.Columns.Count
	      Set Zc = Zc.Offset(1, 1).Resize(Nr - 1, Nc - 1)
	      For Each C In Zc
	         C.Value = Int(Rnd * 90 + 1)
	      Next
	   Next
	End Sub
	
Esempio 13
L'esempio crea la "Serie di Fibonacci" in base al numero di occorrenze specificato dalla finestra di input (esempio di creazione formule).
FormulaR1C1: Restituisce o imposta la formula per l'oggetto utilizzando un riferimento di tipo R1C1. Proprietą di tipo Variant di lettura-scrittura per gli oggetti Range e di tipo String di lettura-scrittura per gli oggetti Series.
	Sub LanciaFib()
	   With Selection
	      .Offset(-1).Value = 1
	      .Offset(-2).Value = 0
	   End With
	   C = InputBox("Quanto lunga vuoi la serie?")
	   For i = 1 To C - 1
	      Fibonacci Selection
	      Selection.Offset(1).Select
	   Next
	End Sub
	Sub Fibonacci(Zonafib As Object)
	    Zonafib.FormulaR1C1 = "=R[-2]C+R[-1]C"
	End Sub
	
Esempio 14
La routine genera la serie dei mesi, partendo dalla cella attiva.
Gennaio 
Febbraio 
Marzo 
Aprile 
Maggio 
Giugno 
Luglio 
Agosto 
Settembre 
Ottobre 
Novembre 
Dicembre 
	Sub CopiaMese()
	    Worksheets("foglio1").Select
	    Set C = ActiveCell
	    C.Value = InputBox("Dammi un mese")
	    Set Intervdest = Range(C, C.Offset("11"))
	    mess = "In Basso (Si) o verso destra(No)"
	    Dimmitu = MsgBox(mess, vbYesNo, ricopia)
	    If Dimmitu = vbNo Then
	        Set Intervdest = Range(C, C.Offset(0, 11))
	    End If
	    C.AutoFill Destination:=Intervdest, Type:=xlRicopiaMesi
	End Sub
	
Esempio 15
Partendo dalla Cella "B4" generiamo un’area di valori e formule. Non č importante quali formule l'importante č che l'area sia continua. La routine copia la regione appena creata da foglio1 a foglio3.
	Sub SpostaRegione()
	   ActiveWorkbook.Names.Add Name:="Inizon",_
	   RefersToR1C1:=Worksheets("foglio3").Range("B4")
	   Set Zonaformule = Worksheets("foglio3").Range("Inizon").CurrentRegion
	   ActiveWorkbook.Names.Add Name:="formulina", _
	   RefersToR1C1:=Range("B4").CurrentRegion
	   Range("formulina").Copy Zonaformule
	End Sub
	
Esempio 16
Riferendosi all’esempio precedente sostituisce le formule coi valori delle celle.
	Sub EliminaFormule()
	   ActiveSheet.Range("Inizon").CurrentRegion.Select
	   For Each MiaC In Selection
	     MiaC.Value = MiaC
	   Next
	End Sub
	
Esempio 17
Variante dell’esempio sopra.
	Sub EliminaFormule()
	   ActiveSheet.Range("Inizon").CurrentRegion.Select
	   Selection.Copy
	   Selection.PasteSpecial Paste:=xlValues
	   Application.CutCopyMode = False
	End Sub
	

Cognolato Studio © 2004