Login Registrati
Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #11758 Score: 0 | Risposta

    marco_budin
    Partecipante
      2 pts

      Buonasera a tutti!

      ho un problemino che vorrei sottoporvi, per poter trovare una soluzione grazie al vostro prezioso aiuto. Ho creato un file, dove inserisco in una cella un numero (cella B5) (il codice chiaramente l'ho trovato in internet e l'ho adeguato alle mie esigenze). quando si esegue l'invio, crea 5 codici a barre uguali uno sotto l'altro.

      Il problema nasce ora: se io scrivo nuovamente un altro numero nella cella B5, non mi cancella il codice a barre precedentemente creato e crea quello nuovo, ma lo sovrascrive a quello vecchio. alla fine si hanno un ammasso di linee uno sopra l'altro e il codice chiaramente non è più utilizzabile. Cioè dovrebbe cancellare quello precedentemente creato, e scrivere il nuovo codice.

      come posso fare? cè una parte del codice che devo modificare o aggiungere qualcosa? soprattutto come e cosa devo scrivere?

      vi allego un esempio.

      spero che qualcuno saprà darmi una soluzione, vi ringrazio anticipatamente!

      saluti
      Marco

      Allegati:
      You must be logged in to view attached files.
      #11768 Score: 0 | Risposta

      vecchio frac
      Senior Moderator
        272 pts

        I codici generati sono un'insieme di figure (shapes). Ti basterà selezionare tutte quelle del foglio attivo ed eliminarle prima di chiamare la funzione che genera il nuovo barcode.

        #11770 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          272 pts

          marco_budin ha scritto:

          come e cosa devo scrivere?

          C'è un metodo dell'insieme Shapes che fa al caso tuo, che seleziona immediatamente e senza errori tutte le figure del foglio attivo. Poi, su tale selezione, invochi la funzione di cancellazione.

          Il "dove" eseguire l'operazione: io lo farei nell'evento che intercetta la modifica della cella B5 , poco prima di scatenare la macro che genera il barcode.

          #11771 Score: 0 | Risposta

          Mister_x

            ciao

            VF ( che saluto ) ti a dato un indizio, io ti propongo un altro indizio tramite Help di VBA

            scrivi la parola ( Shapes ) nel modulo del foglio e seleziona questa, dopo fai F1 e ti si aprira' una finestra

            con 2 scelte , usa la prima con oggetto,

            al primo esempio prova a leggerti tuto e trovarai la soluzione di come impostare la selezione

            comunque dopo aver letto ai ancora problemi cercheremo di dirti come inserire questa senza essere rimproverati da VF

            ciao ciao 

            fai sapere e posta la soluzione che ai trovato

             

            #11773 Score: 0 | Risposta

            marco_budin
            Partecipante
              2 pts

              Ciao a tutti,

              vi ringrazio molto per i vostri preziosi consigli. ci provo e vi faccio sapere!

              saluti e a presto

              Marco

              #11776 Score: 0 | Risposta

              vecchio frac
              Senior Moderator
                272 pts

                ha scritto:

                senza essere rimproverati da VF

                ma che figura da cattivone ci faccio?   

                #11777 Score: 0 | Risposta

                albatros54
                Moderatore
                  89 pts

                  Modifica l'evento change cosi,prova e fai sapere

                  Private Sub Worksheet_Change(ByVal Target As Range)
                      Application.ScreenUpdating = False
                      If Not Intersect(Target, Range("b5")) Is Nothing Then
                          Set wsh = Application.ActiveSheet
                          With wsh.Shapes
                              For h = .Count  To 1 Step -1
                                  With .Item(h)
                                      If Left(.Name, 3) = "Con" Then                
                                          .Delete
                                      End If
                                  End With
                              Next
                  
                          End With
                          Call Barre128_S
                      End If
                      Application.ScreenUpdating = True
                  
                  End Sub
                  

                   

                  Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
                  Sempre il mare, uomo libero, amerai!
                  ( Charles Baudelaire )
                  #11805 Score: 0 | Risposta

                  Mister_x

                    ciao

                    come detto in precedenza se usiamo l'help di VBA riguardante ( Shapes ) troviamo la soluzione al problema , questo e' quello che troviamo su help excel 2007 in italiano

                    --------------

                    Esempio Utilizzare la proprietà Shapes per restituire l'insieme Shapes. Nell'esempio seguente vengono selezionate tutte le forme di myDocument.

                    Se si desidera eseguire un'operazione (quale l'eliminazione o l'impostazione di una proprietà) contemporaneamente su tutte le forme di un foglio, selezionare tutte le forme e utilizzare la proprietà ShapeRange sulla selezione per creare un oggetto ShapeRange contenente tutte le forme del foglio, quindi applicare all'oggetto ShapeRange la proprietà o il metodo appropriato.

                    Visual Basic, Application Edition
                    Set myDocument = Worksheets(1)
                    myDocument.Shapes.SelectAll

                    quindi qui dice di dichiarare il foglio di cui lavorare, ma nel nostro caso non serve in quanto siamo gia nel foglio di lavoro quindi modifichiamo la selezione con

                    ActiveSheet.Shapes.SelectAll

                    e a questo punto possiamo cancellare tutte le Shapes assieme in quanto sono state selezionate e attivate

                    Selection.Delete

                    quindi il tutto si traduce su due semplici righe 

                    spero di essermi spiegato

                    ciao ciao

                     

                  Login Registrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: generare BarCode
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: