› Sviluppare funzionalita su Microsoft Office con VBA › problema con formula aggiungi…
-
AutoreArticoli
-
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 Subin attesa di una vostra preziosa risposta,
saluti
Marco
Allegati:
You must be logged in to view attached files.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 )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
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 )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
-
AutoreArticoli
