scopri e raggruppa righe



  • scopri e raggruppa righe
    di NIKY data: 12/02/2016 13:44:20

    VI PREGO AIUTATEMI !!!!!!!!!!!!!!!!!!!!

    chi di voi riuscirebbe a generarmi un codice vba che cliccando con un doppio click su una qualsiasi cella della colonna A1 contenente " comprimi 10 " mi nasconda le 10 righe sottostanti ad essa e che mi cambi in contemporanea il contenuto della stessa cella scrivendomi " visualizza 10 " in modo che quando gli si riclicca sopra con un doppio clik mi faccia riapparire le 10 righe nascoste in precedenza e mi riporti la scritta " comprimi 10 " e così di seguito in alternanza ???????



  • di alfrimpa data: 12/02/2016 14:57:32

    Ciao Niky

    Prova con la macro sottostante che ho inserito nel file che ti ho allegato.

    Sulla cella devi fare doppio clic.

    Fai sapere.

    Alfredo
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("a:a")) Is Nothing Then
        If Range("a" & Target.Row + 1).EntireRow.Hidden = True Then
            Target.Value = "Comprimi 10"
            Range("a" & Target.Row + 1 & ":" & "a" & Target.Row + 10).EntireRow.Hidden = False
        Else
            Target.Value = "Scopri 10"
            Range("a" & Target.Row + 1 & ":" & "a" & Target.Row + 10).EntireRow.Hidden = True
        End If
    End If
    End Sub






  • di NIKY data: 12/02/2016 16:28:21

    Grazie mille Alfredo per il tuo valoroso aiuto sono molto contenta il principio della formula è proprio quello che cercavo Yuppy!!!!!

    però volevo chiederti ( siccome purtroppo io sono alle prime armi col vba ) se fosse possibile adattare la tua formula al file che ti ho allegato sostituendo rubrica con “visualizza 10” in modo tale che cliccandoci sopra …..le righe sottostanti non rimanghino selezionate !?!?
    un’altra domanda che vorrei farti è :
    visto che ho la necessità a seconda della posizione della riga che voglio selezionare (ma sempre rimanendo sulla stessa colonna )…… di inserire un altro valore che si differenzia dal 10 …esempio 15 o 22 o quant?altro ……. è necessario riscrivere ulteriori macro per ogni valore che intendo dare alla cella ….o è magari possibile creare una macro
    (“ dinamica” per modo di dire) ….che a seconda del valore inserito nella cella di comando si adatti nell’aprire e chiudere le righe sottostanti ?

    grazie mille ancora per il tuo aiuto

    attendo volentieri

    NIKY



  • di alfrimpa data: 12/02/2016 17:04:47

    Ciao Niky perdonami ma non ho capito.

    Con riferimento al tuo file facendo doppio clic in colonna A dove c'è scritto "Rubrica" quante righe vuoi che vengano scoperte? Non credo il numero inserito in colonna B che mi pare una progressiva delle rubriche.

    Poi mi spieghi come funziona il pulsante sul foglio2?

    Alfredo

    P.S. Ma il codice presente nel tuo file l'hai scritto tu? Per essere "alle prime armi" con il VBA come dici mi sembra un po' troppo





  • di NIKY data: 12/02/2016 18:46:14

    Ciao Alfredo, riprovo a riscriverti la risposta perché non la vedo pubblicata .

    il numero inserito nella colonna B è solo di riferimento e il foglio 2, scusa! anche non c’entra niente!!

    No hai ragione!! Il file l’ho ricevuto!!! ……. Sarebbe troppo bello se fossi riuscita a farlo da sola!!

    Quello che intendevo chiederti se era possibile adattare il tuo codice al file che ti ho allegato in modo che inserendo
    “ scopri 10 “ al posto di menu mi visualizzasse le 10 righe sottostanti lasciandomi però come adesso solo la riga di riferimento selezionata e non le 10 sottostanti e sostituendo il testo nella cella “scopri10 ” con “raggruppa 10”.
    Quello che però desidererei realizzare e chiederti….. ( se è fattibile ) di inserire 100 righe nascoste per ogni rubrica e a seconda della necessità e dello spazio richiesto inserendo direttamente nella cella di selezione nella colonna A1 il numero di righe da scoprire. Per esempio inserendo “ scopri 30 “ e cliccando su questa cella con il doppio click mi scopra 30 righe lasciandomi le altre 70 raggruppate.

    spero tanto di essere riuscita a spiegarmi… senza posso provare a fare un file di esempio

    Grazie Mille

    Niky



  • di alfrimpa data: 12/02/2016 19:17:12

    Ciao Niky

    Come prima ipotesi di "lavoro" ti allego il file Niky_1.xlsm dove sul tuo file ho inserito il mio codice che ho lievemente modificato prevedendo l'uso di una InputBox (se non sai cosa è ti dico che è una finestra dove puoi inserire il numero delle righe).

    Una volta inserito il numero e cliccando su Ok verrà scoperto/nascosto quel numero di righe; prova un po' e fammi sapere.

    Cosa intendi quando dici: "“ scopri 10 “ al posto di menu mi visualizzasse le 10 righe sottostanti lasciandomi però come adesso solo la riga di riferimento selezionata"? Non capisco cosa indica la parola "menu".

    Forse è meglio se mi alleghi il file con tutte le spiegazioni possibili e immaginabili

    Comincia a costruirti il file dove per ogni rubrica ci sono 100 righe.

    Non so se questa è la strada giusta; è ovvio che già avendo un file siamo focalizzati su quello.

    La butto lì: prova a spiegare in generale quello che vuoi/devi fare magari si riesce insieme a trovare strade alternative, magari più semplici, per raggiungere il tuo obiettivo.

    A risentirci.

    Alfredo






  • di NIKY data: 12/02/2016 19:20:10

    Scusa Alfredo, ho dimenticato di dirti una cosa importante anche se sicuramente tu l'hai già visto all'interno del VBA che questo VBA raggruppa 10000 righe scoprendone al doppio click di ogni cella della colnna A racchiude nelle 10000 righe un fisso di 10 righe sottostanti alla cella selezionata lasciandomi la visione della rubrica singola e dopo le 10 righe il resto delle righe non raggruppate 100001 in avanti sulle quali verrà visualizzato un indice importante per la rubrica e solo ricliccando sulla cella per richiudere la rubrica riappare il resto delle rubriche

    scusa e grazie
    ciao
    ciao



  • di NIKY data: 12/02/2016 19:24:57

    ho visto solo adesso la tua risposta
    certo !!! provo e domani appena posso ti faccio sapere

    grazie e buona serata

    Niky



  • di alfrimpa data: 12/02/2016 19:37:20

    Niky mi spiace; ti leggo ma non riesco a capire.

    Come sarebbe bello se ci si potesse parlare....

    Puoi provare a "chiarire" quanto hai scritto:

    "Scusa Alfredo, ho dimenticato di dirti una cosa importante anche se sicuramente tu l'hai già visto all'interno del VBA che questo VBA raggruppa 10000 righe scoprendone al doppio click di ogni cella della colonna A racchiude nelle 10000 righe un fisso di 10 righe sottostanti alla cella selezionata lasciandomi la visione della rubrica singola e dopo le 10 righe il resto delle righe non raggruppate 100001 in avanti sulle quali verrà visualizzato un indice importante per la rubrica e solo ricliccando sulla cella per richiudere la rubrica riappare il resto delle rubriche"

    perché sinceramente mi è oscuro.

    Comunque spero che piano piano riusciremo ad arrivare ad un punto.

    Alfredo





  • di NIKY data: 13/02/2016 15:00:02

    Ciao Alfredo, ho preparato il file da inviarti con tutte le spiegazioni ma non riesco a inviartelo perchè zippato è 10.8 MB. É possibile inviartelo su un indirizzo mail? o esiste qualche altra soluzione?

    Grazie
    Niky



  • di alfrimpa data: 13/02/2016 16:00:06

    Cara Niky

    Personalmente non avrei problemi a lasciarti la mia mail ma essendo questo un forum pubblico (anche se frequentato da persone per bene penso) non credo sia una buona idea pubblicizzare. il mio indirizzo.

    Se lo vuoi avere dovresti farne richiesta inviando un messaggio a Mauro, Amministratore del Forum, attraverso il link "Contatti" che trovi sulla Home del sito in basso al centro.

    Comunque, al di la di questo, non è necessario un file completo con le mille mila rubriche che hai (11 mb sono tanti) ma ne bastano 2/3 (di rubriche) ma con tutte le spiegazioni del caso; inoltre con un file così grande (e probabilmente complesso) correrei certamente il rischio di "perdermi".

    Alfredo

    P.S. In alternativa potremmo darci appuntamento qui sul forum (giorno e ora prestabiliti es. lunedì ore 12.00) dove tu mi inserisci la tua mail io la annoto e tu dopo tot minuti la cancelli. Se sei d'accordo fammelo sapere.

    PP.SS. Ho la sensazione di avere già visto il tuo file; hai aperto una discussione simile anche su altri Forum su Excel?





  • di NIKY data: 13/02/2016 18:02:30

    Grazie mille  Alfredo  per l’ottima idea    

    come da tuo consiglio  ho ridotto le rubriche di 10 volte ...praticamente devi immaginare che le rubriche saranno 30 per ogni gruppo anziché 3 e che le righe raggruppate dal vba saranno 10000 anziché 1000 di come appaiono ora ma comunque non cambia niente nella spiegazione  del file 

    Praticamente il file che ti ho  allegato  é solo una bozza indicativa di come potrebbe apparire una volta completo ma comunque potrebbe farti  anche capire la vastità che potrebbe raggiungere.
     
    Come puoi vedere dall’allegato ,per motivi di impostazione nota ecc. e per non rallentare troppo il file intendo dividere le rubriche in verticale  in  tranci o gruppi  di 30 rubriche racchiuse in 10000 righe  ( visualizzate ora sono 3 rubriche inserite in 1000 righe ) che verranno di seguito sfruttate   in orizzontale  del foglio a seconda delle necessità (perché per diversi motivi non mi è possibile metterli tutti in un solo gruppo in orizzontale) 

    Ho modificato il vba iniziale facendo scoprire e raggruppare 300 righe anziché 10 e dando il comando per ora  su 2 colonne la A e  la colonna  AB ….. ho provato ad inserire anche il secondo e terzo gruppo nel vba ma non ci sono riuscita  "e già qui avrei bisogno del tuo prezioso  aiuto per riuscirci “, al momento funziona solo il primo ( quello blu )

    Ora cerco di spiegarti quello che intendo realizzare e dovrebbe essere pressapoco così :

    Cliccando con  un doppio click sulla cella A8  del foglio 1 che corrisponde alla rubrica 1, vengono scoperte le 300 righe disponibili per la rubrica 1  a questo punto le 300 righe a disposizione dovrei poter dividerle e inserirle in  3  differenti menù contenenti ognuno 99 righe sottostanti , sul foglio 2 puoi vedere come vorrei che si visualizzasse l’apertura del rubrica1 dopo aver eseguito il vba .
    Da qui in avanti penso che venga la parte più difficile da realizzare ... il mio desiderio sarebbe quello di poter scegliere al momento e secondo  lo spazio richiesto dal testo   inserendo per esempio  sul menù1 cella A12    "scopri 27”  il vba mi scoprisse solo le 27 righe delle 99 disponibili lasciando le alte 72 nascoste   (l’esempio l’ho raffigurato nel foglio 3) 
    se  invece per esempio  inserisco nella cella A112  “ scopri 12 " ” mi visualizza le 12 righe nascondendomi le altre 87 vedi esempi foglio 4
    Proprio questo è il dilemma che mi piacerebbe tanto poter  risolvere !!! 


    La soluzione della finestra  da inserire volta a vota il numero delle righe da scoprire e nascondere  sarebbe in questo caso per me troppo laboriosa visto che dovrei alla fine poter intervenire velocemente all’interno dei menù nelle  differenti rubriche  e importante che mi legga direttamente dalla cella quante righe deve scoprirmi e di seguito nascondere……... se proprio non fosse possibile inserire nel vba la funzione che mi permetta di poter scegliere liberamente  il numero delle righe di tra le 99 disponibili   potrebbero al limite anche funzionare  dei comandi fissi da poter inserire in 10   differenti varianti tipo    " visualizza 10 “     “visualizza 20”    “visualizza 30”  e così via  vino a  
    "scopri 99” 
     

    Spero tanto di essere riuscita a spiegarmi  
    Come dici tu probabilmente sarebbe molto più facile potersi parlare personalmente

    Fammi sapere se qualcosa non ti è chiaro 
    Grazie per la disponibilità

    Sí esatto Alfredo !! È da li che ho ricevuto il vba che ti ho inviato però non ho più avuto risposte, spero tanto che mi puoi aiutare tu.
    Niky




  • di alfrimpa data: 13/02/2016 18:35:52

    Ciao Niky

    Devo doverosamente precisarti che non sono nè un programmatore nè un professionista informatico ma solo un funzionario di banca in pensione che ha passione per questi argomenti e che cerca di fare questa sorta di "volontariato" informatico su vari forum su Excel a cui partecipo.

    Va da sè che non ho una preparazione altamente sofisticata tale da affrontare problematiche di una certa complessità (e la tua non mi sembra tra le più semplici).

    Con questo non voglio assolutamente tirarmi indietro e deludere le tue aspettative ma mi sembrava corretto dirti questo.

    Da lunedì (ora c'è la partita del Napoli e già sto soffrendo ) esaminerò il tuo nuovo file e spero soprattutto di capirlo e che mi venga qualche idea.

    Certo il dover comunicare solo attraverso il forum non aiuta.......

    Alfredo





  • di NIKY data: 13/02/2016 19:07:11

    Ciao Alfredo,

    spero tanto che la partita possa andare a buon fine.

    Se anche come dici tu non sei un professionista informatico ne sai comunque molto molto molto più di me e ogni aiuto per me è prezioso. Nella vita aiuto molto volentieri anch’io gli altri ma purtroppo al momento non posso ancora farlo con Excel.
    Nel frattempo ho guardato su Freeforum Excel e ho visto che ieri cromagno mi aveva risposto dicendomi che sarebbe forse indicato usare una userform ma non so bene di cosa si tratta. Provo ad allegargli anche a lui il file che ho fatto per te con le spiegazioni perchè quello che gli avevo allegato in precedenza era forse poco comprensivo. Se si trovasse una soluzione penso che è un file che potrebbe essere utile anche ad altri… perlomeno lo spero !

    Cari saluti e buona serata
    Niky



  • di alfrimpa data: 14/02/2016 11:11:36

    Ciao Niky/Katia

    Ho visto che su FreeForumZone la discussione che avevi aperto (identica a questa) ha avuto seguito e che sono intervenuti Cromagno e Raffaele53 che sono entrambi molto bravi con il VBA.

    Sicuramente saranno in grado di risolvere il tuo problema.

    Io mi limiterò, stante la situazione, a seguire dall'esterno la cosa.

    Cari saluti.

    Alfredo





  • di NIKY data: 14/02/2016 12:29:11

    Caro Alfredo,
    sono molto contenta e sembra che piano piano stiamo arrivando alla soluzione. Ti ringrazio per il tuo interesse. Chiamami pure come vuoi, mi chiamo Katia ma mi hanno sempre chiamato Niky, anche se non so il perchè
    Stavo giusto inserendo la risposta a Raffaele

    Saluti e ancora grazie



  • di alfrimpa data: 14/02/2016 12:35:30

    Allora Katia aspetto la tua prossima domanda/problema sperando che non sia tanto complicata quanto questa

    Alfredo





  • di NIKY data: 14/02/2016 12:48:53

    Lo so Alfredo , è che alle volte fantasticando si immaginano cose che alla fine sono sempre difficili, però pensando che c'è gente che ti aiuta nel provare a realizzarle è semlicemente fantastico. Saluti, Katia



  • di alfrimpa data: 14/02/2016 15:45:45

    Katia se prometti di non esagerare per me (ma penso anche per gli altri) sarà un piacere risponderti.

    Un caro saluto.

    Alfredo





  • di Santuberto (utente non iscritto) data: 15/02/2016 17:06:36

    Alfrimpa: ... ora c'è la partita del Napoli e già sto soffrendo...

    Ahi! Che male!
    PS: non te la prendere.



  • di alfrimpa data: 15/02/2016 17:46:33

    Santuberto immagino tu sia juventino eh?

    Alfredo





  • di Santuberto (utente non iscritto) data: 15/02/2016 18:05:32

    Magari: tifoso del Verona.



  • di alfrimpa data: 15/02/2016 18:34:09

    E allora hai tutta la mia solidarietà.

    Un caro saluto.

    Alfredo