Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro con excel

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

Macro con excel

Postdi danliz » 22/12/11 11:54

Salve,
mi serve un'aiuto con la costruzione di una macro con excel. Ho un foglio in cui ho caricato dei dati di società ordinati per il tempo (t, t-1, t-2...). A questo punto vorrei evidenziare le celle che si trovano sotto il tempo "t" di rosso in modo da evidenziarle in maniera automatica poichè i dati sono molti e farlo manualmente è una grossa perdita di tempo.
I dati sono organizzati così:
paese ---- nomesocietà ---- attività ----- t ----- t+1 ---- t+2 ----- t+3 ---- t+4...
Italia ----- .......... ----- ........ ----- .... ----- ...---- ..... ---- ...... ----- ....
----- .......... ---- ....... --- .... --- ... --- ....... --- ...... ---- ......
paese ------ nomesocietà ---- attività ------- t-2 ------ t-1 --------- t ----- t+1 ---- t+2 ---- t+3 t+4...
Italia --- .......... ---- ........ ---- .... ---- ..... ---- ..... ---- ...... ---- .... ---- ...... --- .....
---- .......... ---- ....... ---- .... ---- ..... ---- ....... ---- ...... --- .... ---- ..... --- .....

francia------ nomesocietà ----- attività ------ t-1 ------ t ------- t+1 ----- t+2 ------- t+3 ---- t+4...
Italia ---- .......... ------ ........ ----- ...... ---- ..... ----- ..... ----- ...... ---- .... ---- ........
----- .......... ----- ....... ---- .... ---- ..... ----- ....... ----- ...... ----- ...... ---- .....
paese -------- nomesocietà ------- attività -------- t-5 ------- t-4 ----- t -3 ----- t-2 ------- t-1 ----- t ---- t+1...
francia ----- .......... ------- ........ ----- ..... ----- ... ---- ..... ---- ...... ---- .... ---- ...... ---- .....
----- .......... ------ ....... ---- .... ---- ... ----- ....... ----- ...... ----- .... ---- ..... --- .....

Siccome le t variano da dato a dato e da paese a paese devo fare una macro per poter evidenziare i valori che sono sotto le colonne t in tutto il foglio di lavoro. Grazie.
danliz
Utente Junior
 
Post: 18
Iscritto il: 23/11/11 11:09

Sponsor
 

Re: Macro con excel

Postdi Flash30005 » 22/12/11 14:45

Ciao Danliz e benvenuto nel Forum

quello che richiedi non è complesso ma si può fare anche con la formattazione condizionale
Facendo riferimento alla cella t "standard" di ogni paese

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: Macro con excel

Postdi danliz » 22/12/11 15:05

Ciao, ti ringrazio per la risposta. Il problema è che io devo evidenziare solo le colonne "t" e siccome ho una quantità di dati e di colonne differenti enorme, vorrei che me lo facesse in automatico per tutte le colonne, per quello ho chiesto com'era la dicitura con la macro.
danliz
Utente Junior
 
Post: 18
Iscritto il: 23/11/11 11:09

Re: Macro con excel

Postdi Anthony47 » 22/12/11 15:36

Perdona, ma a me non e' chiara l' organizzazione dei dati; puoi allegare uno screenshot dimostrativo? Per la procedura guarda qui: viewtopic.php?f=26&t=80395#p466013

Ciao, ti aspettiamo.
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: Macro con excel

Postdi danliz » 22/12/11 16:38

danliz
Utente Junior
 
Post: 18
Iscritto il: 23/11/11 11:09

Re: Macro con excel

Postdi Anthony47 » 22/12/11 22:31

Da quel che posso vedere dovrebbe servirti una macro come questa:
Codice: Seleziona tutto
Sub ZZZ()
Dim Prima As Integer, MaxCol As Integer, MaxRow As Long, M As Integer
Dim I As Integer, J As Integer, TCol As Integer, THeight As Integer
Dim TText As String, TArr(0 To 50) As Integer, MyT As Integer, K As Integer
'
Prima = 2  '<< Riga iniziale di intestazione
TText = "T"
'
Range("A1").Select
'
MaxCol = ActiveSheet.UsedRange.Columns.Count
MaxRow = Cells(Rows.Count, 1).End(xlUp).Row
'
For I = Prima To MaxRow
MyT = Application.WorksheetFunction.CountIf(Range("A" & I).Resize(1, MaxCol), TText)
If MyT > 0 Then
'riga con T, cerca su quali colonne
    K = 0
    For J = 1 To MaxCol
        If UCase(Cells(I, J).Value) = TText Then TArr(K) = J: K = K + 1
    Next J
'cerca l' altezza del bocco
    K = 0
    Cells(I, TArr(K)).Select
    For J = 1 To MaxRow - Selection.Row
        If Application.WorksheetFunction.IsText(Selection.Offset(J, 0).Value) Then Exit For
    Next J
'formatta quelle colonne per quell' altezza
    Cells(I + 1, 1).Resize(J - 1, MaxCol).Interior.ColorIndex = xlNone
    For K = 0 To MyT - 1
        Cells(I + 1, TArr(K)).Resize(J - 1, 1).Interior.ColorIndex = 3
    Next K
End If
Next I
End Sub

Prova e fai sapere, 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: Macro con excel

Postdi Flash30005 » 22/12/11 22:57

A lavoro fatto... pubblico anche io una macro
Codice: Seleziona tutto
Sub Colora()
UC = Range("IV2").End(xlToLeft).Column
UR = Range("A" & Rows.Count).End(xlUp).Row
Riga = 2
M_Riga = 0
For RR = Riga To UR - 1
    For CC = 6 To UC
        StrT = Cells(RR, CC).Value
        If StrT = "T" Then
            For RR1 = RR + 1 To UR
                Str1 = Cells(RR1, CC).Value
                If Left(Str1, 1) = "T" Then
                    M_Riga = RR1 - 1
                    Range(Cells(RR + 1, CC), Cells(M_Riga, CC)).Interior.ColorIndex = 3
                    GoTo SaltaCC
                Else
                    If RR1 = UR Then
                    Range(Cells(RR + 1, CC), Cells(RR1, CC)).Interior.ColorIndex = 3
                    GoTo SaltaCC
                    End If
                End If
            Next RR1
        End If
SaltaCC:
Next CC
If RR1 <> UR Then RR = M_Riga
Next RR
End Sub


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: Macro con excel

Postdi danliz » 23/12/11 11:03

Grazie mille a tutti e due posso solo dire che siete due geni!Un abbracccio!!
danliz
Utente Junior
 
Post: 18
Iscritto il: 23/11/11 11:09


Torna a Applicazioni Office Windows


Topic correlati a "Macro con excel":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti