Cancella dato di un foglio



  • Cancella dato di un foglio
    di angy (utente non iscritto) data: 16/01/2014 12:26:39

    Buongiorno a tutti,
    Avrei bisogno di un aiuto per completare questa macro sotto riportato.
    Il codice in questione mi cancella il foglio scritto nella Textbox.
    Ciò che avrei bisogno è che quando elimino un foglio specificato nella textbox, vada a cancellarmi anche nel foglio "Dati" colonna F la stessa parola digitata nella textbox.
    Grazie a tutti
     
    Private Sub CommandButton12_Click()
    Dim NomeFoglio, risposta
     Dim FL As Boolean
     Dim WS As Worksheet
    NomeFoglio = [TextBox11]  ' il nome del foglio da eliminare si trova nella textbox11
     FL = False
     For Each WS In Worksheets
          If LCase(WS.Name) = LCase(NomeFoglio) Then
               FL = True
               risposta = MsgBox("Sicuro di voler eliminare il foglio " & NomeFoglio & "?", vbYesNo, "ATTENZIONE")
               If risposta = vbNo Then Exit Sub
               Application.DisplayAlerts = False
               Sheets(NomeFoglio).Delete
               Application.DisplayAlerts = True
               MsgBox "il foglio " & NomeFoglio & " è stao eliminato"
                                      
          End If
     Next
     If FL = False Then
          MsgBox "il foglio " & NomeFoglio & " non esiste" & vbCr _
               & "Impossibile compiere l'operazione"
            
       End If
      TextBox11 = ""
    End Sub



  • di patel data: 16/01/2014 14:13:17

    allega un file di esempio per poter provare il codice





  • di angy (utente non iscritto) data: 19/01/2014 20:41:52

    Ok... file allegato
    Grazie



  • di Raffaele_53 (utente non iscritto) data: 19/01/2014 23:29:53

    Il Tuo codice non l'ho trovato, pertanto non ho fatto prove (credo che vuoi eliminare la cella con lo stesso nome del foglio in DATI-F2:F6). Io cambierei la prima riga con....

    Dim NomeFoglio As String, risposta As String, X As Long, Uriga As Long

    e subito prima di end sub metterei
     
       Uriga = Sheets("Dati").Range("F" & Rows.Count).End(xlUp).Row
        For X = 2 To Uriga
            If Sheets("Dati").Cells(X, 6) = NomeFoglio Then
                    Sheets("Dati").Cells(X, 6).Delete Shift:=xlUp
                    Exit For
            End If
        Next X



  • di angy (utente non iscritto) data: 20/01/2014 10:22:26

    Ciao Raffaele,
    In primis grazie per avermi risposto e dedicato del tuo tempo al mio problema.
    In secundis aggiungendo il tuo codice funziona una meraviglia, ed era proprio quello che cercavo. Personalmente ho fatto tanti tentativi ma non ne venivo fuori. Sei davvero un grande.
    P.s. Non hai nemmeno trovato il codice per provare! Sei una persona molto in gamba.
    Ti ringrazio davvero tanto. Un abbraccio.....