Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro excel

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 excel

Postdi giostacchio » 14/10/16 07:49

buongiorno a tutti
dovrei realizzare una macro che mi permetta di
1)copiare il contenuto delle celle della check list MASCHERA INPUT e spostarlo nella tabella ARCHIVIO e questo dovrei essere riuscito a farlo
2)stampare in pdf la check list “MASCHERA INPUT” e salvarlo in uno specifico percorso e questo non riesco a farlo
3)azzerare tutte le celle in MASCHERA INPUT senza togliere i menù a tendina di scelta per un nuovo inserimento di DAT e questo non riesco a farlo
4)saltare la riga della tabella ARCHIVIO a quella successiva quando ricompilerò la check list nuova e questo non riesco a farlo

spero di essere stato chiaro
si possono allegare file ?
grazie a tutti
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Sponsor
 

Re: macro excel

Postdi alfrimpa » 14/10/16 08:45

Ciao giostacchio

Per facilitare le cose allega un file di esempio con pochi dati e risultato desiderato.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 08:54

ehm ok....ma non so come fare.. :neutral:
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 09:04

Per allegare il file devi usare un sito di file sharing tipo filedropper o dropbox.

Una volta caricato il file sul sito questo ti restituirà un link che copierai e incollerai qui sul forum.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 09:11

giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 09:24

Ok ho scaricato il file.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi alfrimpa » 14/10/16 09:54

Hai dimenticato di specificare una cosa: il PDF con che nome deve essere salvato?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 10:16

direi con l ' ID
grazie
:-)
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 10:39

E quale cella è del foglio MASCHERA INPUT non riesco a trovarlo.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 10:42

ops sorry si chiama REPORT N° che in ARCHIVIO si chiama # ID
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 10:49

Ciao giostacchio

Prova questa macro e fai sapere se è tutto corretto o c'è qualcosa da modificare.

Attenzione: va modificato il percorso nel punto che ti ho indicato.

Codice: Seleziona tutto
Sub Pulsante1_Click()
Dim lr As Long
Dim myPath As String
Dim areadati As Range
Dim nomefile As String
lr = Sheets("ARCHIVIO").Cells(Rows.Count, "A").End(xlUp).Row
myPath = "c:\excel\"    '<===== da modificare con il tuo percorso
Set areadati = Union([A6:B6], [C6:H6], [I6], [J6:K6], [L6], [M6:N6], [O6], [D9:H9], [J9], [N9:O9])
Sheets("ARCHIVIO").Range("D" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("A6").Value
Sheets("ARCHIVIO").Range("E" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("C6").Value
Sheets("ARCHIVIO").Range("F" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("I6").Value
Sheets("ARCHIVIO").Range("J" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J6").Value
Sheets("ARCHIVIO").Range("H" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("L6").Value
Sheets("ARCHIVIO").Range("I" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("M6").Value
Sheets("ARCHIVIO").Range("B" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("O6").Value
Sheets("ARCHIVIO").Range("J" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("D9").Value
Sheets("ARCHIVIO").Range("K" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J9").Value
Sheets("ARCHIVIO").Range("L" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("N9").Value
nomefile = Sheets("MASCHERA INPUT").Range("O2").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        myPath & nomefile & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties _
        :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
areadati.ClearContents
End Sub
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 11:12

ciao grazie
ma tu l'hai provato ? perché mi da errore di compilazione su Union A6:B6
https://www.wetransfer.com/downloads/fd ... 321/c7efa6
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 11:27

A me funziona perfettamente comunque ti allego il mio file (che è poi il tuo) con la macro inserita.

http://www.filedropper.com/giostacchio
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi Anthony47 » 14/10/16 12:36

Invece di
Set areadati = Union([A6:B6], [C6:H6], [I6], [J6:K6], [L6], [M6:N6], [O6], [D9:H9], [J9], [N9:O9])
usa
Codice: Seleziona tutto
Set areadati = Union(Range("A6:B6"), Range("C6:H6"), Range("I6"), etc etc, Range(N9:O9"))

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

Re: macro excel

Postdi giostacchio » 14/10/16 12:56

ok è vero dal tuo file funziona
solo che nella tabella ARCHIVIO si deve popolare di nuove righe ogni volta che inserisco dati nuovi,
invece sovrascrive.

grazie
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi alfrimpa » 14/10/16 12:59

Mah strano ora verifico.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi alfrimpa » 14/10/16 13:04

Ma tu inizialmente non avevi detto che ID e REPORT N. erano la stessa cosa.

Dopo l'istruzione

Codice: Seleziona tutto
Set areadati = Union([A6:B6], [C6:H6], [I6], [J6:K6], [L6], [M6:N6], [O6], [D9:H9], [J9], [N9:O9])


aggiungi questa

Codice: Seleziona tutto
Sheets("ARCHIVIO").Range("A" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("o2").Value


Ora vedrai che va.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro excel

Postdi giostacchio » 14/10/16 13:26

ehm..come dire
speravo di farcela da solo, ma invece ho ancora problemi.
io dovrei aggiungere più informazioni..oltre j16 dovrei arrivare fino a j45:k45 con anche A48:I48, ma mi da errore
dove cavolo sbaglio ?

https://www.wetransfer.com/downloads/ad ... 753/344f42

Set areadati = Union([A6:B6], [C6:H6], [I6], [J6:K6], [L6], [M6:N6], [O6], [D9:H9], [J9], [N9:O9], [J14:K14], [J15:K15], [J16:K16])

Sheets("ARCHIVIO").Range("A" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("o2").Value
Sheets("ARCHIVIO").Range("D" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("A6").Value
Sheets("ARCHIVIO").Range("E" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("C6").Value
Sheets("ARCHIVIO").Range("F" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("I6").Value
Sheets("ARCHIVIO").Range("J" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J6").Value
Sheets("ARCHIVIO").Range("H" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("L6").Value
Sheets("ARCHIVIO").Range("I" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("M6").Value
Sheets("ARCHIVIO").Range("B" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("O6").Value
Sheets("ARCHIVIO").Range("J" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("D9").Value
Sheets("ARCHIVIO").Range("K" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J9").Value
Sheets("ARCHIVIO").Range("L" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("N9").Value
Sheets("ARCHIVIO").Range("M" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J14").Value
Sheets("ARCHIVIO").Range("N" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J15").Value
Sheets("ARCHIVIO").Range("O" & lr + 1).Value = Sheets("MASCHERA INPUT").Range("J16").Value
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi giostacchio » 14/10/16 13:31

e sapresti anche come far incrementare il numero progressivo in automatico ad ogni salvataggio
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Re: macro excel

Postdi giostacchio » 14/10/16 14:13

forse non va perché devo inserire 40/41 dati ?
giostacchio
Utente Junior
 
Post: 31
Iscritto il: 14/10/16 07:36

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "macro excel":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti