› Excel e gli applicativi Microsoft Office › Creazione di immagine QR o BareCode in automatico
-
AutoreArticoli
-
Buona sera a tutti,Volevo fare una domanda.ho necessita di creare dei codici QR o BareCode (code128) in excel.Ho un file excel, scheda paziente. Quando arriva un paziente scrivo i dati anagrafici e nella cella A3 assegno un numero. Quando stampero il formulario compilato in alto appare il numero rappresentato nella cella A3.Vorrei che il numero nella cella A3 sia trasformato in un immagine (che io posiziono dove voglio nel foglio excel) con rappresentato il QR o BareCode (code128). Cosi in alto al formulario apparirà il codice.Quando arriva un altro paziente il numero cambia, e automaticamente si aggiorna il codice.io attualmente vado sul sito h_ttps://barcode.tec-it.com/it/Code128?data=ABC-abc-1234 e poi creo il codice e poi lo copio nel file excel in altoC'è un sistema semplice e veloce?Ringrazio tutti anticipatamente per l aiutoBuona serataMarcosi può fare con una macro, allega un file di esempio indicando anche in quale cella vuoi il qrcodeCiao Patel!ti ringrazio per la tua pronta risposta.Ti allego il File.spero che mi saprai aiutare. salutiMarco
Allegati:
You must be logged in to view attached files.ti avrei risolto subito il problema col qrcode, per il barcode devo documentarmi.Nel foglio originale ci sono elementi grafici ?Grazie Patel.Cioe se è un grosso problema proviamo con il qr.In che senso elementi grafici? Cioe è tutto scritto nelle celle, unics immagine sarebbe appunto il codice qr o codice a barre. Sarebbe meglio se a immagine, cosi poi lo posso spostare.prova il file allegatoAllegati:
You must be logged in to view attached files.un saluto a patel,c'è una strada molto piu semplice, per il barcode:vai in internet e scarichi il font EAN-13.ttf o il font code128.ttf, una volta scaricati , vai nella dir windows/fonts è inserisci questi font.Apri Excel, riferendomi al tuo file , formatta la cella A4 con i fonts EAN-13 o code128, è inserisci il riferimento nella barra delle formule =A2, dovresti vedere il codice a barre riferito alla cella A2, se è troppo piccolo, ingrandisci il font della cella A4.Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)
Ciao Albatros, grazie per la dritta, mi ricordavo che c'era un modo semplice ma non ricordavo quale.Ciao patel una curiosità ero di passaggiocome si potrebbe otttenere il tutto con qrGraziequesto codice preleva i nomi dalla colonna C e inserisce i QR nella DSub Qrcode() Dim cella As String LastRow = Cells(Rows.Count, "A").End(xlUp).Row ' 200x200 è la dimensione url1 = "http://chart.apis.google.com/chart?chs=200x200&cht=qr&chld=H|0&chl=" For r = 2 To LastRow cella = Range("C" & r).Text url2 = URLEncode(cella, True) url = url1 & url2 Range("D" & r).Select ActiveSheet.Pictures.Insert (url) Next Range("C" & r).Select End Sub Public Function URLEncode(StringaIn As String, Optional Spaziopiu As Boolean) As String Dim LungStringa As Long, i As Long, CodiceChar As Integer Dim Char As String, Spazio As String LungStringa = Len(StringaIn) If LungStringa > 0 Then ReDim risultato(LungStringa) As String If Spaziopiu Then Spazio = "+" Else Spazio = "%20" For i = 1 To LungStringa Char = Mid(StringaIn, i, 1) CodiceChar = Asc(Char) Select Case CodiceChar Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 95, 126 risultato(i) = Char Case 32 risultato(i) = Spazio Case 0 To 15 risultato(i) = "%0" & Hex(CodiceChar) Case Else risultato(i) = "%" & Hex(CodiceChar) End Select Next i URLEncode = Join(risultato, "") End If End FunctionCiao Patel!sei un grande. scusami il ritardo nella mia risposta. Ho visto ora il file che hai generato Quello con il codice Code128. è fantastico. Unica cosa che ho notato. Come faccio eventualmente a crearne un altro? cioè ho provato a riinserire una nuova cifra nella cella A3 e ha sovrascritto il codice precedentemente presente. In se dovrebbe cancellarlo e creare uno nuovo.Altra domanda, se dovessi farlo spostate il codice o farlo apparire da un altra parte, che parte del codice devo modificare? Cioe se volessi che il codice appare in F1. ce una parte del codice che dice dove posizionarlo?scusami per tutte le domande, ti ringrazio molto per il tuo aiuto!salutiMarcoper cancellare il precedente modifica la rigaIf Left(s.Name, 3) = "Lin" Then s.DeleteinIf Left(s.Name, 3) = "Str" Then s.Deleteper spostare il code occorre andare a tentativi modificando le coordinate della rigaCall Code128Generate(5, 25, 13, 1.1, ThisWorkbook.Sheets(1), Range("A3").Text)i numeri 5 e 25 cono le coordinate grafiche.Io ti consiglio però di seguire il suggerimento di Albatros al post #1859 è molto più sempliceCiao Patel.Ti ringrazio moltissimo per il tuo prezioso aiuto, e ti auguro una buona serataAlla prossimaMarcoCiao Patel! scusa se ti disturbo ancora,Per la creazione del codice a barre con macro, ho provato a far apparire su un altra pagina il codice. Come vedi nel nuovo allegato ho una pagina (Dati principali) dove nella cella A3 metto appunto il numero da generare, e il codice dovrà generarsi nella pagina Anamnesi e Fattura. Cosa devo inserire nel codice:Call Code128Generate(5, 25, 13, 1.1, ThisWorkbook.Sheets(1), Range("A3").Text)per ottenere che lo metti nelle due pagine, sempre nella stessa posizione. Poi una volta generato torna nella pagina Dati Principali in A3ti ringrazio anticipatamente,salutiMarcoAllegati:
You must be logged in to view attached files.modifica cosìSub a() Call Code128Generate(5, 25, 13, 1.1, Sheets(2), Sheets(1).Range("A3").Text) Call Code128Generate(5, 25, 13, 1.1, Sheets(3), Sheets(1).Range("A3").Text) End Sub Sub Code128Generate(ByVal X As Single, ByVal Y As Single, ByVal Height As Single, ByVal LineWeight As Single, _ ByRef TargetSheet As Worksheet, ByVal Content As String, Optional MaxWidth As Single = 0) Dim WeightSum As Single Const XmmTopt As Single = 0.351 Const YmmTopt As Single = 0.351 Const XCompRatio As Single = 0.9 For sh = 2 To 3 For Each s In Sheets(sh).Shapes If Left(s.Name, 3) = "str" Then s.Delete Next Next Puoi usare soltanto il pulsante del primo foglio. Ma perché insisti con la macro ? non ti funziona la soluzione del Font ?Ciao Patel,ti ringrazio moltissimo dell'aiuto. ma non bisogna mettere il nome del Foglio? basta inserire Sheet (1)? pensavo bisognasse mettere il nome. Ti faccio sapere se funzionaComunque per quello che riguarda i Font, purtroppo non posso usarli, perché utilizzando questo Excel su un PC da lavoro, le installazioni sono bloccate e quindi non posso far inserire un Font.ti ringraziosalutiMarcoCiao Patel. ho un altro File, dove devo mettere dentro il codice a barre. Il numero lo metto in "Dati principali" A3, mentre il codice deve apparire nell'altro "Anamnesi".Ho scritto:Sub a() Call Code128Generate(5, 25, 13, 1.1, Sheets("Anamnesi"), Sheets("Dati principali").Range("A3").Text) End Sub Sub Code128Generate(ByVal X As Single, ByVal Y As Single, ByVal Height As Single, ByVal LineWeight As Single, _ ByRef TargetSheet As Worksheet, ByVal Content As String, Optional MaxWidth As Single = 0) Dim WeightSum As Single Const XmmTopt As Single = 0.351 Const YmmTopt As Single = 0.351 Const XCompRatio As Single = 0.9 For Each s In ActiveSheet.Shapes If Left(s.Name, 3) = "str" Then s.Delete Next sPerò non funziona. cioè lo mette, ma non lo cancella... devo aver sbagliato a scrivere le ultime righe...ti ringrazio per la tua pazienza.salutiMarcoCiao Patel, ho scoperto, che anche il tuo codice che mi hai dato tu nel post #1965 non cancella il codice precedente.magari trovi una soluzione come sempre!in attesa ti auguro una buona serata e ti ringrazioMarcola cancellazione del codice precedente avviene quiFor Each s In ActiveSheet.Shapes If Left(s.Name, 3) = “str” Then s.Delete Next s ma il foglio attvo è Dati principali quindi non funziona, devi cambiare così: For Each s In Sheets(“Anamnesi”).Shapes If Left(s.Name, 3) = "str" Then s.Delete Next s
Ciao Patel, funziona! Ti ringrazio davvero tanto per la pazienza e per L aiuto che mi hai dato!ti auguro una buona serataalla prossimamarcoBuongiorno a tutti,
avrei bisogno anche io di creare con excel un qr code. Nello specifico vorrei convertire i valori presenti nella colonna C ed inserire i rispettivi qr code nella colonna D. Ho provato a creare una macro incollando il testo in vba di Patel del 13/02/2018 alle 8:11 ma non mi funziona. mi viene selezionata la casella C2 ma nella colonna d non succede nulla. mi potete aiutare? uso excel 2013.
grazie a tutti
Buongiorno a tutti,
Ciao, apri una discussione tua, separata da questa, di solito non ci si accoda a discussioni esistenti per porre quesiti diversi (anche se simili).
-
AutoreArticoli
