Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel - Determinare limite colonna

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 - Determinare limite colonna

Postdi Flash30005 » 06/11/08 13:47

Ciao Anthony,
Allora con il codice
Codice: Seleziona tutto
Ue = Worksheets("DATI").Range("A" & Rows.Count).End(xlUp).Row
calcolo l'ultima riga occupata della colonna A
Ma se volessi sapere l'ultima colonna occupata nel range dalla colonna 33 a 122 (da AG a DR) come devo fare? (Tieni presente che oltre la colonna 122, dalla colonna 124 alla colonna 142, ho altri valori che non servono per il confronto e quindi il codice si deve limitare solo ed esclusivamente al campo 33-122 (o anche 1-122 se rilevo il dato da destra verso sinistra)
Spiego:
da AG a DR io ho dei valori qua e là (per il resto le celle sono vuote) es: Colonna 39 riga 2 (AM) ho un valore, poi ho un altro valore (l'ultimo della riga2 in esame e variabile da riga a riga) alla colonna 91 (CM) come posso sapere tramite codice che l'ultimo valore si trova alla colonna 91?
Questo mi occorre per evitare di scansionare tutte le cononne fino alla 122esima colonna avendo impostato un for next sia per le colonne che per le righe da confrontare con altra riga (e stessa colonna).
La macro usata da modificare per ridurre il campo di scansioe è questo:
Codice: Seleziona tutto
Application.DisplayStatusBar = True
For I = 2 To Ue     ' dove Ue è il numero di righe da confrontare
Application.StatusBar = "Elaborazione Foglio TOP Attendere... " & Int(I / Ue * 100) & " %" 'informazione utente dell'elaborazione in atto
    For CC = 33 To 122
        If Val(Worksheets("DATI").Cells(I, CC)) > 0 Then
            For IAbb = I + 1 To Ue
                ContaE = 0
                If Val(Worksheets("DATI").Cells(IAbb, CC)) > 0 Then
                    For CCAbb = CC To 122
                        If Val(Worksheets("DATI").Cells(I, CCAbb)) > 0 Then
                            If Val(Worksheets("DATI").Cells(IAbb, CCAbb)) <> 0 And Val(Worksheets("DATI").Cells(I, CCAbb)) <> Val(Worksheets("DATI").Cells(IAbb, CCAbb)) Then
                                ContaE = ContaE + 1
                            End If
                        End If
                    Next CCAbb
                End If
                If ContaE >= MaxVal Then   'Maxval è un filtro per eliminare ciò chenon interessa e riduce le righe in Top
                    Sheets("Top").Range("A1").Offset(Aline, 0).Value = ContaE
                    Sheets("Top").Range("A1").Offset(Aline, 1).Value = I - 1
                    Sheets("Top").Range("A1").Offset(Aline, 2).Value = IAbb - 1
                    Aline = Aline + 1
                End If
            Next IAbb
        End If
    Next CC
Next I


La macro funziona (anche se ho delle "strane" ripetizioni nel foglio Top che vedrò in seguito) quello che volevo chiederti è appunto limitare il valore CC che non deve arrivare a 122 se la riga di riferimento I ha il suo ultimo valore alla colonna 91, in questo caso e dopo averla confrontata, passare alla riga successiva (next I)

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-

Sponsor
 

Re: Excel - Determinare limite colonna

Postdi Anthony47 » 07/11/08 00:07

Qualcosa come
Codice: Seleziona tutto
UC = Worksheets("DATI").Range("DR2").End(xlToLeft).Column
Questa esamina i dati lavorando su riga 2.

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

Re: Excel - Determinare limite colonna

Postdi Flash30005 » 07/11/08 08:08

E già! Proprio qualcosa del genere... :D

Risultato: risparmio pari al 20% del tempo

Thanks
Ciao

P.s. Ho applicato, lo stesso concetto, per ottenere anche il numero colonna di inizio scansione (da AF verso destra) ;)
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-


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Determinare limite colonna":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti