Condividi:        

Inserimento dati su tabella da codice a barre

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 16/02/24 10:07

Per il BBingo, meglio chiamato Bullshit Bingo, puoi guardare qui: viewtopic.php?f=26&t=113273

Quanto alla tua situazione relativamente alla "Convalida", puoi provare a usare lo stile "Avviso" o "Informazione" (sono scelte impostabili nel tab "Messaggio di errore" del wizard di Convalida); in questo modo puoi accettare anche input diversi da quelli inizialmente in Elenco di convalida. Cosa fare dopo dipende non solo dalla creatività ma anche dalla capacità implementativa. Es:
a) non si fa niente (questa e' facile :D )
b) se la voce immessa non e' nell'elenco di convalida, puo' essere convertita in una voce standard utilizzando un dizionario di sinonimi..
c) ..oppure la si aggiunge alle voci di convalida

Ma quale e' la versione di Office che utilizzate?
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 16/02/24 15:51

Anthony47 ha scritto:
Codice: Seleziona tutto
            Case Is = 2                         'B..
                Target.Offset(0, 1).Select      '..C
            Case Is = 3                         'C..
                Target.Offset(0, 3).Select      '..F
            Case Is = 6                         'F..
                Target.Offset(0, 2).Select      '..H
            Case Is = 8                         'H..
                Target.Offset(0, 1).Select      '..I
            Case Is = 9                         'I..
                Target.Offset(0, 7).Select      '..P
            Case Is = 16                        'P..
                Target.Offset(1, -14).Select    '..B+1
       

Se non chiedo troppo mi spiegheresti questa parte dello script fornito prima che non l'ho capito?..

Anthony47 ha scritto:Ma quale e' la versione di Office che utilizzate?

Microsoft Office Home and Business 2021

Anthony47 ha scritto:Quanto alla tua situazione relativamente alla "Convalida", puoi provare a usare lo stile "Avviso" o "Informazione" (sono scelte impostabili nel tab "Messaggio di errore" del wizard di Convalida); in questo modo puoi accettare anche input diversi da quelli inizialmente in Elenco di convalida. Cosa fare dopo dipende non solo dalla creatività ma anche dalla capacità implementativa.

Provo a dare un'occhiata

Anthony47 ha scritto:Per il BBingo, meglio chiamato Bullshit Bingo, puoi guardare qui: viewtopic.php?f=26&t=113273

Grazie
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 16/02/24 16:19

Anthony47 ha scritto:b) se la voce immessa non e' nell'elenco di convalida, puo' essere convertita in una voce standard utilizzando un dizionario di sinonimi..

Indubbiamente è questa l'opzione a cui punterei. :D
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 16/02/24 17:52

Se non chiedo troppo mi spiegheresti questa parte dello script fornito prima che non l'ho capito?..
Il significato di questo codice e' facile da spiegare:
a) guardando la colonna in cui il cambiamento e' avvenuto (Case Target.Column)...
b) ... si imposta uno "scarto di colonna" per posizionarsi sulla colonna che deve seguire
Quindi se sono in B uso +1 (per andare in C); se sono in C imposto +3 (per andare in F); e così via...

Avendo Office2021 sarebbe abbastanza facile aggiungere all'elenco di convalida nuove voci; ma questo mi pare non sia il tuo obiettivo
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 16/02/24 18:53

Grazie per la spiegazione Anthony e buon weekend
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 19/02/24 11:39

Anthony47 ha scritto:Quanto alla tua situazione relativamente alla "Convalida", puoi provare a usare lo stile "Avviso" o "Informazione" (sono scelte impostabili nel tab "Messaggio di errore" del wizard di Convalida); in questo modo puoi accettare anche input diversi da quelli inizialmente in Elenco di convalida. Cosa fare dopo dipende non solo dalla creatività ma anche dalla capacità implementativa. Es:
a) non si fa niente (questa e' facile :D )
b) se la voce immessa non e' nell'elenco di convalida, puo' essere convertita in una voce standard utilizzando un dizionario di sinonimi..
c) ..oppure la si aggiunge alle voci di convalida

Pensavo di aver capito, ma invece no..

Immagine

Ho provato a leggere e cercare in giro riguardo l'argomento, ma non mi è chiaro come faccio a trasformare il dato.
Non vi sono possibilità di aggiungere macro nel messaggio di errore/info/avviso..
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 19/02/24 16:50

Eh, lo devi fare nella solita macro di WorksheetChange:
-se il valore appartiene all'elenco di convalida, tutto ok;
-se non appartiene? Qui interviene la tua creatività e tutto il resto.
Mi pare che tu vorresti controllare quanto inputato con una tabella di sinonimi, e se trovi il sinonimo inserirlo al posto del valore caricato; se non c'e' un sinonimo? Ripristina il valore precedente e chiedi una nuova scelta? Bacchettate all'operatore? (o al progettista?)
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 19/02/24 17:02

Anthony47 ha scritto:Eh, lo devi fare nella solita macro di WorksheetChange:
-se il valore appartiene all'elenco di convalida, tutto ok;
-se non appartiene? Qui interviene la tua creatività e tutto il resto.
Mi pare che tu vorresti controllare quanto inputato con una tabella di sinonimi, e se trovi il sinonimo inserirlo al posto del valore caricato; se non c'e' un sinonimo? Ripristina il valore precedente e chiedi una nuova scelta? Bacchettate all'operatore? (o al progettista?)

Le varianti sono un numero finito.. perciò ci sarà sempre un sinonimo e nel raro caso contrario lo aggiungerò successivamente.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 20/02/24 08:58

Ciao Anthony buongiorno,
dopo tutti i suggerimenti che mi hai dato credo di avere capito quale direzione intraprendere, però non trovo guide dettagliate e/o scritte in modo decente e/o non tradotte automaticamente.. il massimo che ho trovato al momento è questa guida sull'elenco a discesa condizionato che però non è chiara, io credo siano stati omessi dei passaggi.
Premesso questo, mi confermi che la strada è quella giusta?
Hai per caso delle letture alternative da propormi a riguardo?
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 20/02/24 13:42

No; quell'articolo descrive come si possono creare elenchi di convalida condizionati; tipo invece che tutte le provincie, solo le quelle di una Regione, se ne hai gia' scelta una.
Lavorando con 2021 il mio suggerimento e':
-in un'area prevedi di inserire tutte le voci che vuoi in elenco; es Z1:Z100
-in coda a questo elenco iniziale, ci puoi aggiungere piu' voci man mano che le esigenze cambiano

Il vero elenco di convalida lo crei in AA1, dove inserisci la formula
Codice: Seleziona tutto
=DATI.ORDINA(UNICI(Z1:Z100;;1))

Poi dove vuoi la convalida da elenco, come origine segni =$AA$1#

Puoi provare aggiungendo voci in colonna Z e te le ritrovi nella convalida

Ora la tua worksheetchange dovrebbe:
-Controllare se la voce immessa e' presente in colonna Z
-Se No, cerca la corrispondenza della voce immessa nell'area "Dizionario Voci e sinonimi" (da creare)
-Se la trova, sostituisce nella celle la voce con quella da "dizionario"
-Se non la trova? Devi decidere; ad esempio puoi aggiungerla in colonna Z in modo che rimanga l'evidenza di una aggiunta che in qualche modo va poi gestita
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 20/02/24 16:58

Non troverai nessuna "guida" che ti spiega come fare... quindi ti allego io un esempio
Puoi scaricarlo qui: https://www.dropbox.com/scl/fi/zxwambtp ... k4thh&dl=0

In Foglio1 l'area H2:H25 e' soggetta a convalida; l'elenco di convalida e' in Foglio2-C1 ed e' prodotto dalle voci scritte in B1:B100; lo "stile" della convalida e' di Avviso, che quindi consente anche di inserire voci non in elenco di convalida.
In Foglio2-L1:M25 c'e' il dizionario delle conversioni: in colonna L la voce da convertire, in colonna M il sinonimo da utilizzare.

Su Foglio1 e' inserita una Sub Worksheet_Change che controlla cosa e' stato inserito, eventualmente sostituisce la voce inserita con il suo sinonimo, se non trova un sinonimo aggiunge quella voce all'elenco di convalida evidenziandolo in rosso.
Il codice:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cvArea As String, cvElenco As Range, myCk
Dim DizArea As Range
'
'Parametri>>>:
cvArea = "H1:H25"                                       'Area Convalidata
Set cvElenco = Sheets("Foglio2").Range("B1:B100")       'Area con le voci di convalida
Set DizArea = Sheets("Foglio2").Range("L1:M100")        'Area del Dizionario
'
'Controlla se va fatta la verifica:
If Target.Count = 1 And (Not Application.Intersect(Target, Range(cvArea)) Is Nothing) Then
    myCk = Application.WorksheetFunction.CountIf(cvElenco, Target.Value)    'Controlla se l'input e' in elenco
    If myCk = 0 And Target.Value <> "" Then                                 'Non c'è
        Application.EnableEvents = False
        myCk = Application.VLookup(Target.Value, DizArea, 2, False)         'Cerca.Vert nel dizionario
        If IsError(myCk) Then                                               'Non c'è:
            With cvElenco.Cells(1, 1).End(xlDown).Offset(1, 0)              'Va in fondo all'elenco...
                .Value = Target.Value                                       '...ci aggiunge quel valore
                .Interior.Color = RGB(255, 200, 200)                        '...e lo coloora in rossastro
            End With
        Else                                                                'Se trova quella voce...
            Target.Value = myCk                                             '...sostituisce l'input
        End If
        Application.EnableEvents = True
    End If
End If
End Sub

Il file usa funzioni disponibili in XL2021 (e 365)

Vedi se trovi spunti utili al tuo lavoro...
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 20/02/24 18:45

Grazie Anthony! Mi studierò il file a fondo.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 21/02/24 08:59

Buongiorno Anthony,
da ieri sera sto guardando il file che mi hai passato.. mi è quasi tutto chiaro, solo non riesco a trovare il dizionario creato da te.
Pensavo di trovarlo in Formule/Gestione Nomi oppure in file/opzioni/strumenti di correzione, ma invece no.. non vedo nessun elenco a parte quello nel foglio2.

Immagine

Ma il dizionario è semplicemente un elenco o è qualche cosa in più?
Saranno almeno 3 giorni che cerco ma o trovo cose tipo questa da microsoft oppure riguardo il Thesaurus.

Secondo dubbio, ho notato che nel vocabolario nella colonna M i dati sono tutti in un menù a tendina.. è così per motivi di praticità nel riportare i dati o ha un suo scopo preciso? Cioè se nella colonna M ci fossero stati dati fissi e non in un menù a tendina andava bene comunque oppure no?

Intanto ti auguro una buona giornata e ti ringrazio ancora tanto per tutte le dritte che mi stai dando. ;)
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 21/02/24 15:16

Dopo aver passato ai raggi X il tuo file esempio ed aver eseguito un trilione di prove e test, finalmente mi è scattata la molla in testa ed ho capito. Ora funzionaaa!!!
Non ci sarei mai arrivato da solo senza questo file.. GRAZIE ANTHONY!

Ora l'unica cosa che rimane da sistemare per rendere il tutto perfetto è dare l'ok automatico alla finestra di avviso che si apre quando un dato non corrisponde, ma rientra nella seconda lista.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 21/02/24 21:07

E' possibile impostare la convalida in modo che non segnali nessun errore, senza pero' poter fare distinzione tra i vari casi.
Il mio suggerimento e' che imposti lo stile=Informazione, che ti propone come risposta di default "Ok" facilitando in questo modo la conferma (che puo' anche essere data con il lettore a barre, leggendo una "label" con solo 1 carattere)
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 22/02/24 08:40

Buongiorno Anthony,
Anthony47 ha scritto:E' possibile impostare la convalida in modo che non segnali nessun errore, senza pero' poter fare distinzione tra i vari casi.
Il mio suggerimento e' che imposti lo stile=Informazione, che ti propone come risposta di default "Ok" facilitando in questo modo la conferma (che puo' anche essere data con il lettore a barre, leggendo una "label" con solo 1 carattere)

Si infatti sto guardando per modificare il msgbox in avviso (che almeno è più pratico).

Questa mattina però sono incappato in un errore che non riesco proprio a capire:
Nella colonna H il menù a tendina funziona su tutti i computer tranne che su quello che utilizza il terminalista per fare entrare i mezzi.
Guardando il file sul mio pc, seleziono le celle da H2 a H201 e poi clicco su DATI/CONVALIDA DATI e l'origine dei dati che visualizzo è =$AA$52 (che è dove ho posizionato l'elenco), se invece ripeto il procedimento tramite il pc che l'operatore utilizza per fare entrare i camion visualizzo un'origine differente (vedi immagine di seguito) ed il menù a tendina non funziona.
Immagine

Se provo a cambiare l'origine dei dati per farlo funzionare, ricevo il seguente errore:
Immagine

Se vado a vedere nella cella AA52 vedo questo:
Immagine

Non riesco a capire.. perchè funziona su tutti i pc tranne che su quello dell'operatore?
Se guardo lo stesso file dal mio pc l'origine dati è corretta.
Perchè mi da errore se provo a modificare l'origine dei dati del menù?

Ti allego di seguito i files modificati da me
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 22/02/24 10:27

Dimenticavo... anche nella cella AA52 mi cambia i riferimenti e non è possibile modificarli.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi Anthony47 » 22/02/24 10:36

Anthony ha scritto:Il file usa funzioni disponibili in XL2021 (e 365)

Nel file che ti ho roposto come esempio nei giorni scorsi, l'elenco di convalida viene creato usando funzioni disponibili solo su XL2021 o XL365; e' probabile che tu hai ricreato la stessa situazione e "quel PC" usa una versione XL inferiore.
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 22/02/24 10:42

ah ok. Sento con il "programmatore" se si può aggiornare. Grazie Anthony.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

Re: Inserimento dati su tabella da codice a barre

Postdi systemcrack » 22/02/24 17:34

Abbi pazienza Anthony, ma è tutto il giorno che cerco e non riesco a trovare qualche cosa che mi sia utile, come faccio ad intercettare il messaggio per dargli lo "stile informativo"?
Ho provato ad aggiungere un messaggio nel codice che mi hai passato tu:
Codice: Seleziona tutto
Dim cvArea As String, cvElenco As Range, myCk
Dim DizArea As Range
'
'Parametri>>>:
cvArea = "H2:H201"                                       'Area Convalidata
Set cvElenco = Sheets("MERCI").Range("B16:B100")       'Area con le voci di convalida
Set DizArea = Sheets("MERCI").Range("D2:E50")        'Area del Dizionario
'
'Controlla se va fatta la verifica:
If Target.Count = 1 And (Not Application.Intersect(Target, Range(cvArea)) Is Nothing) Then
 MsgBox "Procedo?"
    myCk = Application.WorksheetFunction.CountIf(cvElenco, Target.Value)    'Controlla se l'input e' in elenco
    If myCk = 0 And Target.Value <> "" Then                                 'Non c'è
        Application.EnableEvents = False
        myCk = Application.VLookup(Target.Value, DizArea, 2, False)         'Cerca.Vert nel dizionario
        If IsError(myCk) Then                                               'Non c'è:
            With cvElenco.Cells(1, 1).End(xlDown).Offset(1, 0)              'Va in fondo all'elenco...
                .Value = Target.Value                                       '...ci aggiunge quel valore
                .Interior.Color = RGB(255, 200, 200)                        '...e lo coloora in rossastro
            End With
        Else                                                                'Se trova quella voce...
            Target.Value = myCk                                             '...sostituisce l'input
        End If
        Application.EnableEvents = True
    End If
End If

L'ho inserito semplice semplice per capire se esce nel momento giusto, ma mi si apre dopo l'altro avviso.
Immagino manchi qualche cosa.. se hai letture in proposito da propormi sono tutt'orecchi.
Avatar utente
systemcrack
Utente Senior
 
Post: 454
Iscritto il: 27/07/17 09:40

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Inserimento dati su tabella da codice a barre":


Chi c’è in linea

Visitano il forum: Nessuno e 16 ospiti