|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> un operatore non potrà mai essere definita come variabile. non ti bastono gli operatori IF per risolvere il tuo problema? saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
con l'if non posso! forse mi sono spiegato male: ho una sub che deve "girare" 3 volte in 3 modi diversi con variabili diverse x ognuno dei 3 casi. es: caso 1... a=a; b=b; c=c; segno=( caso 2... a=b; b=a; c=c; segno=( caso 3... a=c; b=a; c=b; segno=)
il segno cambia una volta solo, mi sbagliavo non c'e ildiverso (()), ma solo maggiore ()) e minore (<)!
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
quello che definisci come segno è il valore da assegnare ad una cella oppure deve essere utilizzato come variabile all'interno della macro? si farebbe prima a vedere almeno una parte del codice macro per poterti essere d'aiuto. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> quello che definisci come segno è il valore da assegnare ad una cella oppure deve essere utilizzato come variabile all'interno della macro? si farebbe prima a vedere almeno una parte del codice macro per poterti essere d'aiuto. saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
segno è una variabile da definire nella macro, ecco la parte del codice:
If mDati(i, 1) = maxValuePunti Then j = j + 1 If mDati(i, 2) ) maxPercentuale Then maxPercentuale = mDati(i, 2) End If mTre(j, 0) = mDati(i, 0) mTre(j, 1) = mDati(i, 2) mTre(j, 2) = mDati(i, 3) End If
le variabili sono: maxpercentuale + altre 2 non presenti in questa parte. la sub è 1 che richiamo con 3 "case" (come dicevo nell'esempio di ieri a=a in 1, a=b in 2....). quel simbolo di maggiore che è presente in "If mDati(i, 2) > maxPercentuale Then" deve diventare una variabile, xche in un case che richiamo, devo ottenere il valore opposto tramite quella funzione quindi mi serve valorizzare segno come minore (()!
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
così come esposto, l'operatore "maggiore" inserito nella condizione IF non può essere trasformato in variabile almeno per quanto ne so io. Certamente esiste una strada alternativa per giungere al risultato ma senza la visione completa del progetto è decisamente arduo immaginare quale risultato si vuole ottenere. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> così come esposto, l'operatore "maggiore" inserito nella condizione IF non può essere trasformato in variabile almeno per quanto ne so io. Certamente esiste una strada alternativa per giungere al risultato ma senza la visione completa del progetto è decisamente arduo immaginare quale risultato si vuole ottenere. saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
infatti!!... ho dovuto risolvere il problema aggirandolo con una serie di if-then!!!
sono quasi alla fine del progetto e mi manca un passaggio riguardo la protezione del foglio. alla fine del progetto il foglio excel sara protetto, quindi quando attivo delle macro ho inserito all'inizio del codice il comando x togliere la protezione e alla fine quello x rimetterla. in questo modo, pero, riesco a effettuare la protezione senza password, posso fare la protezione con password e dare un comando nel codice x editarla? se si puo, qual'è il comando? grazie ancora!
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
il codice per la protezione del foglio: Activesheet.Protect password:="tuapassword" attiva la protezione Activesheet.UnProtect password:="tuapassword" disattiva la protezione saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> il codice per la protezione del foglio: Activesheet.Protect password:="tuapassword" attiva la protezione Activesheet.UnProtect password:="tuapassword" disattiva la protezione saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
ok! perfetto! funziona tutto.... ultima domanda: è possibile impedire di visualizzare il codice vba?
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve per impedire la visualizzazione del codice credo ci sia solo la possibilità di bloccarla tramite password. In ambiente VBA Strumenti>Proprietà VBAproject inserisci una password questa impedisce l'apertura del progetto. NB. sappi comunque che scavalcare questa password non è di grande difficoltà(almeno x chi conosce la strada) saluti Andrea Edited by - a10n11 on 10/05/2005 15:25:52
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> salve per impedire la visualizzazione del codice credo ci sia solo la possibilità di bloccarla tramite password. In ambiente VBA Strumenti>Proprietà VBAproject inserisci una password questa impedisce l'apertura del progetto. NB. sappi comunque che scavalcare questa password non è di grande difficoltà(almeno x chi conosce la strada) saluti Andrea
Edited by - a10n11 on 10/05/2005 15:25:52 <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
mi sono incartato da solo... come faccio poi a togliere la protezione? o meglio... la protezione a vba project si toglie nello stesso modo in cui si mette (giusto?), ma quella a eurotool non si puo togliere, giusto?
Edited by - albyu2 on 10/05/2005 17:11:44
Edited by - albyu2 on 10/05/2005 17:17:51
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
Se immeti la password al tuo progetto, puoi toglierla esattamente con la stessa procedura che hai usato per metterla. Eurotool è invece un progetto Microsoft protetto da una sua password, per poterla togliere, devi prima accedervi conoscendo la password che gli è stata assegnata. saluti Anadrea
|
|
Guest |