Excel e gli applicativi Microsoft Office Help per file tutorial online

Login Registrati
Stai vedendo 25 articoli - dal 26 a 50 (di 106 totali)
  • Autore
    Articoli
  • #37142 Score: 0 | Risposta

    vecchio frac
    Senior Moderator
      272 pts

      Comunque, dal file di test che hai allegato al messaggio che era finito in spam, l'applicazione del principio non è diverso da quello che avevi già visto con il mio esempio, solo che hai utilizzato un range come sorgente di riga della listbox invece che una scansione di directory. In ogni caso poi associ alla proprietà Picture dell'immagine il percorso/nome di file prelevato da una delle colonne del listbox.

      C'è un On Error a inizio codice che è fuorviante perché in modo silente e subdolo non ti mostra gli errori di codice. Toglilo quando fai i test 🙂

      Per il resto, sarebbe da vedere il file che produce errore, non questo di test, perchè su questo tutto fila alla perfezione. Quando ottieni l'errore fai uno screenshot  e allegalo.

      #37148 Score: 0 | Risposta

      bitphone
      Partecipante
        1 pt

        Ho giusto 5 minuti per scrivere da casa,dove ho il file che sto cercando di modificare. Allego screenshots dell'errore e del debug. Il punto e' che non posso dare nelle proprieta' un range come nel file di test, ma dovrei seguire il percorso dove va ad attingere la cmb_Product. Quando non si ha il tempo necessario da dedicarci e' un casino.Grazie

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

        vecchio frac
        Senior Moderator
          272 pts

          bitphone ha scritto:

          non posso dare nelle proprieta' un range come nel file di test

          Bè perché no? Lo fai da codice. Nell'evento Initialize del userform imposti la proprietà ListBox.RowSource in modo opportuno.

          bitphone ha scritto:

          dovrei seguire il percorso dove va ad attingere la cmb_Product

          Non ho capito cosa intendi 🙂

          #37168 Score: 0 | Risposta

          bitphone
          Partecipante
            1 pt

            Mi sono perso....  

            #37170 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              272 pts

              Nel messaggio che ho recuperato dici:
              Non posso dare un nome alla selezione e riportarlo nelle proprieta' rowsource della Cmb_Product perche' mi restituisce l'errore. Il principio dovrebbe essere quello del file di esempio ma non capisco come far leggere dalla lista cmb_Product.

              Il codice può impostare la proprietà RowSource della combobox nella forma range("nome").address.

               

              #37171 Score: 0 | Risposta

              bitphone
              Partecipante
                1 pt

                Grazie, soprattutto perche' cerchi di farmi arrivare da solo alla soluzione. Da quello che ho capito in questo breve tempo di sbattimenti di testa con il VBA mi sono reso conto ( e correggimi se sbaglio ) che le istruzioni sotto forma di codici seguono una sorta di informazioni in lingua inglese, cose se stessimo parlando ad una macchina e volessimo fargli eseguire un ordine. Se volessi far comparire a schermo un messaggio gli do il comando msgbox"bla bla bla" se volessi far eseguire un operazione devo creare delle variabili e poi non fare altro che dirgli di eseguire l'operazione. In questo caso io voglio dire : Prendi il testo che scelgo dalla combobox e alla selezione inseriscimi l'immagine corrispondente nel riquadro immagine. Siccome, come detto nel primo messaggio, il programma non e' farina del mio sacco ma lo uso come un esercizio pratico per cercare di capire come funzionano i vari codici e fermo restando che mi servirebbe un corso, quantomeno base, di vba....mi sono perso nei meandri di un codice fatto da un altro...     Dovrei rifarlo da zero, da solo e con informazioni di base, ma non so se il risultato riuscirei a raggiungerlo....  

                #37173 Score: 0 | Risposta

                vecchio frac
                Senior Moderator
                  272 pts

                  Un applauso te lo meriti per la tenacia e la voglia di metterti in gioco   

                  Hai detto cose giuste sulla filosofia dei linguaggi di programmazione (in generale), non solo di VBA. La particolarità di questo linguaggio di scripting (ci infiliamo anche un po' di gergo, così entri nello spirito di squadra 🙂 ) è che è associato a delle Applicazioni specializzate (Word nell'editing dei testi, Excel nella manipolazione di dati e formule, Access nella gestione delle basi di dati, e altri  di Microsoft che condividono lo schema del "modello a oggetti"). VBA sta per Visual Basic (che ne è il padre fondatore) for Application (quindi è una versione di VB studiata per adattarsi alle Applicazioni menzionate).

                  Inoltre quando descrivi a parole un problema e ne configuri la soluzione, stai creando un algoritmo che in sè è risolvibile con qualsiasi linguaggio. Noi sfruttiamo il legame tra VBA e le applicazioni che lo supportano per fare meglio, più rapidamente e in modo automatizzato quelle operazioni che se fatte a mano risultano noiose, banali, ripetitive o semplicemente troppo lunghe.

                  Si parte di solito dal registratore di macro per analizzare uno schema di codice autoprodotto. Ma si spulcia anche il codice prodotto da altri, italiani e non: sapere l'inglese aiuta ma non è strettamente necessario (io ne sono un esempio vivente).

                  Rifare i propri progetti serve non solo per la propria crescita ma anche per la soddisfazione di un prodotto sempre unico. Dipende sempre dall'obiettivo che uno si dà 🙂

                  #37174 Score: 0 | Risposta

                  bitphone
                  Partecipante
                    1 pt

                    Parole sagge...grazie

                    #37206 Score: 0 | Risposta

                    bitphone
                    Partecipante
                      1 pt

                      Eccomi qua. Volevo aggiungere il seguente codice nella cmb_Product, e vorrei capire dove sbaglio e perche'.

                      If Me.cmb_Product.Value <> "" Then
                      Me.img_foto.Picture = LoadPicture(Application.WorksheetFunction.VLookup(Me.cmb_Product, sh.Range("B:E"), 4, 0))
                      End If

                      In pratica gli sto dicendo ( o almeno credo... ), se il valore della combo Prodotto e' diverso da nullo, allora inserisci nel riquadro img_Photo un immagine cge preleverai da questo progetto nel folio Product_Master nel range B:E alla posizione 4 ( che e' la E, dove ho inserito il link della foto ).

                      Ovviamente mi da errore e mi evidenzia tutta la riga me.img.........etc...etc.

                      #37208 Score: 0 | Risposta

                      vecchio frac
                      Senior Moderator
                        272 pts

                        Io sarei più tranquillo a consigliarti di usare Find invece che Vlookup in quel modo.

                        Se in colonna B ci sono i valori che selezioni nella combo, e in colonna E il percorso dei file immagine, allora

                        if cmb_product <> "" then 
                            set f = sh.range("B:B").Find(cmb_product, lookin:=xlvalues, lookat:=xlwhole)
                            if f is nothing then exit sub
                            img_foto.picture = laodpicture(f.offset(,3)
                        end if
                        

                        dovrebbe dare il risultato richiesto. 

                        #37217 Score: 0 | Risposta

                        bitphone
                        Partecipante
                          1 pt

                          Quindi il tuo codice dice: se il valore della cmb_Product e' nullo allora imposta f come range B, cerca e trova valori nella cmb_Product. Se f non c'e' allora esci dalla sub. Nella img_Photo carica l'immagine del range f alla riga 3.

                          Lo provero' stasera e ti aggiornero', ma e' un linguaggio veramente da scoprire, con tante sfumeture e modi di interpretare diversi.

                          #37219 Score: 0 | Risposta

                          vecchio frac
                          Senior Moderator
                            272 pts

                            bitphone ha scritto:

                            mi da errore

                            Che tipo di errore? Perché in sè la riga mi sembra corretta. Potrebbe essere che il file non esiste o non si chiama così?

                            #37220 Score: 0 | Risposta

                            vecchio frac
                            Senior Moderator
                              272 pts

                              bitphone ha scritto:

                              imposta f come range B, cerca e trova valori nella cmb_Product

                              Rectius: cerca in colonna B il valore selezionato in cmb_Product, se lo trovi restituisci un riferimento a tale cella e assegna il riferimento a una variabile di tipo range chiamata "f" (che diventa essa stessa una cella, dotata di tutte le proprietà tipiche, come Row e Column). La ricerca viene fatta per valori e non per formule, e deve interessare l'intero contenuto ("orto" deve restituire "orto" ma non "corto" o "ortolano").

                              bitphone ha scritto:

                              e' un linguaggio veramente da scoprire, con tante sfumeture e modi di interpretare diversi.

                              Infatti ci sono linguaggi migliori, con minori sfumature e possibilmente zero interpretazioni 🙂

                              Quello che volevi dire è che si può ottenere un risultato in modi diversi, sapendo utilizzare i metodi, le proprietà e i comandi più adatti allo scopo. Il bello dei forum è che spesso trovi soluzioni alternative tutte valide ma alcune più performanti di altre.

                              #37225 Score: 0 | Risposta

                              bitphone
                              Partecipante
                                1 pt

                                Grazie infinite per queste lezioni, bellissimo questo approccio e tu sei una persona veramente squisita. Piacevole conversazione.

                                #37229 Score: 0 | Risposta

                                vecchio frac
                                Senior Moderator
                                  272 pts

                                  Grazie. Aggiungo che davanti a una birra sarebbe anche meglio 😀 🍺

                                  #37238 Score: 0 | Risposta

                                  bitphone
                                  Partecipante
                                    1 pt

                                    Siamo un po distanti ma posso sempre offrirtela in differita....  

                                    #37242 Score: 0 | Risposta

                                    bitphone
                                    Partecipante
                                      1 pt

                                      Ho utilizzato sia il codice che avevo fatto io e sia quello che mi hai fatto tu con il find. In pratica non ho nessun errore, il file funziona come prima ma non mi restituisce la foto nella img_Photo. Il file esiste ed il collegamento l'ho preso dalla Tab Sicurezza nelle proprieta' del file.  

                                      #37244 Score: 0 | Risposta

                                      vecchio frac
                                      Senior Moderator
                                        272 pts

                                        L'immagine è in un formato supportato? (bmp o jpg ma non png).

                                        Allega file e un'immagine di prova.

                                        Se non puoi per motivi tuoi, scrivimi una mail in privato (io poi di solito cancello le mail con file riservati e del resto non me ne faccio niente 🙂 )

                                        #37246 Score: 0 | Risposta

                                        bitphone
                                        Partecipante
                                          1 pt

                                          Si, l'immagine e' supportata. E' la stessa che ho utilizzato per il test che avevo gia' allegato.

                                          Nessun problema ad allegare il file.Comunque per me e' solo un esercizio, nienete di segreto.

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

                                          bitphone
                                          Partecipante
                                            1 pt

                                             ..  

                                            #37252 Score: 0 | Risposta

                                            vecchio frac
                                            Senior Moderator
                                              272 pts

                                              Bè ma la soluzione è facile... e tutto funziona 🙂

                                              Tu nel codice hai impostato un offset alla quarta colonna dopo la B, ma deve essere la terza (nel mio codice era così infatti ^_^)

                                              Correggi così e vedrai che fila:

                                              Me.Image10.Picture = LoadPicture(f.Offset(, 3))
                                              #37254 Score: 0 | Risposta

                                              bitphone
                                              Partecipante
                                                1 pt

                                                Buongiorno, avevo provato ma mi restituiva un errore di percordo del file non riconosciuto ( o qualcosa del genere ). Poi ho copiato ed incollato di nuovo lo stesso percorso e me lo da alla perfezione. Ho visto che c'e' una specie di corso su questo sito. Me lo vado a vedere, chissa' non impari qualcosa.....sperando che sia per Dummies...

                                                #37255 Score: 1 | Risposta

                                                vecchio frac
                                                Senior Moderator
                                                  272 pts

                                                  Sì, era stato confezionato un buon lavoro ed è valido anche oggi, i principi fondamentali non son cambiati. Cambia magari un po' il modello ad oggetti dell'applicazione specifica (perchè vengono aggiunti nuovi componenti o vengono inserite nuove proprietà) ma i concetti restano gli stessi.

                                                  #37284 Score: 1 | Risposta

                                                  bitphone
                                                  Partecipante
                                                    1 pt

                                                    Immaginavo fosse tosto, del resto se una cosa non la fai con costanza non porta risultati concreti. E' il problema di chi ha una famiglia con 4 figli piccoli ( dopo il lavoro )...  

                                                    #37342 Score: 0 | Risposta

                                                    bitphone
                                                    Partecipante
                                                      1 pt

                                                      Ciao, sto seguendo ( oltre alla guida su questo sito ) dei tutorial di Gerardo Zuccala' che devo dire mi stanno aiutando molto. Nel file in allegato in passato ho notato che se non inserisco il prodotto o il type oppure la quantita' mi fa vedere correttamente i messaggi di errore impostati ma dopo mi blocca l'esecuzione della userform e mi da l'errore in allegato, e facendo il debug mi evidenzia la parte di codice della moltiplicazione tra la quantita' ed il rate ( anche in allegato ). Io ho provato a dirgli if me.cmb_Product.value<>"" or me.cmb_Type<>"" or txt_Qty<>"" then exit sub end if, ma non lo tiene in considerazione.

                                                      Allegati:
                                                      You must be logged in to view attached files.
                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 26 a 50 (di 106 totali)
                                                    Rispondi a: Help per file tutorial online
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: