Caricare magazzino Excel con codice a barre
Occupandomi di ERP, gestione magazzino e tutto ciò che è correlato, dall’acquisto alla produzione e la vendita, è naturale pensare a un sistema di completo di gestione che includa la contabilità e tutto ciò che è correlato.
Spesso però l’esigenza può essere anche più semplice ed immediata per la gestione operativa quotidiana.
A fronte di una richiesta specifica quindi ho ‘giocato’ un pò con un’applicazione per smartphone per la lettura di codici a barre e creato una semplice macro con excel per leggere un’anagrafica articoli di excel e compilare velocemente una distinta da utilizzare per inventario, caricamento magazzino o anche una semplice distinta di consegna merce.
Ho scoperto un’ottima applicazione per smartphone (nel mio caso Android) che si chiama Barcode to PC.
A differenza di molte App, che si limitano a leggere un codice a barre , questa è composta da una componente ‘Server’ che si installa su un PC Windows (ma anche su sistemi Apple o Linux) ed un’App per smartphone che comunicano immediatamente in tempo reale tramite rete WI-FI.
L’installazione è davvero immediata e non richiede alcun passaggio aggiuntivo se non scaricare la parte server, la parte ‘client’ su smartphone ed avviarle.
Per lo scopo ho creato un file Excel composto di due fogli: uno per le anagrafiche dei prodotti con i relativi Barcode ed uno con la distinta.
Ho quindi creato una macro VBA che ricerca il codice nell’elenco e l’aggiunge nella distinta.
Sub AggiuntaProdottiDistinta() ' ' AggiuntaProdottiDistinta Macro ' ' Scelta rapida da tastiera: CTRL+MAIUSC+K ' Dim LastCell As Range Dim SearchCell As Range Dim ProductRow As Range Dim LastCellColRef As Long 'Impostiamo la cella di ricerca Set SearchCell = Sheets("Articoli").Cells(2, 2) 'MsgBox SearchCell 'Ricerchiamo il barcode Cells.Find(What:=SearchCell, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Select Set ProductRow = Selection 'Emettiamo un beep di sistema per notificare l'acquisizione Beep 'Troviamo la prima riga vuota disponible nel foglio distinta LastCellColRef = 1 Set LastCell = Sheets("Distinta").Cells(Rows.Count, LastCellColRef).End(xlUp).Offset(1, 0) 'Copiamo e incolliamo la riga sulla quale abbiamo trovato il prodotto Range(Cells(ProductRow.Row, ProductRow.Column), Cells(ProductRow.Row, ProductRow.Column + 4)).Select Selection.Copy Sheets("Distinta").Select LastCell.Select ActiveSheet.Paste 'Ci riposizioniamo sulla cella di ricerca per la scansione barcode successiva Sheets("Articoli").Activate SearchCell.Activate SearchCell.Select Set LastCell = Nothing End Sub
Il codice è commentato e abbastanza auto esplicativo, la cosa interessante è che l’applicazione Barcode to PC permette anche di impostare la combinazione di tasti da inviare dopo avere eseguito la scansione del codice a barre per cui niente di più semplice che impostarla per eseguire la nostra macro VBA dopo aver acquisito il barcode!
Naturalmente questo è un esempio molto schematico che può essere integrato con diverse logiche (codici sconto, listini, etc.) però può essere sicuramente un’ottima base per definire qualsiasi logica ‘smart’ di gestione operativa.
Trovate il file con la macro VBA qui https://robertozanardo.com/wp-content/uploads/2022/04/Caricamento_distinta_magazzino_da_Listino.xlsm.
Qui invece un breve video di esempio:
Per qualsiasi necessità o chiarimento potete scrivermi nei commenti o contattarmi tramite l’apposito form.
Buon lavoro!