Condividi:        

Excel Aggiornare programma con macro attivata

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

Excel Aggiornare programma con macro attivata

Postdi max2011 » 14/01/12 00:27

Salve,
mi servirebbe una macro che mi aggiornasse il sistemino fatto in automatico. Praticamente la macro attuale non mi fa aggiornare, devo inserire sempre i numeri uno per volta. Comunque per spiegarmi meglio posto il programmino più un video.

http://www.fileserve.com/file/TcJUJXz/aggiornare.rar

ciaooooooooooo e grazie ancora
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Sponsor
 

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 14/01/12 01:23

ehm
malgrado il video mi sorgono dei dubbi
bisogna sempre cancellare le righe da 2 a 18 (Numero riga), quindi cancellare 17 celle
sostituirle con le successive da 19 a 38 (stessa colonna), spostare 20 celle verso l'alto
prelevare 17 o 18 celle della seconda colonna?
Se si spostano 17 celle della seconda colonna la colonna precedente viene riempita nuovamente senza celle in eccesso
ma se si spostano 18 celle succede, come nel video, che l'ultima cella deve essere cancellata.
Nel video c'erano 18 celle in seconda colonna e sono state prelevate tutte, nel file, invece, 37, quindi? :roll:

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 14/01/12 11:12

Ciao Flash,
grazie per la risposta. Allora il video è un esempio. Il programma che se ricordi l'hai fatto tu e ti ringrazio tantissimo funziona benissimo infatti le impostazioni non devono essere toccate cioè deve lavorare sempre uguale. Come hai capito è un sistemino roulette che sto testando. allora inserendo centinaia di numeri mi servirebbe un tasto che mi aggiornasse i numeri e ti spiego come. Quello azzera c'è già ed è perfetto sta sulla destra l'hai fatto tu. Io dovrei azzerare fare un copia e incolla dei numeri che voglio inserirli nuovamente e attivare nuomente la macro e far lavorare il programmino. Io ho provato a fare copia e incolla, ma copia me lo fa fare poi non mi fa incollare.

Grazie ancora.

Ps. se non mi sono spiegato bene, scusami e cercherò di spiegarmi meglio.

Ciaooooooooooooooooooooooooooooooo
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 14/01/12 12:36

Va bene il discorso esempio ma quell'esempio lascia molti dubbi come indicato nel post precedente.
Ok, anche per il copia e incolla tramite macro, macro che avrei imbastito ma non so le specifiche effettive
quanti numeri sposti per ogni azione?
Sposti sempre la stessa quantità di numeri?
quanti ne vai a ripristinare (dalla colonna successiva alla precedente)?

Senza avere risposta a queste domande non posso procedere

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 14/01/12 16:10

Ciao Flash,
praticamente i numeri che vado a spostare non sono sempre la stessa quantità, ma vorrei fare almeno che elimino la prima colonna di 37 e sposto tutti i restanti per poi avviare di nuovo il programmino tipo eliminare da B2 a B38 e il resto spostarli per poi aggiornare.

Grazie ancora
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 14/01/12 18:02

ehm :roll:
allora...
Usando la seguente riga di codice sposti tutte le colonne verso sinistra di una colonna
Codice: Seleziona tutto
Sub SpostaTest()
    Range("C2:AL38").Cut Destination:=Range("B2")
End Sub


ok?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 14/01/12 20:22

Flash perdonami dove va inserito questo codice.

Grazie mille per quello che fai.
ciaooooooooo :)
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 14/01/12 22:03

Le macro vanno, normalmente, inserite in un modulo e avviate attraverso vari sistemi
(dal tasto scelta veloce, al pulsante comando, o tramite variazione di un range nel foglio)

A volte è necessario, invece, inserirle direttamente nel Vba del foglio di interesse
Nel primo caso (modulo) la macro avrà un titolo di questo tipo:
sub nomemacro() o Private Sub Nomemacro()
nel secondo caso (Vba foglio), hai
Private Sub Worksheet_Change(ByVal Target As Range)
o altro controllo tipo (Worksheet_SelectionChange(ByVal .... )
A questo punto dovresti capire la differenza tra questi due tipi di macro
e dove inserire la macro postata...

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 15/01/12 16:23

Ciao Flash e grazie per la spiegazione, ti ringrazio tantissimo, ho provato ad inserire il codice ad entrambi le parti ma non funziona, sicuramente avrò sbagliato io qualcosa. Ti posto il problema.
Entrambi gli esempi mi sposta il contenuto nella prima colonna ma non azzera la tabella riassuntiva cioè non aggiorna non parte di nuovo il programmama ed esce un messaggio di errore.

Foglio1

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "B2:U38"
If Not Application.Intersect(Target, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    NumC = Target
    If IsNumeric(NumC) And NumC <> "" Then
        NN = Target.Row
        Call Trova
    End If
End If
End Sub
Sub SpostaTest()
    Range("C2:AL38").Cut Destination:=Range("B2")
End Sub


Errore di run-time '13':
tipo non corrispondente
ed io vado a cliccare fine

Modulo1

Codice: Seleziona tutto
Sub Trova()
Application.Calculation = xlManual
Set WsN = Worksheets("Numeri da Inserire")
Set WsT = Worksheets("Tabella riassuntiva")
URN = WsN.Range("B" & Rows.Count).End(xlUp).Row
UCN = WsN.Range("IV2").End(xlToLeft).Column
        For FF = 1 To Worksheets.Count
            If Worksheets(FF).Name <> WsN.Name And Worksheets(FF).Name <> WsT.Name Then
                For CTF = 2 To 38
                    NumT = Worksheets(FF).Cells(NN, CTF).Value
                    If NumT = NumC Then
                        WsT.Cells(FF - 1, CTF).Value = "ok"
                    End If
                Next CTF
            End If
        Next FF
Application.Calculation = xlCalculationAutomatic
End Sub
Sub Cancella()
Application.EnableEvents = False
Worksheets("Tabella riassuntiva").Range("B2:AL361").ClearContents
Worksheets("Numeri da Inserire").Range("B2:AL361").ClearContents
Application.EnableEvents = True
End Sub
Sub SpostaTest()
    Range("C2:AL38").Cut Destination:=Range("B2")
End Sub

Grazie e scusami per l'ignoranza non voglio darti fastidio.
Ciaooooooooooooo e grazie per la tua professionalità e bravura
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 15/01/12 19:14

Quel codice macro andava nel modulo pertanto cancella ciò quella macro dal Vba del foglio
Per avviarlo deve essere richiamato dall'altra macro (Trova)
Adesso, però, bisognerebbe sapere se vuoi
1) spostare prima le colonne e poi avviare la macro Trova oppure
2) prima avviare la macro trova e poi spostare le colonne :?:
In ogni caso ti inserisco il codice (essendo di una sola riga) nella macro "trova"
Codice: Seleziona tutto
Sub Trova()
Range("C2:AL38").Cut Destination:=Range("B2") '<<<<<<<<<<lasciare questa così per spostare le colonna prima dell'elaborazione (esempio1)
Application.Calculation = xlManual
Set WsN = Worksheets("Numeri da Inserire")
Set WsT = Worksheets("Tabella riassuntiva")
URN = WsN.Range("B" & Rows.Count).End(xlUp).Row
UCN = WsN.Range("IV2").End(xlToLeft).Column
For FF = 1 To Worksheets.Count
If Worksheets(FF).Name <> WsN.Name And Worksheets(FF).Name <> WsT.Name Then
For CTF = 2 To 38
NumT = Worksheets(FF).Cells(NN, CTF).Value
If NumT = NumC Then
WsT.Cells(FF - 1, CTF).Value = "ok"
End If
Next CTF
End If
Next FF
'Range("C2:AL38").Cut Destination:=Range("B2") '<<<<<<<<<<togliere il commento a questa riga per spostare le colonna dopo dell'elaborazione - commentare l'altra riga di codice (esempio2)
Application.Calculation = xlCalculationAutomatic
End Sub
Sub Cancella()
Application.EnableEvents = False
Worksheets("Tabella riassuntiva").Range("B2:AL361").ClearContents
Worksheets("Numeri da Inserire").Range("B2:AL361").ClearContents
Application.EnableEvents = True
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 15/01/12 19:32

Ciao Flash,
grazie per la risposta, vorrei prima spostare le colonne e poi avviare la macro per la ricerca.

Ciaoooooooooooooooooooooooooooo
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 15/01/12 20:41

Ma almeno leggi cosa scrivo?
la macro postata fa già quello che dici

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 15/01/12 20:57

Ciao flash, leggo quello che scrivi infatti ti stimo moltissimo per quello che fai e non smetterò mai di ringraziarti. La macro postata l'ho sostituita a quella nel modulo e non funziona infatti infatti ti ho risposto al messaggio perchè pensavo che era incompleta e aspettavi la mia risposta. Io ho excel 2007.

Inserendo il codice postato nel modulo mi da sempre l'errore di prima.

Ciao e scusami
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 15/01/12 21:58

Ho sistemato la riga codice all'interno della macro Trova ma ho dei dubbi che debba funzionare in questa maniera
in quanto la macro Trova si attiva ogni volta che digiti un numero nel foglio "Numeri da inserire" e quindi avresti uno spostamento di colonna per ogni numero che digiti e avresti tutti i fogli 1,2,3,4 vuoti
comunque ti invio la macro ugualmente così verifichi di persona e potrai dare ulteriori specifiche

ciao

Codice: Seleziona tutto
Sub Trova()
Application.Calculation = xlManual
Set WsN = Worksheets("Numeri da Inserire")
Set WsT = Worksheets("Tabella riassuntiva")
URN = WsN.Range("B" & Rows.Count).End(xlUp).Row
UCN = WsN.Range("IV2").End(xlToLeft).Column
    For FF = 1 To Worksheets.Count
        If Worksheets(FF).Name <> WsN.Name And Worksheets(FF).Name <> WsT.Name Then
            Worksheets(FF).Range("C2:AL38").Cut Destination:=Worksheets(FF).Range("B2") '<<<<<<<<<<Inserita qui per tutti i fogli
            For CTF = 2 To 38
                NumT = Worksheets(FF).Cells(NN, CTF).Value
                If NumT = NumC Then
                    WsT.Cells(FF - 1, CTF).Value = "ok"
                End If
            Next CTF
        End If
    Next FF
Application.Calculation = xlCalculationAutomatic
End Sub
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 15/01/12 22:16

Ciao Flash, l'ho inserita e non va, succede quello che hai scritto, cancella tutto nei 4 fogli.

Ciaooooo
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 16/01/12 00:34

Infatti ad ogni digitazione di un numero nell'area del foglio "Numeri da Inserire"
la macro trova scansiona i rimanenti fogli e sposta verso sinistra di una colonna

per questo io non l'avrei mai inserita in quella macro
ma tu hai detto che...
max2011 ha scritto: vorrei prima spostare le colonne e poi avviare la macro per la ricerca.


Sai bene che la macro di ricerca si avvia ad ogni inserimento di un numero quindi...

Devi, spiegare bene cosa vuoi fare
perché secondo me la macro sposta colonne deve essere attivata da un comando che pigierai quando vuoi fare quei spostamenti
indipèendentemente dalla macro "trova"
ma nn so... :?:

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 16/01/12 10:29

Ciao Flash, scusami forse io non mi sono spiegato bene.
Il programma deve rimanere sempre uguale con le stesse caratteristiche, la macro dovrebbe lavorare sui numeri da inserire. facendolo a mano io cosa faccio, azzero il programma, poi riscrivo tutti i numeri da capo. poi se si può fare una macro che mi aggiorna il test cioè far lavorare allo stesso modo il programma ma come hai fatto tu che sposta tutti i numeri dalla seconda colonna in poi alla prima è perfetto cosi non mi fa scrivere centinaia di numeri.

Cioè forse rendo meglio l'idea dicendoti e come se io facessi un copia e incolla da un foglio excel metterli nel foglio numeri da inserire e cominciare il test, ho provato infatti e non me lo fa fare.

Grazie ancora

PS. Poi se fosse possibile fare un tasto che ben venga, è solo per non farmi riscrivire tutti numeri
Cioè cominciare il test 37 numeri dopo
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 16/01/12 12:31

Prova questo file e fai sapere

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel Aggiornare programma con macro attivata

Postdi max2011 » 16/01/12 13:23

Ciao Flash, questo file con il tasto sposta, mi sposta le colonne nelle tabelle, invece le tabelle non le deve toccare proprio. Il programma con la ricerca deve essere uguale, è solo una questione di inserimento numeri. Cioè tipo come se ci volessi mettere per dire 200 numeri( per dire) e avviare il programma.

Io inserendo per dire 111 numeri faccio multipli di 37 per capirci meglio.
Voglio cancellare i primi 37 spostare il resto sulla prima colonna in modo da azzerare tutto e partire da capo con la ricerca.

Grazie ancora. Vedo di fare un video e lo posto

Grazieeeeeeeeeeeeee
max2011
Utente Junior
 
Post: 59
Iscritto il: 03/11/11 16:34

Re: Excel Aggiornare programma con macro attivata

Postdi Flash30005 » 16/01/12 13:30

Certo che sposta le colonne delle tabelle dei fogli 1,2,3, 4!
altrimenti quali colonne dovrebbe spostare?
Fino ad ora non hai specificato questo e nel file da te inviato non ci sono altri fogli con colonne da spostare. 8)


EDIT 14:20
Aggiungo due file
1) Prg2 con pulsanti separati rispetto all'azzeramento Prg2
2) Prg3 quando azzeri sposta le colonne del foglio "Numeri da inserire" Prg3

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel Aggiornare programma con macro attivata":


Chi c’è in linea

Visitano il forum: Gianca532011 e 50 ospiti