Collegare una macro a diversi fogli excel in VBA

Anonimo
2017-10-23T14:24:50+00:00

Ciao,

Io ho inserito nel foglio 1 più Command button che devono rimandare alla stessa macro (con userform ecc..) e voglio che in base alla command button selezionata mi registri i dati inseriti nella userform in fogli diversi.

Esempio:

Se schiaccio sopra il Command Button "Prova1" voglio che i dati siano registrati nel foglio con nome Prova1

Se schiaccio sopra il Command Button "Prova2" voglio che i dati siano registrati nel foglio con nome Prova2

Come posso fare?

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
2017-10-24T11:40:09+00:00

File scaricato e rilevato i seguenti errori :-)

Non avevi creato un modulo standard dove inserire la dichiarazione pubblica

Public WsDestinazione As Worksheet

Nelle due macro "click" delle CommandButton non avevi anteposto l'istruzione Set

Quando si assegna ad una variabile che rappresenta un oggetto (ad es. cartella di lavoro, foglio di lavoro, cella o intervallo di celle) occorre anteporre sempre l'istruzione Set.

Quindi:

Private Sub PinotBianco_Click()

  Set WsDestinazione = ThisWorkbook.Worksheets("PinotBianco")

  UserForm1.Show

End Sub

Private Sub PinotGrigio_Click()

  Set WsDestinazione = ThisWorkbook.Worksheets("PinotGrigio")

  UserForm1.Show

End Sub

Nella tua funzione "riga" avevi messo il punto prima di Range ma non avevi inserito il riferimento al foglio di lavoro impostato tramite WsDestinazione.

Quindi andava scritta così:

Function riga()

Dim i, n As Integer

  With WsDestinazione

    For i = 4 To 100000

      If .Range("A" & i) = "" Then

        n = i

        Exit For

      Else

      End If

    Next i

    riga = n

  End With

End Function

Qui trovi il tuo file modificato con le correzioni: File

Un consiglio è quello di scrivere il codice "a scalare". Personalmente lo trovo più leggibile rispetto ad un codice scritto "piatto". Ma sono scelte personali :)

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

19 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2017-10-24T10:01:28+00:00

    Mi viene chista un'autorizzazione.

    Io ho inviato la richiesta. Vedi se ti arriva qualcosa per confermarla. :)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-10-24T09:54:02+00:00

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-10-24T09:43:40+00:00

    Adesso mi dà pagina non trovata :)

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-10-24T09:42:30+00:00

    https://drive.google.com/drive/my-drive

    Spero di aver fatto giusto ora

    Grazie del tempo che mi stai dedicando

    La risposta è stata utile?

    0 commenti Nessun commento