Condividi:        

[Excel] Aiuto.

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

[Excel] Aiuto.

Postdi Andromeda59 » 12/06/14 12:21

Buon pomeriggio a tutti.
Ho una macro che mi serve a filtrare e accodare dei dati che mi arrivano giornalmente.
L'altro giorno ho aggiunto manualmente un nominativo a questa lista e da quel momento quando vaso a lanciare la macro per copiare ed accodare i nominativi della lista arrivata, mi salta il nominativo della prima riga.
qualcuno può aiutarmi?.
Grazie. :)
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Sponsor
 

Re: [Excel] Aiuto.

Postdi ricky53 » 12/06/14 12:39

Ciao,
prima di tutto ricevi il benvenuto da parte mia.


Certamente che ti si vuole aiutare però anche tu mettici del tuo:

1. hai scritto un titolo della discussione che non invita gli utenti a leggere il tuo quesito.
Nei forum NON va mai utilizzato "AIUTO" come titolo di un quesito !!!

2. non hai fornito indicazioni per farci capire cosa fa la macro

3. un file di esempio avrebbe aiutato.


Comunque: controlla l'intervallo dati su cui agisce la macro: probabilmente non considera la riga dove hai inserito il nuovo nominativo ...

Siamo QUI ma devi aiutarci ad aiutarti !!!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Aiuto.

Postdi Andromeda59 » 12/06/14 14:19

Ok.
Grazie per il benvenuto a te e a tutta la comunity.
Proverò a controllare l'intervallo, nel caso ci risentiamo e allegherò un file di esempio.
Grazie.
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi ricky53 » 12/06/14 15:27

Ciao,
servirà anche la macro.

A presto per tue nuove.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Aiuto.

Postdi Andromeda59 » 12/06/14 21:22

ciao,
non sono riuscito a capire dove possa essere l'errore.
Ti allego la cartella che contiene i due fogli (Appuntamenti e Lista Appuntamenti) il primo contiene la macro e il secondo la lista nominativi che mi arriva giornalmente.
Il problema è che se mi arriva un nuovo nominativo (dopo ever elaborato i precedenti) non me lo accoda e devo inserirlo manualmente.
Così facendo, il giorno dopo, quando lancio la macro per accodare i nuovi nominativi, mi salta il primo.
Ringrazio anticipatamente per l'aiuto.
http://www.filedropper.com/appunti_1
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi ricky53 » 13/06/14 11:17

Ciao,
prima di tutto per utilizzare la terminologia corretta nel file "rar" ci sono due files excel e non due fogli.
Il file "Lista Appuntamenti.xlsx" contiene tre fogli di nome Foglio1, Foglio2 e Foglio3,
invece il file "Appuntamenti.xlsm" contiene un solo foglio di nome Foglio1.

Fatta questa premessa che ti aiuterà all'utilizzo corretto dei termini facendoti capire subito da tutti.

Altra questione: se avessi allegato subito la macro ti avrei potuto dire cosa non tornava ...

ATTENZIONE: non intendere quanto ti ho scritto come un "ca..iatone" ma come consigli per migliorare il tuo modo di porti nei forum.

Leggendo la tua macro ho visto che tu selezioni dalla riga "3" invece che dalla "2": vedi la seguente istruzione
Codice: Seleziona tutto
.Range("A3:E" & UltAF2 & ",F3:H" & UltAF2 & ",I3:K" & UltAF2).Copy Foglio1.Range("A" & UltAF1 + 1)

In questo modo si PERDE il fornitore "Pippo" della società "VERDI" !!!

Quanto scritto vale per tutte le altre volte in cui utilizzi "3" ... correggi e prova


Domanda: il codice è frutto del tuo sacco oppure di aiuti di amici dei forum?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Aiuto.

Postdi Andromeda59 » 13/06/14 12:29

Grazie.
Non ci ho fatto caso, altrimenti avrei evitato la figura dello sciocco.
Il codice è in minima parte mio ed è stato perfezionato con l'aiuto di amici dei forum.
Vorrei chiederti un'altra cosa se possibile.
C'è un modo, aggiungendo altri fogli e rinominandoli nei vari nomi dei mesi dell'anno, far funzionare la macro o nel momento che rinomino ad esempio il foglio 1, non mi funziona più o devo ricopiare foglio per foglio la stessa macro.
Mi puoi dare una risposta.
Grazie.
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi ricky53 » 13/06/14 12:46

Ciao,
la tua macro è stata personalizzata per lavorare sul "Foglio1" ... in modo semplice ma efficace potresti nel file "Appuntamenti.xlsm" inserire un nuovo foglio ed in colonna "A" scrivere i nomi dei foglio del file "Lista Appuntamenti.xlsx" che vanno elaborati.
Ovviamente va modificata la macro per scorrere ed elaborare i fogli presenti nella colonna "A" ossia si deve agire su
Codice: Seleziona tutto
With Foglio1
...
...
...
End With

sostituendo il With ... con un ciclo For/Next che scorra i nomi presenti nella predetta colonna "A" e ...

Sapresti farlo?

Se il foglio da elaborare è sempre uno solo allora la questione è più semplice: basta far riferimento al nome contenuto in una sola cella della solita colonna "A" e ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Aiuto.

Postdi Andromeda59 » 14/06/14 08:52

Buon giorno,
no, non so farlo.
E' da poco tempo che mi sto interessando a conoscere a fondo Excel e VBA, provando e riprovando e attingendo un po qua e un po là.
Sono autodidatta e come tale cerco aiuto e capire dove non riesco.
Grazie per la gentilezza e la pazienza che hai.
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi Andromeda59 » 16/06/14 12:10

C'è qualcuno disposto a darmi un aiuto?.
Grazie.
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi ricky53 » 16/06/14 17:20

Ciao,
prova questo codice (ho modificato il tuo) che scorre tutti i fogli presenti nel file "Lista Appuntamenti.xlsx" e copia i dati presenti con le stesse condizioni esistenti prima delle mie implementazioni
Codice: Seleziona tutto
Sub Copia()
'colonne da copiare A,B,C,D,E,F,G,H,I,J,K

Application.ScreenUpdating = False
Dim Wb As Workbook
Dim UltAF1 As Long
Dim UltAF2 As Long
Dim Wb1 As Workbook, Wb2 As Workbook
Dim bAperto As Boolean
Dim sPercorso As String
Dim sFile As String
sFile = "Lista Appuntamenti.xlsx"

sPercorso = ThisWorkbook.Path & "\"
Set Wb1 = ActiveWorkbook
'VERIFICO CHE IL FILE SLAVE SIA CHIUSO
For Each Wb In Application.Workbooks
    If Wb.Name = sFile Then
        bAperto = True
        Set Wb2 = Workbooks(sFile)
        Exit For
    End If
Next Wb
   
'SE è CHIUSO LO APRO
If Not bAperto Then
    Set Wb2 = Application.Workbooks.Open(sPercorso & sFile)
End If
       
       
'With Foglio1 ' <<==== TOLTA
For Each Sh In Worksheets ' <<==== Aggiunta
    Sh.Select ' <<==== Aggiunta
    With Sh
        UltAF1 = IIf(Wb1.Sheets("Foglio1").Range("A2").Value = "", 1, Wb1.Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row) ' <<===== Modificata
'        With Wb2.Sheets("Foglio1") ' <<==== TOLTA
            UltAF2 = IIf(.Range("A2").Value = "", 1, .Range("A" & Rows.Count).End(xlUp).Row)
   
   
        'COPIA DEI DATI DA SLAVE A MASTER
            If UltAF2 > 1 Then
                .Range("A2:E" & UltAF2 & ",F2:H" & UltAF2 & ",I2:K" & UltAF2).Copy Foglio1.Range("A" & UltAF1 + 1)
            Else
                MsgBox "Nessun dato da copiare", vbExclamation, "ATTENZIONE"
            End If
'        End With ' <<==== TOLTA
    End With
Next Sh ' <<==== Aggiunta

'SALVO E CHIUDO SLAVE; DA ELIMINARE SE VUOI
Application.DisplayAlerts = False
Wb2.Close True
Application.DisplayAlerts = True
   

Application.ScreenUpdating = True
End Sub



Non l'ho testata: lascio a te l'onore/onere !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Aiuto.

Postdi Andromeda59 » 17/06/14 10:10

Eureka.
Grazie Ricky, funziona.
====
Andromeda
Windows 8.1 - Excel 2013
Avatar utente
Andromeda59
Utente Junior
 
Post: 13
Iscritto il: 11/06/14 19:46
Località: Italy

Re: [Excel] Aiuto.

Postdi ricky53 » 17/06/14 23:28

Bene.
Alla prossima
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Aiuto.":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti