Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Utilizzo Office2003. In una procedura utilizzo molti fogli: foglio1, foglio2, foglio3, ect e così scrivo righe, dove in queste righe cambio solo il Foglio. Così ho pensato di porre una variabile Fg = Foglio1, per quel lavoro e poi per il successivo Fg = Foglio2 ect. Ma non mi funziona. Mentre svolgo il listato infatti con F8: passando col cursore mi dice Fg nothing e Foglio1 nothing. Potete aiutarmi grazie.
Stiamo parlando di codice vb, immagino. Intanto vedi qui: http://www.maurogsc.eu/excel/xlsmisteriosacellaa1.aspx . Ti faccio anche un piccolo esempio di come utilizzare la programmazione ad oggetti(si chiama così) per copia/incollare un dato da un foglio all'altro:
Public Sub m()
'dichiaro le variabili
Dim sh1 As Worksheet
Dim sh2 As Worksheet
With ThisWorkbook
'metto un riferimento ai fogli
Set sh1 = .Worksheets("Foglio1")
Set sh2 = .Worksheets("Foglio2")
End With
With sh1
'copio da Foglio1 e incollo in Foglio2
.Range("A1").Copy Destination:=sh2.Range("F1")
End With
'Set a Nothing delle variabili oggetto
Set sh2 = Nothing
Set sh1 = Nothing
End Sub
Questo invece ti mostra come fare per assegnare alla stessa variabile riferimenti a fogli via via diversi eper ciascun foglio recuperare il valore della cella A1:
Public Sub m()
'dichiaro le variabili
Dim sh As Worksheet
Dim lng As Long
With ThisWorkbook
'metto un riferimento ai fogli
For lng = 1 To 3
Set sh = .Worksheets("Foglio" & lng)
'recupero il valore di A1 del foglio referenziato
MsgBox sh.Range("A1").Value
Next
End With
'Set a Nothing delle variabili oggetto
Set sh = Nothing
End Sub
Siamo(quasi) sempre qui per ulteriori spiegazioni.
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)