› Excel e gli applicativi Microsoft Office › PROGRAMMAZIONE CONTROLLI
-
AutoreArticoli
-
Ciao,di seguito il mio quesito.Dati:Dentro una cartella windows ho diverse cartelle di lavoro, una per ogni condominio.Ogni cartella di lavoro contiene 12 fogli, uno per ogni mese.Dentro ad ogni foglio, sono riportate in una colonna gli elementi che devono essere controllati mentre su una riga i giorni del mese impostati come valore di data.Obiettivo:Devo predisporre dei controlli che devono essere poi automaticamente programmati nei vari giorni dell'anno secondo le seguenti casistiche:A (annuale) - S (semestrale) - T (trimestrale) - B (bimestrale) - M (mensile) - ST (settimanale)Facendo degli esempi pratici nel file che ho allegato:- Cantina: Il giorno 2 gennaio immetto la stringa ST. Da qui in poi per tutto l'anno, ogni sette giorni deve essere riportata la stessa stringa ST.- Garage: il giorno 6 febbraio immetto la stringa S. Devo contare 180 giorni e reimmettere nuovamente S. In questo caso cadrebbe il 5 di agosto ma essendo una domenica viene spostato al lunedì 6.-Scale: il giorno 4 gennaio immetto la stringa B. Da qui in poi ogni 60 giorni devo immettere nuovamente la stringa B.Variabili:La mensilità è di 30 giorni. Quindi se ho un controllo bimestrale dovrò contare 60 giorni.Se il controllo ricade di sabato o domenica o festività deve essere spostato al primo giorno utile successivo.Vorrei potere organizzare la cosa per almeno 5 anni così da poter gestire poi anche i controlli ad esempio annuali.Spero di essere stato il più chiaro possibile. Grazie in anticipo
Allegati:
You must be logged in to view attached files.CiaoDomande:1)Si potrebbe cambiare i nomi dei foglio aggiungendo il numero davatiEsempio Gennaio in 01_Gennaio?Semplificherebbe la vita.2)Tutte le operazioni vanno posticipate se di domenica? Solo di domenica?L'anno è 2018Vero?CiaoCiao,1) si non c'è nessun problema2) se il controllo ricade di sabato, domenica o festività deve essere spostato al primo giorno lavorativo utile.L'anno che ho riportato nell'esempio è il 2018. Vorrei poter organizzare il flusso dei controlli anche per gli anni successivi.Quali giorni consideri festivi?Avevo buttato giù due righe ma non li ho salvate.Io procederei così:- una macro che crea il calendario (sei sicuro che lo vuoi in orizzonrtale e non in verticale?- la macro scrive i sabati le domeniche i i festivi- Una seconda macro che compila come vuoi tuDammi qualche giorno che ci lavoro,.Come sei messo tu a VBA e macro?Ciao,i giorni festivi sarebbero tipo pasqua, natale, I° maggio... Potrebbe esserci, ipotizzo, una maschera dove definirli anno per anno? L'ordine con cui procedere direi che è l'ideale, correlare poi le varie cartelle excel nei successivi anni immagino non sia semplice. Il calendario purtroppo deve rimanere in orizzontale.A VBA e macro sono un principiante. Mi aiuto molto con il registratore.Per il tempo figurati, neanche a dirlo!Grazie intantoCi sto lavorando non mi sono dimentaicato. domani spero di poterti inviare il file.CiaoLucaHo provato a buttare giù qualcosa.Ho inserito un foglio in cui i programma scrive la prima azione per l'anno dopo.L'idea può essere quella che con l'anno nuovo azzeri tutto, cambi l'anno e riparti sulla base del precedente.Ad oggi se scrivi una delle lettere previste nel mese ti parte in automatico il programma.Se ti va bene poi ci sono un paio di cose da migliorare.Fai qualche prova e dimmi se OKCome da tua indicazione mese = 30 giorni2 mesi = 60 giorni6 mesi = 180 giorni1 anno = 1 anno solareinoltre se trova sabato domenica o festa allora cerca il primo libero dopo e poi riparte da qulloovvero un settimanale di lunedì trova pasquetta e poi passa al martedì.Come feste ho inserito01/01, 06/01, Pasqua, Pasquetta, 25/04, 01/05, 02/06, 15/08, 01/11, 08/12, 25/12, 26/12 31/12Altre si possono inserire.Fai qualche prova e dammi un feedbackCiaoLucaAllegati:
You must be logged in to view attached files.Ho provato a buttare giù qualcosa.Ho inserito un foglio in cui i programma scrive la prima azione per l'anno dopo.L'idea può essere quella che con l'anno nuovo azzeri tutto, cambi l'anno e riparti sulla base del precedente.Ad oggi se scrivi una delle lettere previste nel mese ti parte in automatico il programma.Se ti va bene poi ci sono un paio di cose da migliorare.Fai qualche prova e dimmi se OKCome da tua indicazione mese = 30 giorni2 mesi = 60 giorni6 mesi = 180 giorni1 anno = 1 anno solareinoltre se trova sabato domenica o festa allora cerca il primo libero dopo e poi riparte da qulloovvero un settimanale di lunedì trova pasquetta e poi passa al martedì.Come feste ho inserito01/01, 06/01, Pasqua, Pasquetta, 25/04, 01/05, 02/06, 15/08, 01/11, 08/12, 25/12, 26/12 31/12Altre si possono inserire.Fai qualche prova e dammi un feedbackCiaoLucaAllegati:
You must be logged in to view attached files.Ciao,
ho fatto delle prove e funziona alla grande! Per le ferie quelle che hai inserito ( il calcolo della Pasqua è una finezza!) vanno bene.
Ho visto che ci sono 4 macro ,ti anticipo qualche domanda se posso:
- resetta : pulisce tutti i fogli tranne il 12_Dicembre; è possibile con il reset eventualmente pulire anche 13_Annodopo?
- Attiva e prva devono essere eseguite?
- ho visto che basta aggiungere righe di testo nella colonna B e la funzione automaticamente viene espansa, corretto?
Grazie ancora.Resetta, Attiva e Prova le avevo fatte per uso debug. Non servono.Riguardo alla pulizia del 13_Annodopo era legata al fatto di una potenziale macro che servisse per riempire l'anno successivo.Se ti serve cancellare basta modificarela rigaIf Left(FoglioP.Name, 2) * 1 < 12 ThencomeIf Left(FoglioP.Name, 2) * 1 < 13 ThenCiaoLuca
