evento clik



  • evento clik
    di Francesco 69 (utente non iscritto) data: 05/01/2013 10:57:47

    un piccolo aiuto!
    ho una Sub VaiAllaPrimaRigaVuota() e si trova sul foglio ThisWorkbook
    ho creato uin pulsante e il codice si trova sul Foglio 2

    Private Sub CommandButton4_Click()

    End Sub
    come posso collegare il pulsante alla sub che si trova sul ThisWorkbook!



  • di HarryBosch data: 05/01/2013 11:18:42

    Ciao Francesco
    il ThisWorkbook non è un foglio, ma l'intera cartella di lavoro.
    E gestisce alcuni eventi particolari, ad esempio cosa devi fare all'apertura del file o alla chiusura dello stesso.

    Una routine normale come la tua, che si deve ripercuotere comunque su ogni foglio, la puoi scrivere tranquillamente in un modulo standard.
    E per richiamarla, puoi utilizzare:
    Application.Run "VaiAllaPrimaRigaVuota"

    oppure
    Call VaiAllaPrimaRigaVuota

    o ancora più semplicemente indicare soltanto il nome della Sub:
    VaiAllaPrimaRigaVuota

     
    Private Sub CommandButton4_Click() 
       VaiAllaPrimaRigaVuota
    End Sub


  • evento Clik
    di Francesco (utente non iscritto) data: 05/01/2013 12:39:40

    Mi da errore con il codice evidenziato quando clikko il pulsanre esce il messagio Errore di compilazione
    sub o Function non definita
    con il Application.Run dice macro non definita.

    inserisco il codice con la posizione dove si trova:

    Sul ThisWorkbook:

    Sub VaiAllaPrimaRigaVuota()
    Dim i As Integer

    For i = 4 To 6001
    If ActiveSheet.Cells(i, 1).Value <> "" Then
    ActiveCell = ActiveSheet.Cells(i, 1)
    break
    End If
    Next
    End Sub

    Sul Foglio (Dati):
    Private Sub CommandButton4_Click()
    VaiAllaPrimaRigaVuota
    End Sub

    spero che mi potete indicare dove sbaglio!



  • di Vecchio Frac data: 05/01/2013 12:58:33

    La Sub non deve essere dichiarata Private bensì Public.
    E' poi meglio inserirla in un modulo normale oppure nello stesso foglio Dati (e allora può anche restare dichiarata Private).

     
    'Questa Sub imposta come cella attiva la prima successiva all'ultima che contiene un dato della colonna A
    Public Sub VaiAllaPrimaRigaVuota()
        ActiveSheet.Cells(ActiveSheet.Cells.Rows.Count, 1).End(xlUp).Offset(1).Activate
    End Sub
    
    
    'Questa Sub invece imposta la cella attiva alla prima cella vuota che incontra, a partire da A1
    Public Sub VaiAllaPrimaRigaVuota()
        ActiveSheet.([A1]).End(xlDown).Offset(1).Activate
    End Sub






  • di Vecchio Frac data: 05/01/2013 12:59:29

    Scusate per errore ho postato del codice sbagliato.
    Non considerate il codice scritto, vale invece la considerazione sulla dichiarazione Public invece che Private.