Condividi:        

Trasponi dati automatico se rispettate condizioni

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

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 10/06/15 11:38

pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Sponsor
 

Re: Trasponi dati automatico se rispettate condizioni

Postdi Flash30005 » 11/06/15 00:32

Avresti dovuto comprimere il file come archivio tipo .zip o .rar

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 11/06/15 08:06

Flash30005 ha scritto:Avresti dovuto comprimere il file come archivio tipo .zip o .rar

ciao





riallego il file compresso


http://www.filedropper.com/analisipupilfoglio1_1
pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 12/06/15 09:35

nessuno che riesce a darmi una manina????
pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 15/06/15 09:03

Anthony47 ha scritto:Questa macro dovrebbe essere sostanzialmente piu' veloce della precedente:
Codice: Seleziona tutto
Sub Trasponi3()
Dim myMatch, RR1 As Long, UR1 As Long, UR2 As Long, UC2 As Long, VArrIn, VArrAH, ArrOut(), MArea As Range
Dim Conta As Long, mConta As Long
'
mytim = Timer
Application.ScreenUpdating = False
Dim Ws1 As Worksheet
Set Ws1 = Worksheets("Periodo di interesse")
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Analisi preliminari")
UR1 = Ws1.Cells(Rows.Count, 3).End(xlUp).Row
UC1 = Ws1.Cells(1, Columns.Count).End(xlToLeft).Column
UR2 = Ws2.Cells(Rows.Count, 1).End(xlUp).Row
'
ReDim ArrOut(3 To UR2, 1 To 5000)
VArrIn = Ws1.Range("C3").Resize(UR1 + 2, 1).Value
VArrAH = Ws1.Range("AH3").Resize(UR1 + 2, 1).Value
'
Ws2.Range("C3:XFD" & UR2).Clear
Set MArea = Ws2.Range("A1").Resize(UR2 + 5, 1)
Conta = 1
For RR1 = LBound(VArrIn, 1) To UBound(VArrIn, 1) - 1
'DoEvents
    myMatch = Application.Match(VArrIn(RR1, 1), MArea, False)
    If Not IsError(myMatch) Then
        ArrOut(myMatch, Conta) = VArrAH(RR1, 1)
        If VArrIn(RR1, 1) <> VArrIn(RR1 + 1, 1) Then Conta = 1 Else Conta = Conta + 1
        If Conta > mConta Then mConta = Conta
    End If
Next RR1
Ws2.Range("C3").Resize(UR2, mConta).Value = ArrOut
Application.ScreenUpdating = True
MsgBox ("Completato in (Sec): " & Format(Timer - mytim, "0.00"))
End Sub

Al momento considera, nel foglio di Output, max 5000 colonne di dati; se e' un problema si puo' inserire un controllo per allargare all'occorrenza il numero di colonne.

Non ho seguito la discussione, quindi non sono certo di aver realizzato quanto richiesto da pany221; insomma dovete fare un collaudo critico.

Ciao








ciao...grazie mille...visto che mi da errori uesta macro volevo chiederti quali sono le colonne e le righe che devono essere mantenute invariate???

grazie 1000
pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 15/06/15 09:05

mi dice errore di run time 1004
pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Re: Trasponi dati automatico se rispettate condizioni

Postdi Anthony47 » 16/06/15 01:48

La discussione l'ho seguita poco, ne' mi ero applicato per capire la struttura dei dati; la macro che avevo proposto partiva dal lavoro fatto da w&g con qualche accorgimento particolare per velocizzare i cacoli e lavorava sul tracciato che avevi pubblicato inizialmente.
Ora vedo che proponi un file che nemmeno contiene il foglio "Analisi preliminari", che era quello su cui si scrivevano i risultati... Non so cosa pensare...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasponi dati automatico se rispettate condizioni

Postdi wallace&gromit » 18/06/15 21:21

Ultimamente ero occupato su altri fronti e mi sono perso un po' per strada con gli ultimi sviluppi (condivido le perplessità di Anthony).
Mi aspettavo di trovare un file con evidenziate le parti che sono "fisse", per cercare di ridurre il volume delle altre, ma non l'ho trovato.
La cosa migliore sarebbe se pubblichi un piccolo estratto di un file di partenza, daremo per scontato che i dati continuino verso il basso in modo omogeneo per un bel po' di righe.
Poi ci dici quali sono i criteri di elaborazione e qual'è il risultato ultimo che ti serve e magari riusciamo a ridurre le tappe intermedie, risparmiando qualche megabyte.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Trasponi dati automatico se rispettate condizioni

Postdi pany221 » 22/06/15 08:12

Ecco...allego un piccolo estratto del file, evidenziate in giallo le colonne che devono essere mantenute invariate...nelle altre ci sono formule che possono essere modificate per ridurre la grandezza del file

http://www.filedropper.com/analisipupilfoglio1permacro


vi ringrazio molto
pany221
Utente Junior
 
Post: 43
Iscritto il: 06/05/15 10:08

Re: Trasponi dati automatico se rispettate condizioni

Postdi maury84 » 15/07/15 10:12

Buongiorno a tutti,
avrei bisogno di trovare una soluzione per velocizzare un lavoro che sto facendo in excel, e penso che l'unica soluzione sia l'utilizzo di macro ma purtroppo non ho una grande dimestichezza.
La situazione è questa: nel mio file ho nella colonna A vari codici di articoli, e nella colonna B ho gli assortimenti di tali articoli. Quindi ad esempio nella riga 2/colonna A ho l'articolo 02771 e nella colonna B di fianco ho la dicitura 3ass. Ho bisogno che in automatico quando nella colonna B compare la dicitura 3ass. o 2ass. o 4 ass. mi ripeto la riga per un totale di volte come da assortimento, quindi nel caso dell'articolo 02771 che è 3ass. dovrò avere un totale di 3 righe con questo articolo.
Il file è formato da colonne dalla A alla K per un totale di 748 righe (la prima riga è quella descrittiva in realtà), io comunque vorrei una macro che si aggiori automaticamente anche quando modifico, aggiungo o elimino righe e colonne.
Qualcuno può aiutarmi?
Grazie in anticipo, saluti.
Maury
maury84
Newbie
 
Post: 2
Iscritto il: 15/07/15 09:56

MACRO PER INSERIMENTO E RIPETIZIONE RIGHE

Postdi maury84 » 15/07/15 10:13

Buongiorno a tutti,
avrei bisogno di trovare una soluzione per velocizzare un lavoro che sto facendo in excel, e penso che l'unica soluzione sia l'utilizzo di macro ma purtroppo non ho una grande dimestichezza.
La situazione è questa: nel mio file ho nella colonna A vari codici di articoli, e nella colonna B ho gli assortimenti di tali articoli. Quindi ad esempio nella riga 2/colonna A ho l'articolo 02771 e nella colonna B di fianco ho la dicitura 3ass. Ho bisogno che in automatico quando nella colonna B compare la dicitura 3ass. o 2ass. o 4 ass. mi ripeto la riga per un totale di volte come da assortimento, quindi nel caso dell'articolo 02771 che è 3ass. dovrò avere un totale di 3 righe con questo articolo.
Il file è formato da colonne dalla A alla K per un totale di 748 righe (la prima riga è quella descrittiva in realtà), io comunque vorrei una macro che si aggiori automaticamente anche quando modifico, aggiungo o elimino righe e colonne.
Qualcuno può aiutarmi?
Grazie in anticipo, saluti.
Maury
maury84
Newbie
 
Post: 2
Iscritto il: 15/07/15 09:56

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Trasponi dati automatico se rispettate condizioni":


Chi c’è in linea

Visitano il forum: Nessuno e 79 ospiti