sostituzione celle e suddivisione foglio
Hai un problema con Excel? 
sostituzione celle & suddivisione foglio
di mandoz (utente non iscritto) data: 01/10/2012 22:37:00
ciao a tutti,
sono qui a chiedere il vs aiuto. allego 2 file prima.xls e dopo.xls
prima è un file che vado a modificare manualmente e giornalmente ottenendo dopo
avrei bisogno di un codice "progetto di modello" che mi velocizzi il lavoro
provo a spiegarmi. le colonne con cambiano mai - le righe da 1 a 12 non cambiano mai - da riga 13 in poi è sempre diverso. non so mai quante righe avrà il file originale (prima.xls).
il codice dovrebbe sostituire la riga ... annotazioni
colonna d : se il primo carattere è L allora A8=LAMATURA H13= - / - I13 = - / -
colonna d : se il primo carattere è C allora A8=CENTRINATURA H13= - / - I13 = - / -
colonna d : se il primo carattere è P allora A8=PREFORO H13= - / - I13 = - / -
colonna d : se il primo carattere è F allora A8=FORATURA H13= - / - I13 = - / -
colonna d : se il primo carattere NON è L C P F allora A8=non cambia H13 non cambia I13 non cambia
colonna d : se il primo carattere è C allora E13=CENTRINO
colonna d : se il primo carattere è P allora E13=PUNTA
colonna d : se il primo carattere è F allora E13=PUNTA
colonna d : se il primo carattere NON è C P F allora E13 non cambia
avrei ancora bisogno di un foglio nuovo ogni 17 "nome cn" D13 D14 D15......
i fogli nuovi dovrebbero avere il nome come da --> dopo.xls
domanda? è possibile impostare un formato predefinito di stampa..... adatta a orizzontale per tutta la cartella di lavoro.
è possibile che a partire dalla riga 13 il file originale abbia delle righe vuote, la suddivisione per 17 deve avvenire contando solo le righe con D13 piena.
sinceri ringraziamenti.
ciao
di Vecchio Frac data: 02/10/2012 10:51:57
Qui ci vuole un bel po' di lavoro manuale... lungo ma non impossibile :)
di mandoz (utente non iscritto) data: 02/10/2012 20:51:18
ciao vecchio frac,
è un'attività che svolgo manualmente da sempre. aspettare non è un problema.
di Vecchio Frac data: 02/10/2012 21:28:52
Stamattina in ufficio avevo anche cominciato a lavorarci per darti qualche idea su come procedere.
Ma poi mi sono distratto a lavorare ^_^
Mi aspettano alcuni giorni infernali, non posso promettere di starci su nel brevissimo periodo.
Comunque (supponendo di avere una Sub da associare a un pulsantino) tu hai già scritto tutto lo pseudocodice necessario... si tratta solo di tradurre in linguaggio VBA con la sintassi appropriata i tuoi SE e ALLORA, esattamente come li hai progettati.
Non ho capito molto la parte del foglio nuovo ogni 17 "nome cn".
Sul formato predefinito di stampa, l'altezza del formato A4 non cambia, cambia la quantità di dati in funzione del tipo e grandezza di carattere scelto per le celle. Presumo che si possa adattare (come da omonimo menu di stampa) ma bisogna vedere che non diventi un pasticcio (font troppo piccolo) per farci stare tutto in un foglio. Specifica meglio questa esigenza.
di mandoz (utente non iscritto) data: 02/10/2012 22:10:31
nella colonna D sono elencati i files da eseguire su macchine a controllo numerico. 17 è il numero massimo di righe stampabili al fine di ottenere una stampa leggibile. Inerentemente alla suddivisione dei fogli permettimi di aggiungere una richiesta - se le righe ( con D13 D14 D15 piene ) sono meno di 17 - i fogli dovranno essere divisi per categoria: lamatura - centrino - preforo - foro.
di Vecchio Frac data: 03/10/2012 14:08:15
Ho guardato con attenzione i due file (prima e dopo) e ho capito il meccanismo.
Domanda: invece di creare dei nuovi sottofogli ogni diciassette elementi, avevi già provato con l'interruzione di pagina? se sì, hai ottenuto un risultato soddisfacente? la riterresti una buona idea (proprio per non creare numerosi fogli all'interno del file "dopo")?
di Vecchio Frac data: 03/10/2012 16:22:41
Ho fatto dei progressi :)
Ti allego il file mandoz.zip, che contiene il file "mandoz prima 2.xls" (seconda revisione del tuo file originale) e "mandoz modello.xlt" che è un template (un modello) del file definitivo.
Mettili entrambi in una stessa cartella e apri "mandoz prima 2.xls".
Quindi avvia la macro con Ctrl-Shift-Q (c'è anche un post ite che te lo ricorda).
Il lavoro risultante (di pochissimi secondi) presenterà l'estrazione dei dati come da te voluto in un nuovo file "mandoz modello 1.xls" (che è basato appunto sul template .xlt).
E' ancora da rifnire, nel senso che va aggiustato per la stampa finale e per farcelo stare magari in orizzontale dentro un A4. Però mi interessava avere un tuo riscontro.
Vorrei anche una precisazione: al momento "se il primo carattere non è C, P o F allora la cella E13 non cambia": attualmente viene impostata al primo valore di E13 che incontra, se per caso questi valori cambiano è un (piccolo) guaio nel senso che tutta la colonna da E12 in giù assume il valore di E13.
Ma intanto gioca con questi due file e fammi sapere.
di mandoz (utente non iscritto) data: 03/10/2012 23:04:47
ciao vecchio frac,
proverò al più presto il tuo codice. per quanto riguarda la suddivisione, ho la necessità che ogni pagina abbia la tabella iniziale, capita spesso che debba modificare la tabella solo di alcuni fogli - devo anche rispettare un capitolato aziendale...
di Vecchio Frac data: 04/10/2012 09:00:58
Ma questo è facile, basta impostare le prime dodici righe come righe di intestazione in fase di stampa:
File --> Imposta pagina --> linguetta Foglio, proprietà "Righe da ripetere in alto".
Quello che ti ho mandato è una versione da completare, da esaminare per farmi sapere se siamo sulla buona strada :)
di mandoz (utente non iscritto) data: 04/10/2012 19:17:21
ciao,
ho testato il codice - anche se velocemente -
il carattere in rosso che vai ad aggiungere in A8 dovrebbe essere in grassetto
nel caso di punta e/o centrino le colonne H13 e J13 devono essere = - / -
la necessità della suddivisione dei fogli non è limitata alla stampa ,ma alle possibili modifiche da apportare manualmente alla tabella dei singoli fogli. questi fogli modificati andranno inseriti in un db per lo storico aziendale. questo storico deve avere per ogni foglio la parte iniziale di presentazione commessa e particolare.
di Vecchio Frac data: 04/10/2012 21:28:39
Avviso ai naviganti e in particolare a mandoz: domani non sono in ufficio e nel fine settimana non so quanto tempo potrò dedicare. Se passa troppo tempo, please ricordarmi di questa discussione in sospeso, semprechè, beninteso, non abbia già provveduto di tuo a fare qualche progresso (cosa sempre auspicabile e gradita).
Thx :)
Vuoi Approfondire?