Condividi:        

macro per trascinare dati + trovare valore riga

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 per trascinare dati + trovare valore riga

Postdi TeUzZz89 » 25/05/13 07:06

Ciao! vorrei sapere se c'è un modo per automatizzare, dato questo file (http://rapidshare.com/files/3429985365/K24_2009_03_03.xlsx), una serie di cose: per ogni foglio, il valore max nella cella G2 cambia (dati i differenti dati in input nella riga 7). in A10 cliccando si vede che tutta la serie di dati inizia da min-0,01 e procedendo lungo la colonna A si incrementa ogni volta di dx=0,001. Il punto è che vorrei che tutta la stringa di dati che parte da A10:GW10 si trascini in automatico fino a raggiungere sulla colonna A il valore max+0,01. Per farvi un esempio pratico aprendo il primo foglio automobiles & parts, il valore max è 0,24 quindi i dati a partire da A10:GW10 devono arrivare fino a che sulla colonna A ci sia il valore 0,25, che in questo caso è alla riga 491. Quindi, solo per questo foglio, i dati vanno da A10:GW10 fino A491:GW491. Dopo ciò, sempre se ci sia un modo automatico per farlo, si deve guardare il valore presente in GC5 e trovare quello che più lo approssima nella colonna A e infine sostituire nella formula in GV7 il valore GTnumero con GTnumero_riga in cui si trova il valore "approssimato" nella colonna A. Esempio per primo foglio: il valore in GC5 è 0,0038144, che è approssimato da 0,004 presente in A245. Per cui in GV7 al posto di GT165 sostituisto con GT245.
Questo è tutto, ma vi assicuro che farlo manualmente per tanti file porta via un sacco di tempo!! grazie mille per l'aiuto!! :)
TeUzZz89
Utente Junior
 
Post: 20
Iscritto il: 10/05/13 03:48

Sponsor
 

Re: macro per trascinare dati + trovare valore riga

Postdi Anthony47 » 26/05/13 01:25

Per quanto ho capito l' operazione sara' possibile tramite la seguente macro:
Codice: Seleziona tutto
Sub reform()
Dim myMatch, I As Long

For I = 1 To ThisWorkbook.Worksheets.Count
Sheets(I).Select
    With Sheets(I)
        If .Range("G1") <> 0 And Range("G2") <> 0 And IsNumeric(.Range("B1")) Then
            mymax = (.Range("G2").Value + 0.01 - .Range("A10").Value) / .Range("B1").Value
            If mymax > 10 And mymax < 10000 And .Range("B1") < 0.1 Then
                .Range("A11:GW11").Copy _
                Destination:=.Range("A11").Resize(mymax, 1)
                .Range("A11").Offset(mymax, 0).Resize(10000, 210).Clear
            End If
            myMatch = Application.Match(.Range("GC5").Value, .Range("A1:A10000"))
            If Not IsError(myMatch) Then
                If Abs(.Cells(myMatch, 1) - .Range("GC5")) > Abs(.Cells(myMatch + 1, 1) - .Range("GC5")) Then myMatch = myMatch + 1
                .Range("GV7").Formula = "=GT" & myMatch & "/STDEV(GT10:GT11114)"
            End If
        End If
    End With
Next I
MsgBox ("Completato")
End Sub

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19213
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per trascinare dati + trovare valore riga

Postdi TeUzZz89 » 26/05/13 03:47

Funziona!! perfetto!! se penso che ho buttato giornate intere a farlo a mano mi viene da piangere..! grazie mille!!! ;)
TeUzZz89
Utente Junior
 
Post: 20
Iscritto il: 10/05/13 03:48


Torna a Applicazioni Office Windows


Topic correlati a "macro per trascinare dati + trovare valore riga":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti