Come eseguire una macro quando modifica di determinate celle in Excel

Traduzione articoli Traduzione articoli
Identificativo articolo: 213612 - Visualizza i prodotti a cui si riferisce l?articolo.
Per un Microsoft Excel 97 e versione precedente e a Microsoft Excel 98 per Macintosh e versione precedente di questo articolo, vedere 142154.
Espandi tutto | Chiudi tutto

Sommario

In Microsoft Excel, è possibile creare una macro che viene chiamata solo quando viene immesso un valore in una cella in un foglio specifico o in qualsiasi foglio è aperto.

Si noti, tuttavia, che è necessario non chiamare macro inutilmente perché rallentare le prestazioni di Excel.

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia espressa o implicita. Questo include, ma non è limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. Questo articolo si presuppone che conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug di procedure. Tecnici del supporto Microsoft possono spiegare la funzionalità di una particolare procedura, ma in nessun sono caso a modificare questi esempi per fornire funzionalità aggiuntive o creare procedure per soddisfare specifiche esigenze. In molti casi, una macro deve essere eseguita solo quando un determinato numero di celle con valori immessi in tali (definito come "celle chiave" in questo documento). Per evitare che una macro di grandi dimensioni in esecuzione ogni volta che viene immesso un valore in una cella di un foglio, è necessario verificare se il ActiveCell è una delle celle chiave. A tale scopo, utilizzare il Intersect metodo il ActiveCell e l'intervallo contenente le celle di chiave per verificare che il ActiveCell sia una delle celle chiave. Se il ActiveCell è l'intervallo contenente le celle di chiave, è possibile chiamare la macro.

Per creare la macro di Visual Basic:
  1. Fare clic con il pulsante destro del mouse sulla scheda Sheet1 e quindi scegliere Visualizza codice .

    Viene aperto il modulo sottostante Sheet1.
  2. Digitare il seguente codice nel foglio del modulo:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim KeyCells As Range
    
        ' The variable KeyCells contains the cells that will
        ' cause an alert when they are changed.
        Set KeyCells = Range("A1:C10")
        
        If Not Application.Intersect(KeyCells, Range(Target.Address)) _
               Is Nothing Then
    
            ' Display a message when one of the designated cells has been 
            ' changed.
            ' Place your code here.
            MsgBox "Cell " & Target.Address & " has changed."
           
        End If
    End Sub
    					
  3. Scegliere Chiudi e torna a Microsoft Excel dal menu file .
Quando si digita una voce in a1: C10 di celle di Sheet1, viene visualizzato un messaggio.

Proprietà

Identificativo articolo: 213612 - Ultima modifica: mercoledì 24 gennaio 2007 - Revisione: 5.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
Chiavi: 
kbmt kbdtacode kbhowto kbprogramming KB213612 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 213612
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com