Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Condizionare una macro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Condizionare una macro

Postdi geri21 » 04/02/11 14:34

Con excel ho creato un pulsante ed associato ad esso una macro che copia solo i valori delle colonne AD8:AF57 del foglio1 e li copia nelle colonne Y3:AB52 del foglio2.
Per ovvie esigenze nonché evitare copie e cliccate inopportune, vorrei porre alla macro la condizione che venga eseguita solamente qualora il contenuto (formato data) della cella Z1 del foglio2 sia uguale al contenuto (=OGGI() ) della cella B4 del foglio1.
Grazie del v/s contributo.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Sponsor
 

Re: Condizionare una macro

Postdi Anthony47 » 04/02/11 23:43

Metterai in cima alla macro qualcosa come
Codice: Seleziona tutto
If Int(ThisWorkbook.Sheets("Foglio2").Range("Z1")) <> Int(Now) Then Exit Sub

Nota che ho calcolato "Oggi" nella macro, quindi se il tuo intento era di confrontare Z1 con la data odierna e' ok cosi'; se invece vuoi proprio confrontare la data di Z1 con la data in B4 allora devi modificare l' istruzione, mettendo al secondo termine della If Int(ThisWorkbook.Sheets("Foglio1").Range("B4"))

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Condizionare una macro

Postdi geri21 » 05/02/11 10:43

Grazie Anthony,
in attesa della risposta ho tentato una mia soluzione.
Non so cosa ma certamente ho combinato qualcosa d’infernale !!!!!
Quando clicco sul pulsante il foglio si trasforma in formato data visualizzando “VALORE” in tutte le celle contenenti numeri.
Se non ritrovo e rimuovo la causa forse dovrò eliminare il foglio e ripartire dall’inizio, in tal caso probabilmente abbandonerò il progetto.
Comunque grazie, siete gli amici della porta accanto.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Condizionare una macro

Postdi Anthony47 » 06/02/11 01:54

L' iniziativa e' sempre lodevole, ed e' la base dei progressi piu' insperati, ma io spesso (e mi pento di non farlo "sempre") ricordo che gli esperimenti si fanno dopo aver fatto due copie di backup dei propri dati.
Non e' per infierire, ma per suggerire il comportamento da avere la prossima volta.

Nella situazione in cui sei, se scrivi che cosa hai inserito magari possiamo cercare un antidoto.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Condizionare una macro

Postdi geri21 » 06/02/11 13:27

Ciao Anthony,
tutto risolto, responsabile la macro sotto copiata, che pur confezionata correttamente copiava ed incollava non la colonna riportata nel codice bensì la colonna immediatamente a sx.
Ho provato i codici descritti, opportunamente modificati, ed entrambi non producono alcun effetto.
In sostanza si ripropone che la macro di cui sotto, si attivasse allorché venga digitato nella cella Z1 del foglio ("Cls.Trn.”) lo stesso valore visualizzato dalla cella B4 del foglio “TORNEO” contenente la funzione “OGGI ()”. In tal modo la copia avviene solo digitando in Z1 la data visualizzata dalla funzione “OGGI()”.

Sub Macro61()
' Macro61 Macro
' Seconda Settimana
Sheets("TORNEO").Select
Range("AD8:AD57").Select
Selection.Copy
Sheets("Cls.Trn.").Select
Range("AG3:AG52").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False 'incollo solo i valori, non eventuali formule
Application.CutCopyMode = False 'elimina il tratteggio delle celle copiate

Sheets("TORNEO").Select
Range("AE8:AF57").Select
Selection.Copy
Sheets("Cls.Trn.").Select
Range("AE3:AF52").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False 'incollo solo i valori, non eventuali formule
Application.CutCopyMode = False 'elimina il tratteggio delle celle copiate
End Sub
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Condizionare una macro

Postdi Anthony47 » 07/02/11 00:30

Non ho capito se hai provato quanto avevo suggerito nel mio primo post e con quale risultato…
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Condizionare una macro

Postdi geri21 » 07/02/11 12:13

Anthony GRAZIE …..SEI BRAVISSIMO !!!!,
Sostituendo gli opportuni “riferimenti” Il Tuo codice interpreta e soddisfa pienamente il quesito posto.
Scusa per il dubbio espresso con precedente post.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32


Torna a Applicazioni Office Windows


Topic correlati a "Condizionare una macro":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti