NON SALVARE SE



  • NON SALVARE SE
    di FA-BA (utente non iscritto) data: 28/02/2017 21:12:39

    Sperando che sia possibile come si può dire ad EXCEL tramite (VBA) CHE SE -> if sheets("GIOCO").RANGE("F27") = "1" NON deve far salvare il file?



  • di FA-BA (utente non iscritto) data: 28/02/2017 21:22:44

    Ho provato questo codice per un attimo funziona ma comunque tende ad uscire e mostrare le scelte tipiche ti Excel per salvare o annullare.


    Chiama la macro Avviare_Gioco ma procede ad uscire come mai? .... come si risolve?


     
    Sub Auto_close()
    If Sheets("GIOCO").Range("F27") = "1" Then MsgBox "GIOCARE ALMENO UNO SCONTRO": Call Avviare_Gioco



  • di FA-BA (utente non iscritto) data: 28/02/2017 22:48:17

    Spiego meglio con + dettagli che prima non avevo ne creato che ipotizzato quindi:

    Nel Foglio ("NOTE")

    Se L1= "" E M1= "" --> Deve uscire senza salvare!!! ...senza visualizzare nulla.
    Se L1= "" E M1="V" --> MsgBox , poi deve visualizzare -> Sheets("GIOCO").Select Range("H19").Select
    Se L1="A" --> NORMALE ESCE E SALVA!! SE POSSIBILE salvare automaticamente senza visualizzare nulla.

    L1 -> "A" = (Gioco avviato)
    M1 -> "V" = (Gioco solo visualizzato)

    Then MsgBox "GIOCARE ALMENO UNO SCONTRO"



  • di Luca73 data: 01/03/2017 09:52:47

    Un po' difficile avendo solo pochi spezzoni d codice qua e la e un po di indicazioni ma senza avere la struttura del codice e di tutte le azioni prima e dopo....

    Comunque
    l'help di excel dice:
    Workbooks.Close, metodo
    La chiusura di una cartella di lavoro da Visual Basic avviene senza l'esecuzione di alcuna macro Auto_chiudi in essa contenuta. Per eseguire tali macro, utilizzare il metodo RunAutoMacros.


    CIao
    Luca





  • di FA-BA (utente non iscritto) data: 01/03/2017 16:50:16

    ora vedo la guida comunque stavo pensando a befosesave beforeclose ho visto qualcosa in interet ma sinceramente ho capito poco.



  • di FA-BA (utente non iscritto) data: 01/03/2017 16:53:32

    COME SI ACCEDE ALLA GUIDA?



  • di Luca73 data: 01/03/2017 17:13:19

    IO di solito in vba editor posizione il cursore sulla parola e poi premo tasto funzione "F1".
    Lo stesso lo travi anche su internet digitando il nome.
    CIao
    Luca





  • di FA-BA (utente non iscritto) data: 01/03/2017 17:24:48

    Sto cercando di risolvere la questione prendendo il problema per la coda!!! ma la cosa assurda è che anche se le celle sono A / V procede con la macro . dovrebbe tramite call chiamare la macro (Avviare_Gioco) ma non lo fa ho paura che si sia corrotto Excel oppure sbaglio io ma non saprei cosa sbaglio.


    Comunque il tuo consiglio è buono ma dovrei sapere cosa cercare? dovrei conoscere (il codice) per poi cercare cosa fa?
     
    Declare Function sndPlaySound32 Lib "WINMM.DLL" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
    Sub Auto_open()
    ActiveWindow.DisplayGridlines = False      '<=== Nasconde la griglia (Excel).
    'SE PARTITA AVVIATA
    
       ' VISUALIZZA IL MENU
    If Sheets("TURNO").Range("L1") = "A" Then Call Avviare_Gioco Else If Sheets("TURNO").Range("M1") = "V" Then Call Avviare_Gioco Else GoTo L1
    L1:
       Sheets("MENU").Select
    'CALCOLO MANUALE
     With Application
          .ScreenUpdating = False
          .EnableEvents = False
          .Calculation = xlCalculationManual
       End With
       'EFFETTI SONORI
       indirizzo = ActiveWorkbook.Path
    Call sndPlaySound32(indirizzo & "SuoniMusiche120C_003.wav", 9)
    ' SELEZIONA E STAMPA CARTE DA UTILIZZARE (PC UTENTE)
    Sheets("CARTE").Range("A1") = Sheets("CARTE").Range("A1")
    Sheets("CARTE").Range("B1") = Sheets("CARTE").Range("B1")
    Sheets("CARTE").Range("C1") = Sheets("CARTE").Range("C1")
    Sheets("CARTE").Range("D1") = Sheets("CARTE").Range("D1")
    Sheets("CARTE").Range("E1") = Sheets("CARTE").Range("E1")
    Sheets("CARTE").Range("F1") = Sheets("CARTE").Range("F1")
    Sheets("CARTE").Range("G1") = Sheets("CARTE").Range("G1")
    Sheets("CARTE").Range("H1") = Sheets("CARTE").Range("H1")
    Sheets("CARTE").Range("I1") = Sheets("CARTE").Range("I1")
    Sheets("CARTE").Range("J1") = Sheets("CARTE").Range("J1")
    Sheets("CARTE").Range("K1") = Sheets("CARTE").Range("K1")
    Sheets("CARTE").Range("L1") = Sheets("CARTE").Range("L1")
    Sheets("CARTE").Range("M1") = Sheets("CARTE").Range("M1")
    Sheets("CARTE").Range("N1") = Sheets("CARTE").Range("N1")
    Sheets("CARTE").Range("O1") = Sheets("CARTE").Range("O1")
    Sheets("CARTE").Range("P1") = Sheets("CARTE").Range("P1")
    Sheets("CARTE").Range("Q1") = Sheets("CARTE").Range("Q1")
    Sheets("CARTE").Range("R1") = Sheets("CARTE").Range("R1")
    Sheets("CARTE").Range("S1") = Sheets("CARTE").Range("S1")
    Sheets("CARTE").Range("T1") = Sheets("CARTE").Range("T1")
    Sheets("CARTE").Range("U1") = Sheets("CARTE").Range("U1")
    Sheets("CARTE").Range("V1") = Sheets("CARTE").Range("V1")
    Sheets("CARTE").Range("W1") = Sheets("CARTE").Range("W1")
    Sheets("CARTE").Range("X1") = Sheets("CARTE").Range("X1")
    Sheets("CARTE").Range("Y1") = Sheets("CARTE").Range("Y1")
    Sheets("CARTE").Range("Z1") = Sheets("CARTE").Range("Z1")
    Sheets("CARTE").Range("AA1") = Sheets("CARTE").Range("AA1")
    Sheets("CARTE").Range("AB1") = Sheets("CARTE").Range("AB1")
    Sheets("CARTE").Range("AC1") = Sheets("CARTE").Range("AC1")
    Sheets("CARTE").Range("AD1") = Sheets("CARTE").Range("AD1")
    Sheets("CARTE").Range("AE1") = Sheets("CARTE").Range("AE1")
    Sheets("CARTE").Range("AF1") = Sheets("CARTE").Range("AF1")
    'CALCOLO AUTOMATICO
         With Application
         .ScreenUpdating = False
         .EnableEvents = False
         .Calculation = xlCalculationAutomatic
       End With
    'BLOCCO SCROLL PAGINE
    Foglio4.ScrollArea = "A1:AO97"
    Foglio479.ScrollArea = "A1:M28"
    Foglio430.ScrollArea = "A1:M22"
    Foglio510.ScrollArea = "A1:S28"
    'VISUALIZZO A TUTTO SCHERMO
    Application.DisplayFullScreen = True
    'Toglie protezione per macro
    Sheets("OBBIETTIVI").Protect Password:="", UserInterFaceOnly:=True '<--- Toglie protezione (Macro)
    ' STAMPA INFORMAZIONI IN NOTE
    Sheets("NOTE").Visible = True
       Sheets("NOTE").Select
        Cells.Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Sheets("NOTE").Visible = False
    ' ELIMINA SITEMA DI MESCOLA CARTE
    Sheets("CARTE").Visible = True
        Sheets("CARTE").Select
        Rows("5:1000").Select
        Selection.Delete Shift:=xlUp
        Sheets("CARTE").Visible = False
        'Aggiorna visualizzazione
           With Application
          .ScreenUpdating = True
          .EnableEvents = True
          End With
    End Sub



  • di FA-BA (utente non iscritto) data: 01/03/2017 18:59:00


    Però è meglio essere fedeli alla domanda iniziale.


    Spiego meglio con + dettagli che prima non avevo ne creato che ipotizzato quindi:

    Nel Foglio ("NOTE")

    Se L1= "" E M1= "" --> Deve uscire senza salvare!!! ...senza visualizzare nulla.
    Se L1= "" E M1="V" --> MsgBox , poi deve visualizzare -> Sheets("GIOCO").Select Range("H19").Select
    Se L1="A" --> NORMALE ESCE E SALVA!! SE POSSIBILE salvare automaticamente senza visualizzare nulla.

    L1 -> "A" = (Gioco avviato)
    M1 -> "V" = (Gioco solo visualizzato)

    Then MsgBox "GIOCARE ALMENO UNO SCONTRO"



  • di FA-BA (utente non iscritto) data: 03/03/2017 23:20:48

    ...e fare in modo che salvi con nome e si chiuda senza chiedere nulla è possibile?



  • di patel data: 04/03/2017 09:13:47

    Ti sei accorto che ti stanno abbandonando tutti ? stai chiedendo cose non usuali e quindi per risponderti occorre fare prove con un file di esempio SEMPLICE, con solo quello che serve, non protetto, altrimenti ogni discussione rimane un monologo da parte tua.





  • di FA-BA (utente non iscritto) data: 05/03/2017 09:33:01

    Sai bene che non posso inviare il file originale... e fare un file di esempio tenendo conto della complessità del file originare è difficile. L'unica cosa che posso fare è porre domande aspettando risposte anche improvvisate e cercare di elaborarle in modo che si adattino al "tutto" di ciò che sto compilando.
    Tranquillo non mi stanno abbandonando , resti tu.... sai come si dice meglio soli che male accompagnati ... e ... si dice anche chi non ti apprezza non ti merita. E MALE CHE VADA mi restano ricerche in internet e su libri che vorrei comprare ma non faccio mai, (non so se conterranno ciò che mi occorre). Stavo pensando ultimamente di incontrarci se ti va... la mia posta la vedi o devo scriverla? Se mi contatti mi piacerebbe offrirti una pizza e discutere del mio progetto e saperne di più in genere.



  • di FA-BA (utente non iscritto) data: 13/03/2017 14:51:33

    Ho trovato questo codice ma sinceramente mi serve una aiuto per comprenderlo ... e soprattutto come potrei usarlo per il mio scopo.
     
    Option Explicit
    Sub copia()
        Dim Ws1 As Worksheet:  Set Ws1 = ThisWorkbook.Worksheets("Dati")
        Dim Percorso As String, nomeFile As String, Verifica
        Percorso = Ws1.Range("J2")
        Application.ScreenUpdating = False
        'Application.DisplayAlerts = False
        Ws1.Select
        nomeFile = Sheets("Sviluppo").Range("F21")
        Set Verifica = CreateObject("Scripting.FileSystemObject")
        If Not Verifica.FolderExists(Percorso) Then
            Verifica.CreateFolder (Percorso)
            Percorso = Percorso & "" & nomeFile & ".XLSX"
            Ws1.Select
            Ws1.Copy
            ActiveWorkbook.SaveAs Filename:=Percorso, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
            ActiveWorkbook.Close
        Else
            Percorso = Percorso & "" & nomeFile & ".XLSX"
            Ws1.Select
            Ws1.Copy
            ActiveWorkbook.SaveAs Filename:=Percorso, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
            ActiveWorkbook.Close
        End If
        'Application.DisplayAlerts = True
        Application.ScreenUpdating = True
        Set Ws1 = Nothing
    End Sub



  • di patel data: 14/03/2017 08:06:10

    se ben ricordo il tuo gioco una volta avviato non mostra il pulsante X per chiudere, quindi come si fa ad uscirne ? probabilmente con un pulsante apposito che puoi disabilitare fino a che non sono soddisfatte certe condizioni.





  • di FA-BA (utente non iscritto) data: 14/03/2017 16:46:43

    L'ho creato invece, probabilmente non ne ho parlato ma ho creato un pulsante chiudi con 3 scelte di cui una sola funzionante (ritorna)-> ritorna al gioco o menu a seconda della situazione, le altre 2 opzioni sono Salva e l'altra abbandona quindi deve uscire ed eliminare il file ..! Grazie Patel !!!



  • di FA-BA (utente non iscritto) data: 16/03/2017 15:26:22

    CI PROVO DA SOLO GRAZIE COMUNQUE !