Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro che si blocca

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 che si blocca

Postdi franz79 » 13/06/14 22:08

Salve a tutti cercando un po' sul veb ho creato una macro che pare funzionare correttamente sul mio pc con office 2007;trasferendola su pc del lavoro (office 2010),funziona bene per un po' di volte poi comincia a dare problemi,tipo blocco durante l'esecuzione della stessa.Premetto che non sono un esperto di VBA per crearla ho usato prevalentemente il registratore di macro.Questa é la macro in questione

Codice: Seleziona tutto
Sub PROVA()
'
' PROVA Macro
'

'
If [A1] = "FOGLIO ORDINI" Then
Beep
MsgBox "Inserire nome cliente"
Exit Sub
End If
Application.ScreenUpdating = False
   
    Range("F3:F50").Select
    Selection.Copy
    Windows("totali.xlsm").Activate
    Range("F3:F50").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
        False, Transpose:=False
    Windows("1foglio ordini vuoto.xlsm").Activate
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("M3:O50").Select
    Selection.Copy
    Windows("totali.xlsm").Activate
    Range("M3:O50").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
        False, Transpose:=False
    Range("A2").Select
    Windows("1foglio ordini vuoto.xlsm").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Dim Nomefile
Nomefile = Range("A1").Value
ActiveWorkbook.SaveAs Filename:=Nomefile
Range("A1:P61").Select
    ActiveSheet.PageSetup.PrintArea = "$A$1:$P$61"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    If [ Q4] <> "0" Then
ActiveSheet.PageSetup.PrintArea = "$Q$2:$V$27"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
If [ W4] <> "0" Then
ActiveSheet.PageSetup.PrintArea = "$W$2:$AB$27"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
If [ Q30] <> "0" Then
ActiveSheet.PageSetup.PrintArea = "$Q$28:$V$54"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
If [ W30] <> "0" Then
ActiveSheet.PageSetup.PrintArea = "$W$28:$AB$54"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Application.ScreenUpdating = True
ActiveWorkbook.Close sAVEcHANGES:=False
End Sub


Qualcuno nota errori ?
franz79
Newbie
 
Post: 6
Iscritto il: 27/05/14 10:06

Sponsor
 

Re: Macro che si blocca

Postdi Flash30005 » 13/06/14 23:53

Secondo me fai prima a dire cosa vorresti fare che non a pubblicare una macro così redatta
Non dici nemmeno in quale riga va in errore
non avendo riferimenti del foglio di lavoro suppongo che ad un certo punto non ti trovi più sul foglio attivo dove dovrebbe trovarsi la macro e quindi va in errore ma è solo una supposizione.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro che si blocca

Postdi Anthony47 » 14/06/14 00:53

Mi associo alla richiesta di chiarimenti di Flash...
In particolare, quando dici "blocco durante l'esecuzione della stessa [macro]" intendi che rimane tutto appeso, o esce un messaggio di errore, o la macro si completa ma alcune cose non le fa (es le stampe)?
Poi una curiosita': con ActiveCell.FormulaR1C1 = "" quale cella vai a cancellare?
E le celle Q4, W4, Q30 e W30 contengono dei numeri o dei testi?

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: Macro che si blocca

Postdi franz79 » 14/06/14 07:53

La macro è riferita a un foglio ordini.Dopo che questo è stato compilato,se attivo la macro mi salva con nome una copia dell'ordine ,copia con opzione addiziona i valori inseriti nel'ordine in "totali" ,effettua una stampa dell'ordine e chiudendolo senza salvarlo mi permette di riaprirlo di nuovo vuoto per poterlo ricompilare e ripartire da capo.
Non mi da nessun messaggio di errore,funziona un po' di volte,poi magari si blocca durante l'esecuzione costringendomi ad avviare gestione attivita',oppure riaprendo il foglio ordini mi accorgo che alcuni comandi activex scompaiono a seconda di dove punto il mouse.Il mio sospetto è che la macro essendo registrata sia un po' troppo ridondante e magari possa essere resa piu' agile.
franz79
Newbie
 
Post: 6
Iscritto il: 27/05/14 10:06

Re: Macro che si blocca

Postdi Anthony47 » 14/06/14 13:33

Una macro e' un elenco preciso di comandi, ed excel risponde in modo ripetitivo ai comandi; anche se i comandi sono ridondanti questo non ha impatto sul risultato finale, se la logica complessiva e' corretta.
L' unica cosa che non mi quadra nel tuo codice e' su quale stampante si va a stampare: mancando una selezione della stampante si usera' la stampante predefinita, ma se fosse una stampante non in linea (magari di rete) il risultato potrebbe essere difficile da interpretare per l' utente.
Il fatto che alcuni activex scompaiono a seconda di dove punti il mouse mi fa pensare che siano presenti delle macro di "evento" (tipo SelectionChange) che andrebbero esaminate.

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


Torna a Applicazioni Office Windows


Topic correlati a "Macro che si blocca":


Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti