Sfarfallio macro



  • Sfarfallio macro
    di Jellyfish (utente non iscritto) data: 01/10/2015 20:35:47

    Ciao ragazzi,

    ho registrato e poi modificato questa macro, ma ad ogni passaggio di foglio il file "sfarfalla" (credo renda l'idea).

    come si può scrivere diversamente affinché non si veda questo sfarfallio?

    Inoltre, cosa devo scrivere affinché la macro si attivi ad ogni chiusura con salvataggio del file?

     
    Sub Riepilogo()
    
    Dim foglio As Worksheet
    
        ' Pulizia iniziale
        Sheets("xxx").Select
        Rows("3:3").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Delete Shift:=xlUp
        
    For i = 1 To Sheets.Count
     
    sheetname = "Segnalazione" & "(" & i & ")"
    
    
       For Each foglio In Worksheets
      
        If foglio.Name = sheetname Then
       
        Sheets(sheetname).Select
        
        ' Copia del nome della scheda di riferimento
        Range("F6").Select
        Selection.Copy
        Sheets("xxx").Select
        Range("B1").End(xlDown).Offset(1, 0).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets(sheetname).Select
       
    
        ' riposizionamento cursore nelle schede
        Sheets(sheetname).Select
        Range("A1").Select
        
        Else
        
        
        End If
    
      Next foglio
    
    Next i
        
    Sheets("xxx").Select
    Range("A1").Select
    End Sub



  • di alfrimpa data: 01/10/2015 20:53:24

    Ciao

    Per lo sfarfallio devi mettere a inizio macro

    Application.ScreenUpdating = False e alla fine

    Application.ScreenUpdating = True

    Per far partire la macro al salvataggio del file devi inserire in codice in

    Workbook_BeforeSave

    Alfredo




  • attivazione al salvataggio
    di Jellyfish (utente non iscritto) data: 01/10/2015 21:28:38

    Perfetto lo sfarfallio è sparito!!! Grazie

    Il comando per la chiusura non riesco a metterlo ma ho usato Sub Auto_close() e funziona solo pensavo... se invece volessi attivare la macro ad ogni salvataggio?



  • di alfrimpa data: 02/10/2015 21:06:13

    Ciao Jellyfish

    1) Apri l'editor di vba con alt+F11
    2) In alto a sinistra fai doppio clic sulla voce ThisWorkbook
    3) Nella finestra a destra seleziona Workbook nella prima tendina e BeforeSave nella seconda
    4) Tra le scritte Private Sub Workbook_BeforeSave e End Sub incolla il tuo codice.

    Alfredo





  • di Jellyfish (utente non iscritto) data: 02/10/2015 21:24:40

    Grazie!!!