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!