› Excel e gli applicativi Microsoft Office › Restituzione di più valori da un foglio all'altro vincolato ad una ricerca
-
AutoreArticoli
-
Add bookmark
#1
Buongiorno a tutti,
non ho tantissima esperienza in excel e ho fatto questo file da tutorial e intuizioni prese qua e la quindi scusate in anticipo se dico cose senza senso. Ho creato due fogli, uno con una programmazione di orario dei dipendenti divisi per tre negozi, l altro con un resoconto diviso per dipendente. Io avrei bisogno che nel foglio due venisse riportato sotto ogni dipendente il riferimento al foglio uno, quindi in poche parole, la funzione dovrebbe andare a cercare in tutto il lunedi, martedi ecc nei tre punti vendita il nome del dipendente, e se c è restituire nel foglio 2 sotto il suo mone l orario di entrata e il punto vendita in cui si trova. dovrebbe anche riconoscere se nella stessa giornata di lunedi si trova in due punti vendita differenti.grazie mille per la disponibilità
DadaAllegati:
You must be logged in to view attached files.ciao
hai risolto spostandoti in un forum dove il cross posting è vietato
felice per te
Ma come può essere marcata come risolta una discussione che non è neppure cominciata?
Salve, sinceramente non mi voglio addentrare in particolari vincoli se siano giusti o no, ho semplicemente fatto una domanda ed ho seguito delle regole.. vorrei solo riuscire a risolvere un problema, non crearne altri.
ciao
nessun problema ma permetti
non è simpatico vedere chiudere una richiesta in pochi minuti per poi trovarla su un'altro forum.
Non ti fidi pazienza ma non è carino per noi.
ma ti assicuro problemi zero
Salve, hai perfettamente ragione. errore mio purtroppo. uno da un forum si aspetta semplicemente un aiuto... non mille regole
uno da un forum si aspetta semplicemente un aiuto... non mille regole
Non abbiamo "mille regole".
Sono poche, molto elastiche e la tolleranza qui è massima.
Però in effetti hai "risolto" senza nemmeno dire come hai risolto (quel "risolto" vuol dire questo... altrimenti puoi chiedere semplicemente la cancellazione o la chiusura del thread). Cioè arrivi, spari qualcosa e chiudi senza nemmeno salutare, anzi sollevi un velo di polemica se ti fanno notare qualcosa.
Non è carino, dai.
Tuto quello che dici è vero, mi scuso. Non mi riferivo a questo forum. Il fatto è che il problema rimane, ho fatto solo un errore di valutazione.
In conclusione non ho capito se la tua richiesta è ancora valida.
Attento all'altro forum però, perchè se la loro regola vieta il cross posting rischi la chiusura del thread aperto altrove. Forse devi avvertire i loro moderatori.Forse devi avvertire i loro moderatori.
Si il post è ancora valido, non pensavo ci fosse tutto sto diritto di prelazione altrove. Ho solo un problema che vorrei risolvere, niente di più davvero... puoi aiutarmi?
Caspita per come è strutturato il foglio la vedo macchinosa e complicata e serve del tempo (almeno a me serve del tempo), inoltre non so quanto diventa complessa solo con formule, senza VBA
Me lo immaginavo.... e con VBA come potrei affrontare il problema? Sinceramente, escluso qualche pillola che ho messo insieme tempo fa per un file non so molto di VBA... però imparo alla svelta
Ho esaminato attentamente la problematica, direi che senza VBA è un bagno di sangue
Ci posso anche provare ma come ripeto serve un (bel) po' di tempo.L'idea è prelevare dipendente per dipendente (ovviamente), cercarlo negozio per negozio, quando trovato recuperare le informazioni sull'orario e inserirlo nello specchietto riepilogo, nella data corretta (che si ricava dal medesimo foglio su cui si cerca il dipendente). Non proprio banale
e forse servirà qualche
Ho esaminato attentamente la problematica, direi che senza VBA è un bagno di sangue
Ci posso anche provare ma come ripeto serve un (bel) po' di tempo.Ieri sera c'ho provato anch'io con la birra... non funziona mica sai... almeno per me.. comunque grazie mille per la pazienza
Aggiornamento
Sono sulla buona strada... metà lavoro è fatto. Temevo peggio
Aggiornamento
Maledetta ultima birra😂😂
Allego la mia proposta.
Ammetto che non è un campione di leggibilità nè di costruzione... si può fare di meglio. Sullo scenario fornito funziona. Devo aggiungere che ho dovuto leggermente modificare la struttura dello specchietto riepilogativo perchè tra un blocco e l'altro ci va una sola riga vuota (lo vedrai nel foglio GEN. RAGAZZE (3).
Nel file ho mantenuto la copia del foglio GEN.RAGAZZE (3) originale solo per confronto.
Nel file che allego trovi due pulsanti nel foglio del riepilogo, usa quelli per lanciare il codice.
Se la struttura del foglio in questione è diversa nel tuo file di produzione e non può essere cambiata, il codice che ripulisce l'area deve essere modificato altrimenti non funzionerà bene nemmeno la macro principale.
Se vuoi posso provare a riorganizzare il codice per semplificarlo ma la strada intrapresa mi sembra la più idonea (due dizionari che tengono conto dei dati dei dipendenti, univoci e complessivi con negozio, data e orari).
Allegati:
You must be logged in to view attached files.Mi dava fastidio costringere un utente a modificare la struttura del suo file... ho piegato il codice al mio volere
Allego la nuova versione del file, adesso l'area di riepilogo viene svuotata correttamente anche se fra le tabelle dei dipendenti (foglio GEN.RAGAZZE (3)) ci sono più righe in mezzo, anche in modo non omogeneo.
In particolare la nuova routine di pulizia del foglio è questa; è un po' una furbata ma mi sembrava giusto non costringerti a cambiare il tuo file che probabilmente è già impostato e contiene delle formule che non possono essere toccate facilmente.
Sub pulisci_specchietto() 'azzera la zona dello specchietto che viene compilata dalla procedura sopra Dim r As Range Dim ar As Range Set r = Foglio2.Range("C1:C500,I1:I500,O1:O500").SpecialCells(xlCellTypeFormulas) For Each ar In r.Areas ar.Offset(1).Resize(14, 3).ClearContents Next Range("A1").Select End Subedit by VF: corretto un refuso nel testo e aggiunto Foglio2 nel codice, perchè così può essere lanciato da qualunque foglio mediante Alt-F8 e manterrà il riferimento corretto al foglio su cui lavorare.
Allegati:
You must be logged in to view attached files.Ciao boss
"Range.Areas" cosa ritorna? Mai usata, conosco "Range.CurrentRegion" e "Foglio.UsedRange" !!In caso di intervalli multipli, si può accedere a singole zone dell'intervallo complessivo perchè Excel lo suddivide in "Areas" che sono oggetti Range e definiscono un intervallo sottoinsieme dell'intervallo multiplo.
Nell'intervallo definito da Range("C1:C500,I1:I500,O1:O500"), la prima area è Range(...).Areas(1) e corrisponde a Range("c1:C500").
Ciclando con un For Each attraverso l'intervallo multiplo puoi catturarne ogni singola Area dell'insieme Areas.
Un concetto simile vale anche per le celle unite che sono una bestia nera dei programmatori 🙂
Mi dava fastidio costringere un utente a modificare la struttura del suo file... ho piegato il codice al mio volere
Innanzitutto grazie mille per il tempo che ci hai dedicato... mi sembra di rivedere un po me quando rinizio a fare qualcosa solo perche ho dovuto cedere ad un compromesso
ho aperto il file, cliccato su compila specchietto, ma la pagina rimane sempre vuota.... sai dove sbaglio o cosa non va?
Hai fatto ABILITA MACRO?
ciao! si si, la macro vedo che lavora ma non restituisce il risulatato
-
AutoreArticoli
