Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 19 su 19

Utilizzare stessa routine , vba, su più fogli nello stesso lavoro

  1. #11
    Franco58 non è in linea Novello
    Allego un jpg della pagina "INSERISCI"....sperando si veda

  2. #12
    Franco58 non è in linea Novello
    Questo, nel caso in cui la URL del JPG, postata pocanzi non si veda, è il percorso
    1) Dal menù a tendina si sceglie l’Associazione/Struttura territoriale;
    2) Una volta scelta l’Associazione, un altro menù a tendina, restituisce gli iscritti di questa Ass. , cioè i “Nominativi” che vengono pescati dai relativi Fogli (1,2 e 3) tramite “Criteri”
    3) la Macro in questione mi copia tutta la stringa, relativa al nominativo, e ma la restituisce sul Range (B11:F11) del Foglio “INSERISCI” (perché è li, sul Foglio “INSERISCI” che si volge tutto il lavoro)
    4 ) con un’altra macro salvo i dati in una cartella “Archivio” (questa funziona)
    La routine/lavoro che non fa la macro (perché sbaglio da qualche parte) è quello di copiare sul Range (B11:F11) sempre del Foglio “INSERISCI”, i nominativi degli iscritti presenti in tutti gli altri fogli (Associazioni).
    La struttura dei fogli è identica per tutti.
    In poche parole, mi restituisce solo i nominativi del Foglio da cui ho creato la macro e non degli altri.
    Lo scopo è quello di Archiviare nominativi che provengono da diverse Associazioni , presenti quel giorno in una data località colpita da eventi, per poi salvarli in un report, con data, dove ritrovo che tizio, caio e sempronio, delle (tre) Ass. erano presenti in quel sito.
    https://imgur.com/a/FQYvaSA
    Ultima modifica di Franco58; 24-06-2021 15:18 

  3. #13
    Sgrubak non è in linea Scribacchino
    L'immagine non si vede. Salvala su un sito di sharing e posta il link.

    P.S: Come diceva @Alex, per un lavoro del genere, Access e meglio. Se non proprio Access, comunque un DBMS. Con Excel fatichi mica da ridere.

  4. #14
    Franco58 non è in linea Novello
    https://imagizer.imageshack.com/img922/5313/qWTImr.jpg
    Forse i "Fogli delle Ass." dovrebbero stare in un altra cartella di Excel...

  5. #15
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Quote Originariamente inviato da Franco58 Visualizza il messaggio
    La routin è questa:
    Sub MascheraRicerca()
    If Range("B7").Value = "" Then
        Range("B7").Interior.Color = rgbRed
        Exit Sub
    End If
        Range("B7").Interior.Color = xlNone
    Application.ScreenUpdating = False
        Worksheets("Foglio3").Range("A1:E60").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
            "B6:B7"), CopyToRange:=Range("B11:F11")
        Worksheets("Foglio4").Range("A1:E60").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
            "B6:B7"), CopyToRange:=Range("B11:F11")
        Application.ScreenUpdating = True
    End Sub
    
    Ora vi chiedo gentilmente se potete dirmi come faccio a far compiere la stessa routin agli altri due fogli?
    Non so se ho capito, e senza vedere il file è più complicato, ma potresti passare il foglio come parametro alla tua routine, così:
    Sub MascheraRicerca(ByRef ws As Worksheet)
    
    a quel punto devi solo chiamare la tua routine per ogni foglio, ovviamente il codice della routine va usato UNA sola:
        ws.Range("A1:E60").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "B6:B7"), CopyToRange:=ws.Range("B11:F11")
    
    Se ho scritto una st...., perdonatemi.
    ℹ️ Leggi di più su gibra ...

  6. #16
    Sgrubak non è in linea Scribacchino
    Ok, ora mi è più chiaro, grazie.

    Quote Originariamente inviato da Franco58 Visualizza il messaggio
    a Macro in questione mi copia tutta la stringa, relativa al nominativo, e ma la restituisce sul Range (B11:F11) del Foglio “INSERISCI” (perché è li, sul Foglio “INSERISCI” che si volge tutto il lavoro)
    Questo è superfluo... Identifica il volontario in maniera univoca tramite il codice fiscale. Copi quello in nella colonna dedicata e poi puoi inserire nelle celle adiacenti un CERCA.VERT. La macro assegna il volontario selezionato all'elenco, ma non ricopia i dati. Usaa le formule native che ti risparmi un sacco di rogne.


    Quote Originariamente inviato da Franco58 Visualizza il messaggio
    La struttura dei fogli è identica per tutti.
    Continua ad essere concettualmente sbagliato. I volontari vanno raggruppati in un unico foglio e va aggiunta la colonna dell'associazione. Quando selezioni l'associazione, invece di pescare i nominativi da fogli diversi, li prendi da quel foglio, a patto che l'associazione coincida.

    Quote Originariamente inviato da Franco58 Visualizza il messaggio
    In poche parole, mi restituisce solo i nominativi del Foglio da cui ho creato la macro e non degli altri.
    La macro è sufficiente crearla nel foglio "INSERISCI". Sarà tua cura far fare la ricerca e far slittare la cella in cui scrivere il CF di una riga ad ogni inserimento. Al momento tu filtri i dati e li incolli sempre su riga 11, mentre invece, dovresti:
    -dichiarare un variabile a livello di foglio chiamata [rigaScrivi] (è solo un esempio, chiamala come vuoi) di tipo Integer;
    -Selezionato un volontario, inserire il suo CF in riga [rigaScrivi] (banalmente: Range("C" & rigaScrivi).Value = "XXXYYY12Z34W567Y"); (ovviamente il CF lo devi pescare in qualche maniera dalla combobox... )
    -Le formule vengono ricalcolate e mostrano i dati relativi a quel CF nelle colonne B, D, E ed F;
    -Sposti la scrittura sulla riga successiva (rigascrivi = rigaScrivi +1)
    -Alla pulizia della griglia, ripristini rigaScrivi a 11;

    Ribadisco: usa un DBMS. Con Access fai la stessa cosa, con un millesimo della fatica e con molti più controlli di integrità già di base, senza che li debba implementare tu. Excel va bene per fare calcoli. Ad archiviare dati, arranca un po' (tanto).

  7. #17
    Franco58 non è in linea Novello
    Purtroppo non riesco, comunque grazie Sgrubak, cio nonostante ho capito molte alre cose. Non so come fare per postare il DBEXCEL altrimenti sono più che certo che riusciresti a trovare l'arcano.
    Vuol dire che farò il tutto con ACCES.

  8. #18
    GiuseppeMN non è in linea Scribacchino
    Buon pomeriggio a Tutti;
    chiedo scusa per l'intromissione ma solo oggi ho avuto l'opportunità di leggere questa richiesta.

    Buon pomeriggio @Franco58;
    non sono certo di aver interpretato correttamenta la tua domanda ma, da quello che ho potuto capire:
    ... I fogli 3, 4 e 5 contengono le tabelle identiche nella struttura di ogni Ass. con i relativi nominativi. ...
    proverei a risolvere con UserForm.
    UserForm ben strutturato può agire indipendentemente dal Foglio di lavoro nel quale viene attivato.

    Ho risolto in questo modo in analoga situazione con solo due Associazioni ma nulla osta ad applicare lo stesso metodo con tre o più Associazioni.

    Tutto dipende dal numero di Record da trattare; personalmente oltre i 1.000 ÷ 1.500 Record scelgo senza indugio ACCESS.



    A disposizione.

    Giuseppe

  9. #19
    Franco58 non è in linea Novello
    Salve a tutti. Scusate ma anche io ho riaperto il sito solo oggi, ed ho letto il tuo post (GiuseppeNM).
    Sinceramente ho risolto in altro modo (altro non potevo fare se non vedendo qualche tutorial), sicuramente più semplice dal precedente, ma con lo stesso risultato e pare sia piaciuto comunque, così riuscirò a gestire le 25 associazioni iscitte al Nazionale (dovevano essere solo tre, invece..!!!). Vi sembrerà assurdo ma spero di non doverlo usarlo mai concretamente in quanto servirà solo per la gestione di strutture in grossi eventi nazionali. Se fino ad ora non ho usato ACCESS e perchè non tutti hanno la possibilità di averlo.
    Grazie a tutti per l'attenzione e soprattutto per i preziosi consigli.

+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12

Potrebbero interessarti anche ...

  1. Esportare su Excel (piu fogli nello stesso file o Pivot)
    Da Vagus nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 10-01-2014, 08:55
  2. Risposte: 0
    Ultimo Post: 15-02-2010, 18:38
  3. Copiare form nello stesso progetto
    Da licetinsanire nel forum Visual Basic 6
    Risposte: 10
    Ultimo Post: 18-05-2009, 17:17
  4. Richiamare Sub Rutine nello stesso Form
    Da WEM nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 20-11-2006, 11:52
  5. win98se+XPpro nello stesso PC ?
    Da giampetto nel forum Microsoft Windows
    Risposte: 2
    Ultimo Post: 29-03-2005, 08:57