Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nome foglio di lavoro variabile

114 views
Skip to first unread message

MAUROAP

unread,
Jul 1, 2004, 8:59:19 AM7/1/04
to
CIAO A TUTTI
Ho creato del codice che ad un certo punto esegue:
Sheets("pippo").Activate

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

Tiziano Marmiroli

unread,
Jul 1, 2004, 9:30:43 AM7/1/04
to

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

MAUROAP

unread,
Jul 1, 2004, 10:27:05 AM7/1/04
to
Ciao Tiziano! come al solito oltre a farmi scoprire cose
nuove anche casualmente ... mi chiarisci le idee persino
a me su cosa vado cercando!! :)

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

Tiziano Marmiroli

unread,
Jul 1, 2004, 11:56:54 AM7/1/04
to
Il Thu, 1 Jul 2004 07:27:05 -0700, MAUROAP ha scritto:

> 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

0 new messages