Condividi tramite

Problema errore runtime 424

Anonimo
2018-04-05T16:23:22+00:00

Buonasera, ho un file excel con codice vba, che sinceramente ha funzionato fino ad oggi.

Quando ho pensato bene di fare delle piccole modifiche. Dopo le modifiche mi riporta l'errore sopra descritto.

Vi scrivo il codice vba con l'errore contrassegnato. Da sottolineare che molte celle sono bloccate da password.

Ringraziando anticipatamente

Private Sub CommandButton5_Click()

'--------->>

    Dim numRiga As Long

    Const sPassword As String = "pippo"

    Const iUltimaRiga As Long = 518               '<<=== Modifica

    If TextDataR.Text = "" Then

        MsgBox ("Data di ricovero Obbligatoria!")

        TextDataR.SetFocus

        Exit Sub

    End If

    If TextNascita.Text = "" Then

        MsgBox ("Data di nascita Obbligatoria!")

        TextNascita.SetFocus

        Exit Sub

    End If

    If ComboBox4SESSO.Text = "" Then

        MsgBox ("Inserire il sesso!")

        ComboBox4SESSO.SetFocus

        Exit Sub

    End If

    With ActiveSheet

        numRiga = .Cells(iUltimaRiga, "A").End(xlUp).Row

        Select Case numRiga

        Case 1

            numRiga = 3

        Case Is < iUltimaRiga

            numRiga = numRiga + 4

        Case Is >= iUltimaRiga

            Call MsgBox( _

                 Prompt:="Non  è stato possibile inserire i dati " _

                         & "SPAZIO A DISPOSIZIONE TERMINATO CONTATTARE AMMINISTRATORE!", _

                 Buttons:=vbCritical, _

                 Title:="REPORT")

        End Select

 On Error GoTo XIT

        .Unprotect Password:=sPassword

        .Range("A" & numRiga).Resize(1, 11).Value = Array( _

                                                    TextDataR.Text, _

                                                    TextRAD.Text, _

                                                    ComboBox5SALAR.Text, _

                                                    TextCognome.Text, _

                                                    ComboBox4SESSO.Value, _

                                                    TextEtà.Text, _

                                                    Combobox2PROVENIENZA.Value, _

                                                    ComboBox3ELENCO1.Text, _

                                                    TextNascita.Text, _

                                                    TextTelefono.Text, _

                                                    TextDiagnosi.Text)

       .Range("S" & numRiga).Resize(1, 3).Value = Array( _

                                                    ComboBox10APACHE1.Value, _

                                                    ComboBox11SOFA.Value, _

                                                    TextSAPS2.Value)

 .Protect Password:=sPassword

  End With

    Call CommandButton6_Click

    MsgBox ("Inserimento eseguito con successo!")

 Exit Sub

XIT:

   SH.Protect Password:=sPassword<------------ errore che mi contrassegna

End Sub

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2018-04-05T17:40:53+00:00

Ciao Fabio,

Private Sub CommandButton5_Click()

'--------->>

    Dim numRiga As Long

    Const sPassword As String = "pippo"

    Const iUltimaRiga As Long = 518               '<<=== Modifica

    If TextDataR.Text = "" Then

        MsgBox ("Data di ricovero Obbligatoria!")

        TextDataR.SetFocus

        Exit Sub

    End If

    If TextNascita.Text = "" Then

        MsgBox ("Data di nascita Obbligatoria!")

        TextNascita.SetFocus

        Exit Sub

    End If

    If ComboBox4SESSO.Text = "" Then

        MsgBox ("Inserire il sesso!")

        ComboBox4SESSO.SetFocus

        Exit Sub

    End If

    With ActiveSheet

        numRiga = .Cells(iUltimaRiga, "A").End(xlUp).Row

        Select Case numRiga

        Case 1

            numRiga = 3

        Case Is < iUltimaRiga

            numRiga = numRiga + 4

        Case Is >= iUltimaRiga

            Call MsgBox( _

                 Prompt:="Non  è stato possibile inserire i dati " _

                         & "SPAZIO A DISPOSIZIONE TERMINATO CONTATTARE AMMINISTRATORE!", _

                 Buttons:=vbCritical, _

                 Title:="REPORT")

        End Select

 On Error GoTo XIT

        .Unprotect Password:=sPassword

        .Range("A" & numRiga).Resize(1, 11).Value = Array( _

                                                    TextDataR.Text, _

                                                    TextRAD.Text, _

                                                    ComboBox5SALAR.Text, _

                                                    TextCognome.Text, _

                                                    ComboBox4SESSO.Value, _

                                                    TextEtà.Text, _

                                                    Combobox2PROVENIENZA.Value, _

                                                    ComboBox3ELENCO1.Text, _

                                                    TextNascita.Text, _

                                                    TextTelefono.Text, _

                                                    TextDiagnosi.Text)

       .Range("S" & numRiga).Resize(1, 3).Value = Array( _

                                                    ComboBox10APACHE1.Value, _

                                                    ComboBox11SOFA.Value, _

                                                    TextSAPS2.Value)

                                                    

 .Protect Password:=sPassword

  End With

    Call CommandButton6_Click

    MsgBox ("Inserimento eseguito con successo!")

 Exit Sub

XIT:

   SH.Protect Password:=sPassword  <------------ errore che mi contrassegna

End Sub

Non hai dichiarito la variabile SH.

Prova a sostituire 

       SH.Protect Password:=sPassword

con;

       ActiveSheet.Protect Password:=sPassword

===

Regards,

Norman

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2018-04-07T11:19:39+00:00

    Sei il migliore

    Grazie tante Fabio

    La risposta è stata utile?

    0 commenti Nessun commento