Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
ho una serie di fogli. ogni foglio ha il nome degli alunni ed all'interno ci sono nella colonna a le materie (tipo italiano, geografia ecc) e nelle colonna b i voti.
in un foglio indice sono riuscito (grazie a voi) a ricavare un elenco di tutti i fogli con questa routine
sub elencofogli()
dim objsheet as worksheet
dim currcell as range
set currcell = activecell
'loop ai fogli ed estrazione del nome
for each objsheet in thisworkbook.worksheets
currcell = objsheet.name
set currcell = currcell.offset(rowoffset:=1)
next
set currcell = nothing
set objsheet = nothing
end sub
ora voglio riportare in un'altra colonna accanto all'elenco la somma dei voti per ogni alunno.
ovviamente la somma dei voti è presente in ogni foglio sempre nella stessa cella.
sareste così cortesi di mdarmi una dritta?
grazie
di Big ronnie (utente non iscritto) data: 17/06/2010
Ciao nabbe,
prova se ti và bene questa.
se il foglio di riepilogo non si chiama indice cambia il nome all'interno del codice con il nome che gli hai dato.
se la somma dei voti all'interno di ogni singolo foglio(alunno)non è sotto ai voti cioè nella colonna b togli /2 dal codice.
ciao big
di Big ronnie (utente non iscritto) data: 17/06/2010
Scusa, ecco la macro
Sub Alunni()
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> "Indice" Then
Range("A" & sh.Index) = sh.Name
Range("B" & sh.Index) = WorksheetFunction.Sum(Sheets(sh.Index).Columns("B")) / 2 'Somma
End If
Next
End Sub