Selezione fogli



  • Selezione fogli
    di Big ronnie (utente non iscritto) data: 12/06/2009

    Ciao a tutti,

    vorrei selezionare più fogli insieme in una cartella, non consecutivi da codice.in pratica vorrei selezionare tutti i fogli con colore della linguetta uguale.qualcuno sa come fare?

    ciao big



  • di Big ronnie (utente non iscritto) data: 12/06/2009

    Dimenticavo di dirvi che il colore della linguetta viene ricavato dopo delle operazioni da codice,variando quindi,ed ogni volta devo selezionare e salvare quei fogli.



  • di Ricky53 data: 13/06/2009

    Ciao big,
    prova con questi esempi:
    1. ti dice il colore di ogni foglio del tuo file xls
    2. ti seleziona il foglio che ha il colore uguale a quello che tu hai scelto.

    utilizzale come punto di partenza per le tue esigenze.

    ciao da ricky53
     
    Sub Colore_Foglio()
        For I = 1 To Worksheets.Count
                MsgBox "Foglio: " & Sheets(I).Name & " - Colore: " & Sheets(I).Tab.ColorIndex
        Next I
    End Sub
    
    Sub Seleziona_Foglio()
        colore = Val(InputBox("Inserire un numero di colore"))
        If colore = 0 Then
            MsgBox "l'Elaborazione viene Terminata"
            Exit Sub
        End If
        For I = 1 To Worksheets.Count
            If Sheets(I).Tab.ColorIndex = colore Then
                Sheets(I).Select
                MsgBox "Selezionato Foglio: " & Sheets(I).Name & " con Colore: " & Sheets(I).Tab.ColorIndex
            End If
        Next I
    End Sub



  • di Big ronnie (utente non iscritto) data: 14/06/2009

    Ciao ricky,

    grazie per il suggerimento ma credo di aver trovato quello che cercavo, devo solo adattarla.

    ciao big
     
    Sub SelezioneFogliMultipla()
    Dim arr As Variant
    arr = Array()
    For I = 2 To Sheets.Count
    ReDim Preserve arr(I - 2)
    arr(I - 2) = Sheets(I).Name
    Next I
    Sheets(arr).Select
    End Sub



  • di Ricky53 data: 15/06/2009

    Ciao bic,
    ma ti rimane sempre da selezionare i fogli che hanno il colore della linguetta uguale a quello che ti occorre.
    sei sicuro che con la macro che hai inserito ottimizzi?

    ho qualche dubbio però, prima di esprimermi, vorrei vedere la macro completa (ossia contenente la selezione dei fogli in base al colore della linguetta).

    ciao da ricky53



  • di Big ronnie (utente non iscritto) data: 15/06/2009

    Ciao ricky,

    quello che mi serviva era di selezionare più fogli insieme con il colore della linguetta uguale e così ho risolto.sempre grazie per la tua disponibilità.

    dimenticavo provala colorando a salti qualche linguetta di rosso

    ciao big
     
    Sub SelezioniNonAdiacenti()
    Dim arr As Variant
    arr = Array()
    For I = 1 To Sheets.Count
    If Sheets(I).Tab.ColorIndex = 3 Then
       ReDim Preserve arr(II)
       arr(II) = Sheets(I).Name
       II = II + 1
    End If
    Next I
    Sheets(arr).Select
    End Sub
    



  • di Ricky53 data: 16/06/2009

    Ciao big,
    di nulla mi piace cercare di condividere la mia conoscenza per aiutare altri utenti del forum e lo faccio volentieri.

    riporto qualche precisazione che può essere utile.

    mi era chiaro quello che ti occorreva ossia “selezionare più fogli aventi lo stesso colore di linguetta” , proprio per questo ti avevo inviato due sub:
    1. una che ti diceva, per ogni foglio, qual’era il colore della linguetta
    2. l’altra che ti selezionava i fogli aventi il colore delle linguetta era uguale ad uno scelto (tramite la variabile “colore”)

    la tua macro fa la stessa cosa solo, a mio avviso, in modo appena più complesso (vedi utilizzo di una array la “arr” che viene ridimensionata in ciclo ed impostazione una seconda variabile “ii” per poi selezionare i fogli fuori ciclo tramite la “arr”).

    ti riporto la mia seconda macro senza la scelta del colore e senza messaggio:

    sub seleziona_fogli()
    for i = 1 to worksheets.count
    if sheets(i).tab.colorindex = 3 then
    sheets(i).select
    end if
    next i
    end sub

    ti torna quanto ho scritto.
    buon proseguimento delle tue attività.
    alla prossima.

    ciao da ricky53




  • di Big ronnie (utente non iscritto) data: 16/06/2009

    Ciao ricky,

    scusa se insisto ma la tua macro seleziona un foglio alla volta e selezionato rimane un solo foglio, mentre io ho bisogno di lasciare selezionati tutti i fogli con colore uguale.per esempio se ho 10 fogli con linguetta rossa questi devono essere selezionati tutti nello stesso momento.

    ciao big



  • di Ricky53 (utente non iscritto) data: 16/06/2009

    Ciao big,

    vero.
    non ho letto, con la dovuta attenzione, la parte del tuo intervento in cui dicevi di volere selezionare più fogli contemporaneamente.

    bene così.

    ciao da ricky53