Come dovrà essere scritto un codice VBA che soddisfi i seguenti requisiti:
Quando un blocco (intervallo B1:Q14) viene copiato dal foglio "Programmazione" e contiene una data precedente rispetto a uno o più blocchi già presenti nel foglio "Pianificazione", il codice dovrà:
1. Individuare automaticamente il punto corretto in cui inserire il nuovo blocco, rispettando l’ordine cronologico basato sulla data (presente in cella B2 del blocco).
2. Spostare verso il basso tutti i blocchi successivi (ognuno di 14 righe, con 1 riga vuota di separazione), per fare spazio al nuovo blocco.
3. Inserire il nuovo blocco con:
• Una riga vuota sopra
• Una riga vuota sotto
4. Mantenere la struttura di separazione costante per garantire leggibilità e ordine nel foglio "Pianificazione".
Nota importante:
Nel foglio "Pianificazione", i blocchi iniziano alle righe B2, B17, B32, B47... (ogni 15 righe).
Nella colonna B di ciascun blocco, la cella contenente la data di riferimento è B2, B17, B32..., e ospita una formula in formato Generale, costruita come segue:
- Codice: Seleziona tutto
=TESTO(B3;"GGGG gg/mm") & " (Settimana " & NUM.SETTIMANA(B3;2) & ")"
Questa formula restituisce un testo leggibile che rappresenta la data del turno (B3), ma per l’ordinamento cronologico il confronto deve avvenire NON sulla data effettiva contenuta in B3, MA sul testo generato.
Grazie anticipatamente per eventuali soluzioni risolutive o suggerimenti alternativi.