Come porre una variabile uguale ad un foglio?

Anonimo
2011-02-17T19:14:11+00:00

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.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-02-18T07:53:30+00:00

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)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2011-02-19T11:19:12+00:00

    Grazie tante proverò.

    La risposta è stata utile?

    0 commenti Nessun commento