Sviluppare funzionalita su Microsoft Office con VBA confronto tra celle fogli diversi

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

    BOLDOS75
    Partecipante

      Buonasera.

      Volevo esporvi la mia necessità per creare una macro per fare quanto di seguito. 

      Ho in un file il foglio 1 e il foglio 2.

      Devo cercare nella riga 1 cella A1:BT1  del foglio2 la stessa data che si trova foglio1 es.(01/03/2023)   

      Vorrei che la macro  cercasse la data che inserisco nel foglio1 cella A1  nella riga 1  cella A1:BT1 del foglio 2 e se la trova si posizioni sulla cella dove c'è la stessa del foglio1.

      Ho creato un file con vari moduli ma non riesco a far funzionare niente, se qualcuno mi aiuta.

      Allego il file e ringrazio

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

      tanimon
      Partecipante
        16 pts

        prova

        trovi un pulsante sul foglio 1 e la macro nel modulo 6

         

        Option Explicit
        
        Sub cerca()
        Dim area_cerca As Range, r As Long, c As Long, cercato As Date, trovato As Object, sh As Worksheet
        
        Set sh = Sheets("Foglio2")
        
        Set area_cerca = sh.Range("a1:bt1")
        
        With sh
            cercato = Sheets("Foglio1").Range("a1")
                
                With area_cerca
                    Set trovato = .Cells.Find(cercato, LookIn:=xlValues, lookat:=xlWhole)
                    If Not trovato Is Nothing Then
                       r = trovato.Row
                       c = trovato.Column
                       Sheets("Foglio2").Activate
                       Cells(r, c).Select
                    End If
                End With
          
        End With
        Set sh = Nothing
        Set area_cerca = Nothing
        Set trovato = Nothing
        End Sub
        

         

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

        alfrimpa
        Partecipante
          32 pts

          @tanimon

          Frank ma non bastava un WorksheetFunction.Match?

          #39746 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            272 pts

            Un codice molto pulito Frank   

            In alternativa a questo:

            tanimon ha scritto:

            Sheets("Foglio2").Activate
            Cells(r, c).Select

            si può scrivere:

            application.goto worksheets("Foglio2").cells(r, c)

            #39747 Score: 0 | Risposta

            gianfranco55
            Partecipante
              90 pts

              ciao

              vecchio trentino

              anche noi veneti abbiamo termini in VBA

              ma non penso abbiano lo stesso significato

              nemo a farse on GOTO  

              #39750 Score: 0 | Risposta

              vecchio frac
              Senior Moderator
                272 pts

                Ocio

                che io ho parenti di Cologna Veneta e quindi il riferimento è chiarissimo anche per me,

                e mi trovi d'accordo... ndémo tósi   

                #39754 Score: 0 | Risposta

                tanimon
                Partecipante
                  16 pts

                  @boldos75

                  ok, 

                  ti sei loggato ieri sera e due volte questa mattina intorno alle 8:30 ed alle 10:00

                  ed in tutte le occasioni non ti sei degnato di dare UN MINIMO di riscontro.

                  Sicuramente sei preso come non mai dal lavoro...

                  il 18/08/2023 è notorio che sia una giornata in cui non si trova nessuno disposto a lavorare per risolverti un problema....

                  figuriamoci per rispondergli nel caso gli venisse un ictus e dovesse mai proporti una soluzione

                   

                  Aggiorno il mio data base per ricordarmi di non risponderti in futuro

                  #39755 Score: 0 | Risposta

                  BOLDOS75
                  Partecipante

                    Mi Scuso per la distrazione e un periodo di molte problematiche provvedo subito a attivare il "risolto"al mio quesito,

                    #39756 Score: 0 | Risposta

                    BOLDOS75
                    Partecipante

                      Il mio problema è stato risolto applicando il suggerimento di Tanimon che ringrazio infinitamente.

                      #39757 Score: 0 | Risposta

                      tanimon
                      Partecipante
                        16 pts

                        attendo il "risolto"

                        BOLDOS75 ha scritto:

                        Mi Scuso per la distrazione

                        distrazione???

                        dopo tre volte che ti logghi....?!?!?!?!?

                        Cari utenti..... siete noiosi.....

                        ho già passato e chiuso su freeforum per un utente analogo a te.....

                        non sarete mica lo stesso con un nick diverso.....

                         

                        che bello frequentare i forum.... ognuno pensa ai fatti propri, 

                        "che ce ne fega di chi perde tempo... per aiutarci... vuol dire che non ha niente da fare...."

                        Sicuro????

                        Io di di tempo ne ho poco.... gli altri non so... facciano quello che credono!

                         

                        #39758 Score: 0 | Risposta

                        vecchio frac
                        Senior Moderator
                          272 pts

                          Frank, oggi sei particolarmente scavolato, più del solito    

                          #39759 Score: 0 | Risposta

                          tanimon
                          Partecipante
                            16 pts

                            vecchio frac ha scritto:

                            più del solito

                            ciao Francesco,

                            "purtroppo" non è così: oggi sono relativamente "in buona", spesso quando è peggio mi astengo...

                            e non rispondo.....

                            Fondamentalmente, come credo e spero succeda a te, 

                            è che sono come SANDRA MONDAINI: "che noia, che barba... io sono stufo...."

                            e muovo i Threads con i piedi.... non li vedi "svolazzare"?

                            #39760 Score: 0 | Risposta

                            vecchio frac
                            Senior Moderator
                              272 pts

                              Perché, nel tuo codice, "trovato" è di tipo Object invece che Range?

                              #39761 Score: 0 | Risposta

                              tanimon
                              Partecipante
                                16 pts

                                vecchio frac ha scritto:

                                "trovato" è di tipo Object invece che Range

                                me lo hai insegnato tu  

                                trovato è un oggetto dell'insieme Range.Cells

                                prova a cambiarlo.... in range, forse funziona lo stesso. ma con Object sono + sicuro.

                                 

                                In altri files in cui l'ho impostato Range, come la logica suggerisce... non funzia.....  

                                 

                                #39767 Score: 0 | Risposta

                                vecchio frac
                                Senior Moderator
                                  272 pts

                                  Applicato a un intervallo di celle, Find restituisce una cella quindi un oggetto di tipo Range.
                                  Non è che Object sia sbagliato, ma è poi compito di Excel capire che si tratta di un Range 🙂

                                  Ho sperimentato anche che non trovo risultati con xlValues quale parametro di Find (con xlFormulas funziona).

                                  Credo che sia colpa di questo Excel 2007 preistorico.

                                   

                                  #39768 Score: 0 | Risposta

                                  vecchio frac
                                  Senior Moderator
                                    272 pts

                                    Comunque propongo un'alternativa più stringata al tuo codice   

                                    Option Explicit
                                    
                                    Sub cerca()
                                        Application.Goto Worksheets("Foglio2").Cells(1, [IFERROR(MATCH(Foglio1!A1,Foglio2!A1:BT1,0),1)])
                                    End Sub

                                    Editato: per eventuale errore di valore non trovato  

                                    #39779 Score: 0 | Risposta

                                    tanimon
                                    Partecipante
                                      16 pts

                                      vecchio frac ha scritto:

                                      Comunque propongo un'alternativa più stringata al tuo codice 

                                      non verifico e non dubito della funzionalità dell'alternativa che hai proposto.

                                       

                                      difficilmente utilizzo in vba le funzioni native di excel in quanto da sempre,

                                      ho avuto il pallino di decidere in autonomia cosa deve fare il computer....

                                      pura utopia..... ma ci provo.... SEMPRE.... e spesso non ci riesco....

                                      #39784 Score: 0 | Risposta

                                      vecchio frac
                                      Senior Moderator
                                        272 pts

                                        tanimon ha scritto:

                                        difficilmente utilizzo in vba le funzioni native di excel

                                        Io ancor meno di te 🙂
                                        Soprattutto perché il 90% dei miei prodotti è in Access.
                                        Ma... qui parliamo di un progettino in Excel e tanto per far vedere che ci sono soluzioni diverse, ecco il suggerimento.
                                        Quanto a decidere cosa deve fare il pc, concordo, ma allora ci vorrebbe l'assembly (sto rinverdendo i ricordi del MOS 6502, il chip del VIC20... vuoi unirti?).
                                        Utopia? ma no, l'importante è provarci. Almeno ti distrai e ti passa l'incaxxatura verso gli utenti 😀

                                        tanimon ha scritto:

                                        non verifico e non dubito della funzionalità dell'alternativa che hai proposto

                                        Sbagliato! Sempre verificare e, volendo/potendo, correggere.

                                        #39788 Score: 0 | Risposta

                                        tanimon
                                        Partecipante
                                          16 pts

                                          vecchio frac ha scritto:

                                          Quanto a decidere cosa deve fare il pc, concordo, ma allora ci vorrebbe l'assembly (sto rinverdendo i ricordi del MOS 6502, il chip del VIC20... vuoi unirti?).

                                          grazie mi piacerebbe,

                                          ma come sai ho poco tempo.... ed inoltre dovrei partire a fare i conticini 

                                          partendo dalle stanghe.... esempio |+ | + | = 3 stanghe....

                                          già faccio fatica con Vba......

                                           

                                        Login Registrati
                                        Stai vedendo 19 articoli - dal 1 a 19 (di 19 totali)
                                        Rispondi a: confronto tra celle fogli diversi
                                        Gli allegati sono permessi solo ad utenti REGISTRATI
                                        Le tue informazioni: