Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Controllo di esecuzione di una macro

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: Controllo di esecuzione di una macro

Postdi JOHNNYC » 07/09/12 09:24

Ciao. Ho effettuato alcune modifiche sulla base delle tue indicazioni (ho aggiunto un IF che mancava, ed ho modificato la ripulitura della colonna D per lasciare l'intestazione della colonna, inoltre ho sostituito GoTo con Resume Continua)
Codice: Seleziona tutto
Sub CREA_CARTELLE_POS()

Dim Indirizzo As String
Dim NomeCartella As String
UE = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
ChDrive "C"
Range(Cells(2, 4), Cells(UE, 4)).ClearContents ' inserita ripulitura colonna "D"
For IE = 2 To UE
Indirizzo = Range("a" & IE).Value
NomeCartella = Range("b" & IE).Value

If Dir(Indirizzo & NomeCartella, vbDirectory) = "" Then
On Error GoTo Errore
    MkDir (Indirizzo & NomeCartella)
    Range("D" & IE).Value = "OK"
Continua:
End If
If Range("D" & IE).Value = "" Then Range("D" & IE).Value = "KO"    ' Inserito ulteriore Range

Next IE

On Error GoTo 0
Exit Sub
Errore:
Range("D" & IE).Value = "KO"
Resume Continua                        'Sostituito GoTo con Resume
End Sub


Il problema della restituzione del valore "KO" per le cartelle già esistenti si è risolto. :)
Permangono due anomalie:
1 - Se uno dei percorsi non esiste ed in tutti gli altri percorsi elencati nella colonna A, esiste già una cartella denominata come richiesto nella colonna B, la macro restituisce errore in corrispondenza del percorso che non esiste (la macro funziona invece sino alla fine se almeno in uno dei percorsi riesce a creare la cartella desiderata). :-?
2 - Se il percorso che non esiste è il primo della lista la macro restituisce subito errore.

Sono certo che ce la faremo!!!!
Grazie ancora per la dedizione.
JOHNNYC
Utente Junior
 
Post: 33
Iscritto il: 06/07/10 10:59
Località: Mantova

Sponsor
 

Re: Controllo di esecuzione di una macro

Postdi Anthony47 » 07/09/12 12:02

Prova a spostare la posizione dell' On Error GoTo Errore:
Codice: Seleziona tutto
On Error GoTo Errore     '<<< SPOSTATO QUI
If Dir(Indirizzo & NomeCartella, vbDirectory) = "" Then
    MkDir (Indirizzo & NomeCartella)
    Range("D" & IE).Value = "OK"
Continua:
End If

Tuttavia, secondo me, manca un controllo precedente all' If Dir(Indirizzo & NomeCartella etc etc per verificare che il solo "Indirizzo" (server di rete e path base) sia disponibile.

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

Re: Controllo di esecuzione di una macro

Postdi JOHNNYC » 07/09/12 12:23

Eureka! :D
Adesso funziona tutto.
Grazie ancora.
JOHNNYC
Utente Junior
 
Post: 33
Iscritto il: 06/07/10 10:59
Località: Mantova

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Controllo di esecuzione di una macro":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti