Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

[Excel 2007]: Macro per contare le righe di distanza tra due codici. Opzioni
aetio
Inviato: Friday, August 03, 2012 10:59:34 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
Devo realizzate una rilevazione statistica, estrapolando i dati da una tabella creata per segnalare la presenza di una serie di codici particolari stoccati in un magazzino.
L'obiettivo è di calcolare, in caso di presenza di tali codici particolari, la distanza temporale tra detti codici e i corrispettivi "normali", che pur avendo lo stesso numero non hanno le caratteristiche particolari di quelli evidenziati nelle celle colorate.
Ciascun codice particolare farà da "capocommessa" per il computo della distanza.

Ho preparato un file ESEMPIO
La tabella dei codici è così strutturata (la tabella procede dal basso verso l'alto), ove i codici in celle colorate sono quelli classificati come "capocommessa".
Dovrei realizzare, partendo dalla tabella di sinistra, una tabella gemella che accanto a ciascun codice particolare segnali il numero di righe, partendo dalla successiva (nella tabella in realtà è quella precedente, dato che procede dal basso verso l'alto) fino a quella in cui è contenuto il codice avente lo stesso numero.

Ad es. il cod.9 di cella C33 colorata viene segnalato ricorrente 12 righe sopra (cella D21)
il cod.3 di cella G36 lo ritroviamo in cella C26 (10 righe sopra) e farà da capocommessa per il prossimo di cella G18 (8 righe sopra), che a sua volta farà da capocommessa per il prossimo di cella F13 (5 righe sopra), capocommessa per il prossimo di cella E11 (2 righe sopra)

Grazie assai e buona giornata,
eZio

Sponsor
Inviato: Friday, August 03, 2012 10:59:34 PM

 
a10n11
Inviato: Tuesday, August 28, 2012 4:31:19 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
ho visto solo ora il tuo quesito, Le tue tabelle non sono ancora andate in ferie??.

prova questa macro:

Code:

Sub test()
uriga = Range("a" & Rows.Count).End(xlUp).Row
CCol = 9
For i = 3 To 7
For n = uriga To 3 Step -1
With Cells(n, CCol)
.Value = Cells(n, i)
.Interior.ColorIndex = Cells(n, i).Interior.ColorIndex
End With
If Cells(n, i).Interior.ColorIndex = 5 Then
x = Cells(n, i).Value
For y = n - 1 To 3 Step -1
For a = 3 To 7
If Cells(y, a).Value = x Then
Cells(n, CCol + 1).Value = n - Cells(y, a).Row
Ctr = True
Exit For
End If
Next a
If Ctr Then Exit For
Next y
Ctr = False
End If
Next n
CCol = CCol + 2
Next i
End Sub



saluti
Giap

aetio
Inviato: Wednesday, August 29, 2012 11:23:52 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
provata e come al solito... PERFETTA!!
(e come al solito bellissima!!... sembrerò un folle nel dire questo, ma le tue macro per me sono poesie...)

a10n11 ha scritto:

ho visto solo ora il tuo quesito, Le tue tabelle non sono ancora andate in ferie??.



...per fortuna le mie tabelle non vanno MAI in ferie (facciamo i debiti scongiuri!!... :-)) )

Grazie infinite, sei sempre molto gentile, e buona notte
eZio
__________________________________________
« L'espace pictural est un mur, mais tous les oiseaux du monde y volent librement à toutes profondeurs »
(Nicolas de Stäel)
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.