Compilazione automa...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

Compilazione automatica celle di una tabella da un elenco generale

83 Post
5 Utenti
6 Reactions
8,233 Visualizzazioni
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 

Il file sarebbe bellissimo così com'è ma ogni volta trovo quanche nuova difficoltà. Probabile dipenda da me che non ho ben capito qualcosa. Sarebbe un gran peccato non riuscissi ad utilizzarlo.

Ho copiato il Foglio come mi hai detto di fare, poi l'ho rinominato ed ho anche aggiornato la macro affinchè agisca sul nuovo foglio. Quando però provo a modificare una cella (ho provato con D7; D7 e D9) con tasto dx (prima c'era TUBO ed ho provato ad inserire diversi altri componenti) rimane sempre e solo la possibilità di inserire i TUBI

 

 
Postato : 08/06/2021 07:13
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

si fa capo solo al foglio1

poi te lo sistemo

in pratica ora dovresti usare il foglio 1

per cambiare le convalide in tutti i fogli

porta pazienza con il vba sono lentissimo

 
Postato : 08/06/2021 08:53
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

cok

ti ho cambiato le macro

vedi ora

speriamo che qualche esperto vba ci metta le mani

ogni tanto sfarfalla e si vede il cambio foglio

ma funziona.

nel foglio

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("D5:D20000")) Is Nothing Then

Target.Value = ""
Target.Offset(0, -1) = ""
Tipo = InputBox("Inserisci prime lettere")
If Tipo = "" Then Exit Sub

Sheets("Materiali").Range("L1").Value = Tipo & "*"
Sheets("Materiali").Select
Call FiltraECopia_in_altra_colonna
 Call altracolonna
 Sheets("Piping Class 1 (Dettaglio)").Select

End If

End Sub

nel modulo

Sub FiltraECopia_in_altra_colonna()

 ActiveSheet.Range("$C$1:$C$20000").AutoFilter Field:=1
Range("$N$1:$N$20000").ClearContents
    ActiveSheet.Range("$C$2:$C$20000").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("L1"), _
        Operator:=xlAnd
   
Range("C2:C20000").SpecialCells(xlCellTypeVisible).Copy

    ActiveSheet.Range("I1").PasteSpecial Paste:=xlPasteValues
   Range("I1:I" & Rows.Count).AdvancedFilter Action:= _
        xlFilterCopy, CopyToRange:=Range("N1"), Unique:=True
       Application.CutCopyMode = False
    Range("$I$1:$I$20000").ClearContents

 
End Sub


Sub altracolonna()

 ActiveSheet.Range("$C$1:$C$20000").AutoFilter Field:=1
Range("$m$1:$m$20000").ClearContents
    ActiveSheet.Range("$C$2:$C$20000").AutoFilter Field:=1, Criteria1:=ActiveSheet.Range("L1"), _
        Operator:=xlAnd
   
Range("C2:C20000").SpecialCells(xlCellTypeVisible).Offset(0, -1).Copy

    ActiveSheet.Range("I1").PasteSpecial Paste:=xlPasteValues
   Range("I1:I" & Rows.Count).AdvancedFilter Action:= _
        xlFilterCopy, CopyToRange:=Range("M1"), Unique:=True
       Application.CutCopyMode = False
    Range("$I$1:$I$20000").ClearContents

        
End Sub

come al solito cambia i nomi foglio della prima macro

nel modulo non toccare niente.

 

 
Postato : 08/06/2021 10:10
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 
Postato da: @gianfranco55

ciao

si fa capo solo al foglio1

poi te lo sistemo

in pratica ora dovresti usare il foglio 1

per cambiare le convalide in tutti i fogli

porta pazienza con il vba sono lentissimo

OK, ho fatto qualche prova e direi di aver capito il funzionamento.

Ci mancherebbe... Sei tu a dover avere pazienza con me! Considera che fino a qualche giorno fa non avevo mai utilizzato un file excel con le macro.

 
Postato : 08/06/2021 10:20
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 

Ti allego un esempio (Esempio Finale MTO Piping) di come dovrebbe risultare il file finale. Come vedi in questo caso le Piping Class sono 4, ciascuna con una sua serie di tabelle.

Questo è utile per le prossime domande che vorrei farti (non sono più tante, non mi odiare...)

La prima riguarda i materiali.

Come vedi nel file "Esempio Compilazione Tabella" allegato ho rinominato il vecchio foglio "Materiali" come foglio "Componenti" (ho anche modificato la macro e funziona ?) ed ho aggiunto un nuovo foglio "Materiali" in cui ho inserito i diversi di materiali per tipologia di componente. Ci sarannno diverse tipologie di materiali per i tubi, altre per i raccordi (curve; tees; riduzioni ecc.) altre ancora per le guarnizioni, le bullonerie e così via.  Ora come ora, immagino una tendina nelle celle di "colonna E" da cui scegliere il materiale che mi serve. Considerando che la lista dei materiali per ciascuna tipologia andrà sicuramente ampliata inserendo nuove righe in mezzo a quelle gia esistenti, non so se questo sia il sistema migliore. Accolgo volentieri suggerimenti...

 
Postato : 08/06/2021 10:28
Marius44
(@marius44)
Post: 0
Moderatore
 

Salve a tutti

@gianfranco55

Alla buonora ti sei deciso a dedicare un po' del tuo tempo a VBA ? ? ? 

Ovviamente scherzo e son contento che sei arrivato a VBA. Non ho letto tutto ma mi riferisco solo al post odierno delle 11.10

Per evitare lo sfarfallio e la visualizzazione del cambio dei fogli prova a utilizzare

Application.ScreenUpdating  (serve per non visualizzare l'aggiornamento dello schermo) all'inizio della macro aggiungendo =False

che dovrai ripristinare prima di uscire dalla sub aggiungendo =True

Ti consiglio di leggere la Guida perchè un errore nel corso della macro potrebbe creare problemi. Al caso creati una sub come la seguente

Sub Ripristina()

Application.ScreenUpdating = True

End sub

Se la lanci l'aggiornamento dello schermo viene riattivato.

Fai sapere. Ciao,

Mario

 
Postato : 08/06/2021 10:55
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

Ciao

  Marius44

onestamente avevo disabilitato gli eventi

ma non so mai dove metterlo e mi bloccava tutto

allora l'ho levato

per Application.ScreenUpdating non mi ricordavo che esisteva ? 

 

 
Postato : 08/06/2021 11:14
emme
 emme
(@emme)
Post: 0
Moderatore
 

@marius44

Scusate l'intromissione, ma quando leggo Application.ScreenUpdating scatta la belva. E' una questione aperta con MS che ha fatto infuriare centinaia di generazioni di programmatori Vba che da sempre hanno usato questa istruzione per evitare, appunto, lo sfarfallio. Ma niente, non funziona più (almeno fino a ieri sera e non emette nessun errore!). Sembra che fino a Office2013 nell'istanza Excel potevano essere aperte N finestre (file) e quindi l'istruzione si applicava a tutto il progetto. Dal 2016 in poi ogni file è un'istanza diversa e questo si riverbera anche nello spostamento fra i fogli dello stesso file. MS ha dato riposta? No. Come si risolve?

Niente Sheets("Xy").Select, forse meglio Sheets("Xy").Activate ma meglio ancora With Worksheet("Xy").

Non è il massimo (tutti abbiamo dovuto rivedere decine o centinaia di progetti) ma le cose staranno così per l'eternità. Per cui meglio progettare con consapevolezza.

Buon lavoro.

 
Postato : 08/06/2021 11:17
Marius44
(@marius44)
Post: 0
Moderatore
 

Ciao 

@emme

Anche se mancano tante innovazioni, mi tengo stretta la mia versione 2010 ? 

Ho una versione 2016 ma l'ho disinstallata dopo qualche settimana (erano più i problemi che mi creava che i benefici).

Comunque hai perfettamente ragione quando ti riferisci all'utilizzo di With Worksheet("Xy").

Buon pranzo a tutti,

Mario

 
Postato : 08/06/2021 11:59
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 

 

Aggiornamento...

Per quanto riguarda la compilazione dei materiali, mi sono basato su quella dei diametri ed ho applicato la stessa la logica per creare un menù a tendina per la compilazione dei materiali. Mi direte voi se ho fatto bene, ma credo di si.

Vado un passo oltre e non so se quanto sto per chiedervi sia fattibile:

Per tutte le tabelle di ciascnu foglio "Piping Class ..." bisognerà realizzare un foglio di riepilogo (che ho aggiunto al template su cui stiamo (ehm.. state) lavorando.

Il foglio di riepilogo come vedete riporta tutti i materiali (ordinati per categoria) ed a fondo pagina il peso totale (che dovrà corrispondere a quello in cella K1 di ciascun foglio "Piping Class ...").

La mia domanda è la seguente: E' possibile avere questa compilazione in automatico? Tenete presente che l'elenco sul foglio "componenti" potrebbe dover essere integrato con nuovi elementi

Questo post è stato modificato 4 anni fa da vitt
 
Postato : 08/06/2021 13:36
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

per le convalide

teoricamente si potrebbe fare con le formule

per il resto

devi usare tutto vba

 

vediamo se marius interviene

io ci metto una vita

 

comunque mi sembra più da access che da excel

quello che stai facendo

 
Postato : 08/06/2021 23:27
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 

Ok, immaginavo sarebbe stato complicato.

Salvo "miracoli" mi accontenterò di fare come ho sempre fatto con filtro, copia e incolla...

 
Postato : 09/06/2021 07:00
Forum 1
 vitt
(@vitt)
Post: 0
New Member
Avviatore di Topic
 

Io direi che il file possa andare molto bene così. Sono più che soddisfatto. Un ringraziamento particolare a gianfranco55 che ha pazientemente risposto alle mie richieste.

 

Chiedo solo un'ultima cortesia:

Ho un file analogo, molto più semplice, al quale dovrei applicare lo stesso criterio utilizzato per la compilazione delle tabelle precedenti.

In pratica, nel foglio MTO Singoli supporti, devo compilare le celle realtive all descrizione ed in automatico vorrei che venissero associati il materiale ed il peso unitario facendo riferimento al Foglio Componenti.

Ho utilizzato come base il file del piping e cercando di adattarlo sono riuscito ad associare il peso complessivo in cella I1, ho rinominato i Fogli ed aggiornato con lo stesso nome nella Macro ma ad un certo punto mi sono perso... ?

 
Postato : 09/06/2021 09:03
Marius44
(@marius44)
Post: 0
Moderatore
 

Buon pomeriggio a tutti

Il buon @gianfranco55 (che saluto caramente) mi invita ad intervenire il che mi fa molto onore ma non son capace di reggere "''onere".

Abbiamo una discussione di una 60ina di post che se uno cerca di leggerli tutti e prova a scaricare i file allegati poco ci manca che lo rinchiudono alla neurodeliri.

In sovrappeso il carissimo @vitt viene fuori con altra richiesta per un file "simile" (molto più semplice, dice lui) ma per il quale io non capisco cosa vuoi fare. Fra l'altro, aprendo il file mi compare il messaggio che ci sono collegamenti che non è possibile aggiornare. Aggiungo che nel Foglio MTO Singoli supporti in col.C vi è (dovrebbe esserci) una Convalida dal nome "=FONDELLO" per il quale nome non trovo alcun riferimento.

Il mio suggerimento è: apri un'altra discussione (puoi anche indicare questa per qualche riferimento), allega il file e spiega bene quale è l'obiettivo.

 

Ciao,

Mario

 
Postato : 09/06/2021 16:42
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao Marius

non ti volevo intrappolare eh! ? 

per il primo file lo rivedo questa sera

è che fare un ciclo che mi prelevi i dati da tutti i fogli io ci metto una vita.

per le convalide ho già un'idea ( faccio lo stesso percorso delle prime)

oppure essendo pochi dati lo faccio con le formule.

 

il problema è che il buon Vitt non mette una intestazione uguale all'altra ? 

 

per l'ultimo file non l'ho ancora visto

fino a questa sera sono occupato come nonno e ti dirò

mi piace

 
Postato : 09/06/2021 17:37
Marius44 and Marius44 reacted
Pagina 5 / 6
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download