Sviluppare funzionalita su Microsoft Office con VBA problema con formula aggiungi…

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

    marco_budin
    Partecipante
      2 pts

      ciao a tutti,

      ho un problema con una formula. cioe ha sempre funzionato, e tutto ad un tratto mi dice che il riferimento non funziona più.

      nella scheda Gestione, se schiaccio il tasto Registra nuova prestazione mi da debug, sul "riferimento"... (che si riferisce a "sheets(database).range("t2") )... l'ho fatta calcolare in una cella... perché deve copiarla ogni 6... e poi quando la si cancella (tasto elimina prestazione) il riferimento è sull'altra cella  sheets(database).range("v2").

      però come detto ora mi da problemi... e non mi esegue più la formula e non capisco perché... magari qualcuno sa aiutarmi o magari sapete darmi un alternativa al codice creato integrando la formula scritta in sheets(database).range("t2") 

      Sub aggiungi()
      
      riferimento = Sheets("DataBase").Range("t2")
      codice = Sheets("DataBase").Range("t1")
      
      If Sheets("DataBase").Range("j47") = 2 Then
      
      If codice = 1 Then
      Sheets("DataBase").Range("v3:aq3").Copy
      Sheets("DataBase").Range(riferimento).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
      Application.CutCopyMode = False
      Sheets("DataBase").Range("b46") = FALSO
      Sheets("Gestione").Range("h51:j51").ClearContents
      Sheets("Gestione").Range("h48:j48").ClearContents
      Sheets("Gestione").Range("h44:p46").ClearContents
      Sheets("Gestione").Range("h40").ClearContents
      Sheets("Gestione").Range("j38:m38").ClearContents
      Sheets("Gestione").Range("j38:m38").Select
      End If
      
      If codice = 2 Then
      Sheets("DataBase").Range("b46") = FALSO
      Sheets("Gestione").Range("h51:j51").ClearContents
      Sheets("Gestione").Range("h48:j48").ClearContents
      Sheets("Gestione").Range("h44:p46").ClearContents
      Sheets("Gestione").Range("h40").ClearContents
      Sheets("Gestione").Range("j38:m38").ClearContents
      Sheets("Gestione").Range("j38:m38").Select
      MsgBox "Attenzione, si è raggiunto il massimo di prestazioni che si possono aggiungere!! (6 MAX)"
      End If
      
      Else
      MsgBox "Controllare che tutti i dati sono inseriri: Pernottamento/Classe/valore punto/Operatore)"
      Sheets("Gestione").Range("h44").Select
      End If
      
      End Sub

      in attesa di una vostra preziosa risposta,

      saluti

      Marco

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

      albatros54
      Moderatore
        89 pts

        se vai sull'editor vba al menu riferimenti, vedrai che ti manca il riferimento ad una libreria "Microsoft Outlook 16.0 Object Library",o l'aggiungi al progetto o la spunti, vedrai che il tutto funziona

         

        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 )
        #8567 Score: 0 | Risposta

        marco_budin
        Partecipante
          2 pts

          ciao Albatros,

          grazie mille della tua risposta. io lavoro con Excel 2010 e Excel 2016, sul 2010 non funziona, mentre con il 2016 la formula funziona.

          Infatti nella versione 2010 ho provato ad aggiornarlo come hai detto tu, spuntando Microsoft Outlook 16.0 Object Library, ma dice "manca".

          Cioè è divertente, perché fino a poco fa funzionava, mentre ora non funziona più. c'è una macro che deve assolutamente utilizzare il 2016?...

          ti ringrazio

          saluti

          Marco

          #8569 Score: 0 | Risposta

          albatros54
          Moderatore
            89 pts

            marco_budin ha scritto:

            spuntando Microsoft Outlook 16.0 Object Library, ma dice "manca".

            Intendevo togliere la spunta  

             

            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 )
            #8572 Score: 0 | Risposta

            marco_budin
            Partecipante
              2 pts

              Ciao Albatros! grazie mille della tua risposta... adesso infatti funziona   

              ti ringrazio come sempre per il tuo aiuto!

              ti auguro una buona giornata e alla prossima

              Marco

            Login Registrati
            Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
            Rispondi a: problema con formula aggiungi…
            Gli allegati sono permessi solo ad utenti REGISTRATI
            Le tue informazioni: