vorrei rendere variabile il nome pippo a seconda del
foglio dal quale sta partendo la mia macro.
Avevo pensato di far apparire il nome del foglio su una
cella es: B2 ed usarne il suo contenuto per poter far
funzionare la macro.
Esiste altro modo? perchè penso che la mia soluzione non
sia corretta e ce ne sia una + semplice.
Ciao
Non è molto chiaro cosa vorresti ottenere. Potresti fare un controllo
della posizione del foglio attivo.
Ipotizzo che tu debba aprire il foglio "Pippo" se ci si trova nel primo
foglio, "Pluto" se ci si trova nei primi 5 fogli e "Paperino" negli
altri fogli.
If ActiveSheet.Index = 1 Then
Sheets("pippo").Activate
ElseIf ActiveSheet.Index <= 5 Then
Sheets("pluto").Activate
Else: Sheets("paperino").Activate
End If
--
Tiziano Marmiroli
Microsoft MVP - Office
Il problema è questo (se è un problema)
ho una ventina di fogli diversi (pippoXY)
la macro storicizza delle righe copiandole in movimenti
se un campo è = a si.
non so quanti fogli creero nel tempo non penso + di
trenta ma vorrei evitare di riscrivere una macro per ogni
foglio....
ecco il mio codice ...
For x = 1 To 50
Sheets("pippoXY").Activate
If Cells(x, 79) = "SI" Then
Sheets("movimenti").Activate
Rows("2").Select
Selection.Insert Shift:=xlDown
Sheets("pippoXY").Activate
Range("A" & x & ":I" & x).Select
Selection.Copy
Sheets("movimenti").Select
Range("B2").Select
ActiveSheet.Paste
Range("B2").Select
Sheets("pippoXY").Activate
Rows(x).Select
' Selection.Delete Shift:=xlUp
' oppureSelection.ClearContents
End If
ciao
> Ciao Tiziano! come al solito oltre a farmi scoprire cose
> nuove anche casualmente ... mi chiarisci le idee persino
> a me su cosa vado cercando!! :)
Mi fa piacere che hai le idee più chiare, ma io non sono ancora sicuro
d'aver capito il problema! ;-)
Se il problema è effettuare la stessa operazione su un gruppo di fogli,
tranne alcuni (ad esempio gli ultimi 2) puoi usare un ciclo di questo
tipo:
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count - 2
'tua macro
Next i
All'interno della tua macro attiverai il foglio usando
Sheets(i).Activate