Eseguire macro automatica
Hai un problema con Excel? 
Eseguire macro automatica
di Alessio (utente non iscritto) data: 29/09/2010
Salve,
avrei bisogno di poter far eseguire una macro appena seleziono e di conseguenza visualizzo uno sheet (foglio).
se poi riuscissi a far eseguire la macro all'apertura del workbook (cartella di lavoro)su ogni foglio sarebbe il massimo.
grazie
di Ricky53 (utente non iscritto) data: 29/09/2010
Ciao alessio,
lancia excel,
vai nell’editor del vba con “alt+f11”
in thisworkbook copia la seguente macro
private sub workbook_open()
msgbox = “aperto il file”
end sub
in microsoft excel oggetti
nel foglio1 copia questa macro
private sub worksheet_activate()
msgbox = “attivato il foglio”
end sub
salva il file e riaprilo, vai sul foglio2 e ritorna sul foglio1 e
...
vai avanti da solo
ciao da ricky53
Eseguire macro automatica
di Alessio (utente non iscritto) data: 30/09/2010
Se volessi che quando vado su un qualunque foglio della cartella mi partisse in automatico la funzione sotto???
al momento la faccio eseguire richiamandola con un tasto, ma se volessi che qualsiasi foglio selezioni partisse???????
Sub PROVA_A1()
i = 1
With Worksheets("prova2").Range("C:C")
.Value = ""
End With
If Worksheets("prova2").Range("a1").Value <> "" Then
For Each casella In Worksheets("Foglio3").Range(Worksheets("Foglio3").Cells(2, 2), Worksheets("Foglio3").Cells(Worksheets("Foglio3").[a1].Value + 1, 2))
If CStr(casella.Value) = Worksheets("prova2").Range("a1").Value Then
i = i + 1
Worksheets("prova2").Cells(i, 3) = casella.Offset(0, 1)
End If
Next
End If
End Sub |
di Albatros54 (utente non iscritto) data: 01/10/2010
Vai in vba selezioni thisworkbook e incolli il codice.
ciao
albatros54
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
i = 1
With Worksheets("prova2").Range("C:C")
.Value = ""
End With
If Worksheets("prova2").Range("a1").Value <> "" Then
For Each casella In Worksheets("Foglio3").Range(Worksheets("Foglio3").Cells(2, 2), Worksheets("Foglio3").Cells(Worksheets("Foglio3").[a1].Value + 1, 2))
If CStr(casella.Value) = Worksheets("prova2").Range("a1").Value Then
i = i + 1
Worksheets("prova2").Cells(i, 3) = casella.Offset(0, 1)
End If
Next
End If
End Sub |
di Ricky53 (utente non iscritto) data: 01/10/2010
Ciao alessio,
però potevi provarci ti avevo dato il "la" ...
avere la soluzione "chiavi in mano" non aiuta assolutamente ad imparare e ad essere pronti a fare da soli.
forza devi provarci.
ciao da ricky53
Vuoi Approfondire?