Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro Excell complessa

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 Excell complessa

Postdi alfredo.o » 06/06/18 21:20

Ciao a tutti.
Spiego il mio problema: ho un file che giornalmente viene alimentato da una collega (foglio 1)
in base al tipo di prodotto che verifico nel foglio 2 devo creare un numero di righe aggiuntive pari al numero di attività che devo compiere su quel prodotto, per ottenere il foglio DESIDERATO.
E' fondamentale che la macro non agisca sul foglio 1 ma solo sul DESIDERATO.
Quindi alla fine quando la mia collega incrementa un file vorrei che automaticamente facesse questo lavoro

Grazie mille.... mi cambiereste la vita :)

Alfredo.

https://drive.google.com/open?id=1klNyf ... ubT3J12h6S
alfredo.o
Newbie
 
Post: 4
Iscritto il: 06/06/18 21:06

Sponsor
 

Re: Macro Excell complessa

Postdi Marius44 » 06/06/18 22:10

Ciao
Se i tuoi dati "reali" sono come l'esempio che hai postato, prova con questa macro (da associare ad un pulsante (non ActiveX) da inserire nel Foglio1)
Option Explicit

Sub GoWished()
Dim dt1 As Date, cod As String, blk As Long, dt2 As Date
Dim ur1 As Long, ur2 As Long, ur3 As Long, cln As Long, r As Long, i As Long
ur1 = Cells(Rows.Count, 1).End(xlUp).Row
dt1 = Cells(ur1, 1).Value
cod = Cells(ur1, 2).Value
blk = Cells(ur1, 3).Value
dt2 = Cells(ur1, 4).Value
With Sheets(2)
cln = Application.WorksheetFunction.Match(cod, .Range("A3:C3"), 0)
ur2 = .Cells(Rows.Count, cln).End(xlUp).Row
.Range(.Cells(4, cln), .Cells(ur2, cln)).Copy
r = ur2 - 3
End With
With Sheets("DESIDERATO")
ur3 = .Cells(Rows.Count, 1).End(xlUp).Row + 1
For i = ur3 To ur3 + r - 1
.Cells(i, 1) = dt1
.Cells(i, 2) = cod
.Cells(i, 3) = blk
.Cells(i, 4) = dt2
Next i
.Cells(ur3, 5).PasteSpecial Paste:=xlValues
End With
Sheets(3).Select
End Sub


Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 537
Iscritto il: 07/09/15 22:00

Re: Macro Excell complessa

Postdi alfredo.o » 07/06/18 06:55

I Reali sono simili..per esempio non ho messo tutti i cod prodotto e tutte le attività ma la struttura è uguale.

ho provato a far girare la macro ma mi da un bug a questa riga

cln = Application.WorksheetFunction.Match(cod, .Range("A3:C3"), 0)


per quanto riguarda il pulsante... non so come fare :eeh:


Grazie
alfredo.o
Newbie
 
Post: 4
Iscritto il: 06/06/18 21:06

Re: Macro Excell complessa

Postdi Marius44 » 07/06/18 08:41

Ciao
Due cose importanti.
1°) mi ero dimenticato di dirti che la riga vuota in Foglio3 va eliminata (mi riferisco alla riga 4; nessuna riga vuota tra l'inizio e la fine)
2°) non ti funziona perchè il dato in C3 di Foglio2 ha uno spazio alla fine (e, di conseguenza, la funzione CONFRONTA non trova corrispondenza).
3°) per il pulsante fai così: Inserisci ==> Forme (scegli una forma qualsiasi e disegnala sul Foglio - mi raccomando, Foglio1); quindi seleziona la forma col pulsante destro e clicca su Assegna macro; seleziona la macro che vedi nell'elenco (dovrebbe essere GoWished)

Spero sia utile. Ciao,
Mario
Marius44
Utente Senior
 
Post: 537
Iscritto il: 07/09/15 22:00

Re: Macro Excell complessa

Postdi Marius44 » 07/06/18 08:59

Ciao
Scusa, un imperdonabile errore: la riga vuota da eliminare è nel FOGLIO2 e non FOGLIO3 (che non esiste).

Provo ad allegare il file col pulsante inserito. Ecco il link:http://www.filedropper.com/provavba

Ciao,
Mario
Marius44
Utente Senior
 
Post: 537
Iscritto il: 07/09/15 22:00

Re: Macro Excell complessa

Postdi alfredo.o » 09/06/18 08:43

OTTIMO! Ho capito come fare i pulsanti, fantastico!
La macro lavora bene, fa quello che deve.
Ho ancora due necessità: su questa base dovrò inserire N prodotti nel foglio2, quali parametri devo modificare nella macro?

Ho notato che la macro lavora solo sull'ultima riga. E' possibile farla lavorare su piu righe selezionate?

Grazie mille
Alfredo
alfredo.o
Newbie
 
Post: 4
Iscritto il: 06/06/18 21:06

Re: Macro Excell complessa

Postdi alfredo.o » 09/06/18 11:15

alfredo.o ha scritto:OTTIMO! Ho capito come fare i pulsanti, fantastico!
La macro lavora bene, fa quello che deve.
Ho notato che la macro lavora solo sull'ultima riga. E' possibile farla lavorare su piu righe selezionate?
Capita che mi compilino in foglio 1 tre righe assieme :neutral:

Grazie mille
Alfredo
alfredo.o
Newbie
 
Post: 4
Iscritto il: 06/06/18 21:06

Re: Macro Excell complessa

Postdi Marius44 » 09/06/18 11:19

Ciao
1°) - "su questa base dovrò inserire N prodotti nel foglio2, quali parametri devo modificare nella macro?"
Se i "prodotti" da aggiungere si riferiscono alla riga 3 di Foglio2 ti basta modificare al lettera della colonna (cioè quella in rosso) in questa riga di codice e sostituirla con la lettera adatta:
cln = Application.WorksheetFunction.Match(cod, .Range("A3:C3"), 0)

2°) - "E' possibile farla lavorare su piu righe selezionate?"
No, non è possibile.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 537
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "Macro Excell complessa":


Chi c’è in linea

Visitano il forum: Nessuno e 33 ospiti