Visualizzare un valore a video

di il
3 risposte

Visualizzare un valore a video

Buongiorno a tutti,avrei bisogno di questo aiuto:
ho creato una cartella di lavoro di Excel composta da x fogli ( circa 200 ).
Mi funziona tutto bene ma il problema che non riesco a risolvere è quello della
visualizzazione a video.
Mi spiego:ho bisogno di una macro , il cui pulsante di avvio si trova sul foglio”Stampe”.
Questa macro deve contare in quanti fogli ,( nella cella J1 di ciascun foglio ) ,
c’è scritto “volontario” e mi faccia apparire nella cella A4 del foglio “Stampe “
il corrispondente valore.
Ossia , se nei 200 fogli che compongono la cartella, in 20 di essi è scritto “volontario”,
avrei bisogno che il valore 20 appaia nella cella A4 del foglio “Stampe”.
Grazie per l’aiuto

3 Risposte

  • Re: Visualizzare un valore a video

    Se scrivi una Funzione in un Modulo Generico
    
    Function fCountSheets(strIn As String) As Long
        Dim lngRet As Long
        Dim ws As Worksheet
        For Each ws In Application.Worksheets
            If ws.Range("A1").Value = strIn Then lngRet = lngRet + 1
        Next
        fCountSheets= lngRet
    End Function
    puoi scrivere nella Cella A4 del Foglio stampe questa chiamata:
    
    =fCountSheets("Volontario")
  • Re: Visualizzare un valore a video

    Grazie Alex, funziona benissimo.
    Due ultime cose: dato che i 200 fogli di cui è composta la cartella li proteggo, è possibile con un unico comando togliere la protezione a tutti i fogli senza farlo su ciascuno di essi ?
    E infine, per inserire su tutti i fogli automaticamente nella cella B10 una data ( formato 10/04/2012 )
    come posso fare ?
    Colgo l’occasione per augurare a tutto lo staff gli auguri di Buona Pasqua.
  • Re: Visualizzare un valore a video

    E' possibile in modo dinamico integrando nel codice sopra una singola istruzione per SPROTEGGERE il singolo Foglio...!
    
    .....
    For Each ws In Application.Worksheets
          If wS.ProtectContents = True Then wS.Unprotect Password:"TuaPassword"
          If ws.Range("A1").Value = strIn Then lngRet = lngRet + 1
    Next
    Ovviamente per ripristinare la protezione Ciclo semplice per riattivarla
    
    .....
    For Each ws In Application.Worksheets
          wS.Protect Password:="TuaPassword"
    Next

    Stessa cosa per inserire la Data in "B10" direi che gli elementi per fare un passettino in autonomia li hai tutti...nel ciclo iniziale...
    
    ws.Range("B10").Value="TuaData"...
Devi accedere o registrarti per scrivere nel forum
3 risposte