Giusy ha chiesto in Computer e InternetSoftware · 8 anni fa

come si registra una macro in excel?

sto facendo un corso su excel.. dovrei fare la registrazione della macro, solo che avendolo fatto una sola volta non mi ricordo come si fa.

l' unica cosa che ricordo è che ci ha fatto inserire una forma da inserisci forma e poi cliccando sulla forma con il tasto destro bisognava andare ad assegna macro.. da lì vuoto totale..

Aggiornamento:

ah molto bene.. ci proverò..

grazie mille!

2 risposte

Classificazione
  • 8 anni fa
    Risposta preferita

    Per registrare una macro devi per prima cosa aver attivata la scheda Sviluppo, se non la vedi segui questa guida:

    http://msdn.microsoft.com/it-it/library/bb608625.a...

    Per assegnare una macro ad un pulsante oppure ad una forma bisogna ovviamente scriverla

    Da menu Sviluppo scegli Visual Basic, si apre l'ambiente dove scrivere le macro, a sinistra devi avere il pannello per la gestione dei progetti, altrimenti premi la combinazione di tasti CTRL R, poi il tasto F4 per il pannello delle proprietà

    Ho visto che l'argomento ogni tanto interessa per cui ho deciso di preparare questo tutorial.

    Segui il procedimento attraverso le immagini allegate e vedrai che le macro non avranno più segreti

    http://img137.imageshack.us/img137/6341/macrovba1....

    Le macro possono essere scritte anche all'interno del Foglio corrente oppure del Workbook (facendo doppio click su Foglio1, Foglio2 ecc. ) ma è preferibile aggiungere invece un modulo come in figura

    Viene ora aggiunta una semplice macro per aggiungere un testo alle celle da A1 ad A5

    NOTA: c'è un errore in un indice dell'immagine, nella riga

    Cells(iRiga, 2) = Cells(i, 1) + " " + txt

    che invece è:

    Cells(iRiga, 2) = Cells(iRiga, 1) + " " + txt

    http://img109.imageshack.us/img109/1231/macrovba2....

    Scritta la macro AggiungiScritta, si esce da Visual basic e si torna al foglio. Per assegnare la macro alla forma (o al pulsante) cliccare sulla forma, tasto destro del mouse e si sceglie Assegna macro

    http://img403.imageshack.us/img403/6617/macrovba3....

    Ora cambiare scheda da Sviluppo a qualsiasi altra o uscire dalla modalità Progettazione, premi la forma e avvia la macro

    http://img706.imageshack.us/img706/8573/macrovba4....

    PROCEDIMENTO PER ASSEGNARE UNA MACRO

    Lo scopo principale di registrare una macro è quello di ottenere immediatamente delle istruzioni pronte per essere adattate ad altri casi, anche se in effetti sarebbe possibile utilizzare la macro registrata per fare esattamente quelle stesse operazioni in altri fogli.

    Di seguito si vuole registrare una macro per cambiare sfondo ad una cella (giallo) e colore del testo (rosso), una volta ottenuta la macro si vuole riutilizzare il codice nella macro scritta in precedenza

    http://img823.imageshack.us/img823/9401/macrovba5....

    Rientrando dalla scheda Sviluppo nel codice, si nota che la macro CambiaColore è stata scritta in un nuovo Modulo1, volendo potrebbe essere associata ad un pulsante.

    Come già detto riutilizziamo il codice con un copia e incolla dalla macro CambiaColore alla macro iniziale AggiungiScritta

    http://img441.imageshack.us/img441/4172/macrovba6....

    Nella macro AggiungiScritta l'unica cosa che si va a cambiare è la cella >> invece della B2 prendiamo la nostra del ciclo, in pratica l'istruzione

    Range("B2").Select che serve a selezionare la cella B2 per cambiarne i colori, viene sostituita dalla

    Cells(iRiga, 2).Select

    In rosso è segnato il codice aggiunto e a lato il risultato riavviando la macro con il pulsante forma

    http://img32.imageshack.us/img32/3860/macrovba7.pn...

    Per facilità allego il listato così puoi fare un copia e incolla

    Sub AggiungiScritta()

    Dim iRiga As Integer

    Dim txt As String

    txt = InputBox("Scrivi un testo da aggiungere alla colonna A", "INSERIMENTO TESTO")

    'Cells(riga, colonna) estrae il valore della cella

    'A= colonna 1

    'B= colonna 2

    'ecc.

    'Questo ciclo for legge le celle da A1 a A5 e somma il testo

    'inserito alla fine, copia il nuovo valore nella celle B1 a B5

    For iRiga = 1 To 5

    Cells(iRiga, 2) = Cells(iRiga, 1) + " " + txt

    'Range("B2").Select

    Cells(iRiga, 2).Select

    With Selection.Interior

    .Pattern = xlSolid

    .PatternColorIndex = xlAutomatic

    .Color = 65535

    .TintAndShade = 0

    .PatternTintAndShade = 0

    End With

    With Selection.Font

    .Color = -16776961

    .TintAndShade = 0

    End With

    Next iRiga

    End Sub

    Spero ti sia tutto chiaro, ciao

  • 8 anni fa

    ..

Altre domande? Fai una domanda e ottieni le risposte che cerchi.