Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Modifica 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

Modifica macro

Postdi Statix » 30/01/12 23:37

Ciao
dovrei modificare questa parte di una macro
fatta da Anthony47,questa dopo aver trovato un numero conta alla prima occorrenza gli altri,
dal basso in alto,vorrei farla funzionare dal alto al basso,nel senso che dopo aver trovato il numero spia,trova la prima occorrenza in basso,ho modificato

Codice: Seleziona tutto
For J = Vett(I, 0) - 1 To 2 Step -1
con
For J = Vett(I, 0) + 1 To 2 Step -1


funziona quasi bene ma non del tutto
Codice: Seleziona tutto
For I = [I3] To 1 Step -1
        FlDue = 0
            For J = Vett(I, 0) + 1 To 2 Step -1
            FlUno = 0
           
                For k = 4 To 0 Step -1
                    For L = 0 To 8
                   
                    Cells(J, 3 + k).Select
                    If Cells(J, 3 + k) = Cells(9, 10 + L) Then
                      Cells(J, 3 + k).Interior.ColorIndex = L + 3
                      FlUno = 1:
                      Vett(I, L + 1) = Vett(I, L + 1) + 1
                    End If
                   
                    Next L

                Next k
                If FlUno > 0 Then FlDue = FlDue + 1
                If FlDue = 1 Then GoTo NextRng
            Next J
NextRng:
        Next I
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Modifica macro

Postdi Flash30005 » 31/01/12 09:04

Secondo me non è quella riga che devi cambiare ma altre due che ti posto
Codice: Seleziona tutto
For I =  1 to [I3]
        FlDue = 0
            For J = 2 To  Vett(I, 0) + 1
            FlUno = 0
'...


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Modifica macro

Postdi Statix » 31/01/12 09:58

Ciao Flash30005,
la modifica da te proposta non funziona .
vedo di preparare e allegarti un file,
a tra poco.
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Statix » 04/02/12 18:30

Ciao Flash30005,
solo ora mi sono accorto che avevo allegato un file,ma non so cosa è successo,
non ho trovato più la risposta con il file allegato,
nel frattempo ho risolto alla carlona,nel senso che ho invertito la colonna dei dati e sono riuscito a farla funzionare.
adesso ho un altro problema da risolvere nella macro
se modifico questa riga per contare la seconda occorrenza mi conta sia la prima che la seconda
Codice: Seleziona tutto
If FlDue = 1 Then GoTo NextRng

in
Codice: Seleziona tutto
If FlDue = 2 Then GoTo NextRng


vorrei fare in modo che in una cella se metto 2 mi vada a contare solo la 2a occorrenza
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Flash30005 » 05/02/12 01:01

Devi cambiare i due indirizzi del Goto

es.:
Codice: Seleziona tutto
If FlDue = 1 Then GoTo NextRng1

o
Codice: Seleziona tutto
If FlDue = 2 Then GoTo NextRng2


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Modifica macro

Postdi Statix » 05/02/12 11:51

ciao Flash30005,
provato i suggerimenti,non funziona.
ti allego un esempio cerco il numero 8 dopodiche mi deve colorare la seconda occorrenza,come foto,
la macro postata funziona per la prima occorrenza o cambiando il valore di FIDUE=1 a 2 colora sia la prima che la seconda,io invece voglio colorare solo la seconda.
PS dimenticavo la macro in origine era stata fatta per 5 colonne,adesso sono solo 2 colonne.

Immagine
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Statix » 05/02/12 12:12

Ti allego un file per il test

http://www.mediafire.com/?hporlb9hjntbmpn
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 05/02/12 12:35

Io non ho capito quale e' stavolta l' obiettivo, e vorrei proprio ignorare una macro creata per un altro obiettivo.

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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro

Postdi Statix » 05/02/12 12:40

Ciao Anthony47,
l'obiettivo della macro è sempre lo stesso,invece di colorare la prima occorrenza deve colorare solo la seconda occorrenza.
l
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 05/02/12 13:12

Codice: Seleziona tutto
Sub pippo()
Urs = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
ValN = [I5]
Range("C5:D" & Urs).Interior.ColorIndex = 0
For I = 1 To Urs
    For J = 3 To 4
        If Cells(I, J) = ValN And Fla = 1 Then
        Cells(I, J).Interior.ColorIndex = 4: Fla = Fla + 1
        Else:        If Cells(I, J) = ValN Then Fla = Fla + 1
        End If
    Next J
If Fla > 2 Then Exit For
Next I
End Sub

??
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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro

Postdi Statix » 05/02/12 13:58

Provata,
non succede nulla,
mi colora un solo numero.
prova con il file allegato in precedenza
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 05/02/12 15:19

l'obiettivo della macro è sempre lo stesso,invece di colorare la prima occorrenza deve colorare solo la seconda occorrenza.

E' quello che fa la macro. Se deve fare qualcosa di diverso lo devi spiegare, non me lo immagino...
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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro

Postdi Statix » 05/02/12 15:32

ok,
la macro che è nel file,trova un numero Tot volte,
e le colora in arancione,ad ogni numero trovato colora la prima occorrenza della novina 1-9,
quello che serve a me e modificare questa macro perche invece della prima occorrenza mi colora la
seconda (valore variabile da 1 a 10)occorrenza,tutto quì,
spero di essermi spiegato,ho messo anche il file per fare il test.
mi scuso se non sono stato chiaro.
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 05/02/12 15:42

Quale/i numero/i va/vanno cercato/i nell' elenco? Di ognuno di essi va ignorata la prima occorrenza e va colorata in arancione la seconda (quindi 1 sola colorazione)?
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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro

Postdi Statix » 05/02/12 15:50

allora il numero cercato è in I5 cella rosa,esempio 4
questo valore viene trovato 5 volte (colore arancione)
dopodiche dopo ogni numero 4 trovato dopo va colorato alla seconda occorrenza
i numeri della novina 1-2-3-4-5-6-7-8-9 con colori diversi l'un dall'altro,
cosa che la macro già fa.
se imposti il valore FIDUE= 2 colora la seconda occorrenza ma nello stesso tempo anche la prima,

Codice: Seleziona tutto
If FlDue = 1 Then GoTo NextRng
in
If FlDue = 2 Then GoTo NextRng
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Statix » 05/02/12 16:08

devo andar via,
a stasera
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 06/02/12 01:25

Come vedi ero andaio via io prima di te...

Al meglio di quello che ho capito:
Codice: Seleziona tutto
Sub pippo()
Dim VettR, myK, myKCnt As Integer
Dim I As Long, J As Integer, K As Long, L As Integer
Urs = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
'
CheckA = "J8:R8"
ValN = [I5]
Volte = [I3]
'
Range("C5:D" & Urs).Interior.ColorIndex = 0
For I = 1 To Urs
Flexit = 0
VettR = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
    For J = 3 To 4
        If Cells(I, J) = ValN Then
        Cells(I, J).Interior.ColorIndex = 44
        Volte = Volte - 1
        FlaA = 1: If J = 4 Then DeK = 1 Else DeK = 0
        For K = I + DeK To Urs
            For L = 3 To 4
                If FlaA = 1 And DeK = 0 Then L = 4
                FlaA = 0
                myK = Cells(K, L)
                If myK = ValN Or K = Urs Then
                    I = K - 1: J = 3: Flexit = 1: Exit For
                End If
                myKCnt = Application.WorksheetFunction.CountIf(Range(CheckA), myK)
                If myKCnt > 0 Then
                    VettI = Application.Match(myK, Range(CheckA), 0)
                    VettR(VettI) = VettR(VettI) + 1
                    If VettR(VettI) = 2 Then Cells(K, L).Interior.ColorIndex = VettI + 2
                End If
            Next L
            If Flexit = 1 Then Exit For
        Next K
        End If
        If Flexit = 1 Then Exit For
    Next J
If Volte = 0 Then Exit Sub
Next I
End Sub

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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro

Postdi Statix » 06/02/12 11:39

Ciao Anthony47,
non ci siamo ti allego foto,
messo i parametri 2 volte numero 6
la tua macro mi colora solo i 2 numeri 6,mentrenella foto postata di fianco ho messo come
dovrebbe essere,parametri 2 volte numero 6,
trovato il primo 6 alla seconda occorrenza deve colorare il numero 4,
trovato il secondo numero 6 alla seconda occorrenza deve colorare il numero 8

Immagine
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Modifica macro

Postdi Anthony47 » 06/02/12 15:06

Mi spiace, ma da tutte queste descrizioni io non deduco nessuna regola logica che possa essere tradotta in macro.
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: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Modifica macro":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti