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.
Buona sera a tutti quanti!
Sto tribolando da diverse settimane con delle formule...
Vi spiego cosa voglio fare:
"Nel mio magazzino ho:
- 218 utensili
- 10 utensili speciali
In sostanza nella pagina “Lista Prestiti” segno a chi è stato assegnato l'attrezzo (es. Casella 5C - questa avviene con una convalida dati con cui ho un elenco che fa riferimento alla pagina “Operai”). Sostanzialmente voglio avere la possibilità di sapere “in diretta” quali attrezzi abbiano sull’immediato vedendolo nella pagina “Operai” (Quindi 3D, 3F, 3H, 3J, 3L – presi nella colonna A del foglio “Lista Prestiti”, quindi dall’1 al 218 e poi dall’1-C al 10-C).
Ho questo parametro da rispettare:
Siccome nel foglio “Lista Prestiti” presto e poi recupero (è sequenziale, oggi lo presto, domani lo recupero e dopodomani lo ripresto) ho bisogno che mi dica solo l’utensile in uscita nell’istante e che poi chiaramente quando lo recuperi scompaia"
Vi ringrazio per la lettura, se non sono stato chiaro ditemelo pure
Ciao
Sarebbe utile avere uno stralcio del tuo file per capirne la struttura e dare consigli mirati. Bastano poche righe/colonne e le casistiche ipotizzate.
Ciao,
Mario
Ciao
Dopo aver formattato le colonne di destinazione dei dati come Generale o Numero, prova questa macro (che, comunque, ritengo si dovrà calibrare meglio)
Option Explicit Sub disponi() Dim ur As Long, i As Long, j As Long, k As Long Dim sh1 As Worksheet, sh2 As Worksheet Dim ope As String Set sh1 = Sheets("Operai") Set sh2 = Sheets("Lista prestiti") ur = sh1.Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To ur ope = sh1.Cells(i, 1).Value For j = 5 To 441 Step 2 If sh2.Cells(j, 3) = ope Then For k = 2 To 10 Step 2 If sh1.Cells(i, k) = "" Then sh1.Cells(i, k) = sh2.Cells(j, 1) Exit For End If Next k End If Next j Next i Set sh1 = Nothing Set sh2 = Nothing End Sub
Fai sapere. Ciao,
Mario
Ciao
Poichè le celle unite sono gestibili con difficoltà in VBA, ti suggerisco di modificare il tuo tracciato come da allegato.
Quando un Operaio restituisce un utensile basta cancellarlo e non viene riportato.
Vai al Foglio 2 e clicca sul pulsante blu in alto a sinistra.
Dimmi cosa te ne pare.
Ciao,
Mario
@marius44 sto avendo qualche difficoltà... appena ho tempo ti scrivo il perché
Nel frattempo grazie per il tuo aiuto e al tua tempestività 👍