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

vba: selezionare un range di fogli

301 views
Skip to first unread message

ruber

unread,
Sep 30, 2012, 3:40:23 PM9/30/12
to
Ciao,

scusate se vi chiedo questa che probabilmente è una banalità ma cercando su google non ne vengo a capo:

all'interno di una cartella di lavoro excel, devo selezionare un intervallo continuo di fogli. Diciamo dal terzo foglio fino al foglio che si chiama "z".

So trovare gli indici dei fogli (con "ActiveSheet.Index") , per cui pensavo:

trovo l'indice del foglio "z", poniamo 5, e dico di selezionare i fogli DAL 3 AL 5. Ma questo non mi riesce nel modo che vorrei.

Riesco a dire di selezionarli così: Sheets(Array(3, 4, 5)).Select ma non in modo "dinamico" tipo appunto "DA" "A".

Esiste una cosa tipo "Sheets(Array(3 - 5)).Select" ? Per dire DA 3 A 5?

Grazie per la pazienza ...

r

unread,
Sep 30, 2012, 4:24:43 PM9/30/12
to
due modi diversi:


Sub seleziona_fogli(da As Long, a As Long, Optional wb As Workbook)
Dim i As Long, b As Boolean

If wb Is Nothing Then Set wb = ActiveWorkbook
b = True
For i = da To a
wb.Worksheets(i).Select b
b = False
Next

End Sub


Sub seleziona_fogli_2(da As Long, a As Long, Optional wb As Workbook)
Dim i as Long, v, s as Long

If wb Is Nothing Then Set wb = ActiveWorkbook
ReDim v(a - da)
For i = da To a
v(s) = i
s = s + 1
Next

wb.Worksheets(v).Select
End Sub

puoi chiamare così:

Sub test()
seleziona_fogli_2 3, 6
End Sub


saluti
r

ruber

unread,
Oct 1, 2012, 2:54:07 AM10/1/12
to
Il giorno domenica 30 settembre 2012 21:40:23 UTC+2, ruber ha scritto:
funziona perfettamente. Grazie!
0 new messages