registrazione macro



  • registrazione macro
    di mandoz (utente non iscritto) data: 06/05/2014 21:14:17

    ciao a tutti,
    oggi con excel 2010 ho registrato una semplice macro
    come potete vedere lavora sulla cella F17
    ..... vorrei che lavorasse sulla cella attiva.
    E' possibile modificare il codice?

    grazie
     
    Sub Modify()
    '
    ' Modify Macro
    '
    
    '
        ActiveSheet.Unprotect
        Range("F17").Select
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
            :=xlBetween
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False
    End Sub



  • di Raffaele_53 (utente non iscritto) data: 06/05/2014 23:20:34

    Prova
     
    Sub Modify()
    Dim X As Long, Y As Long
    ActiveSheet.Unprotect
    X = ActiveCell.Row
    Y = ActiveCell.Column
    Cells(X, Y).Select
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
            :=xlBetween
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
            False
    End Sub



  • di mandoz (utente non iscritto) data: 08/05/2014 06:40:44

    ciao Raffaele

    abbiamo un problemino
    excel mi risponde errore di run-time '1004':
    errore definito dall'applicazione o dall'oggetto
    grazie



  • di Grograman (utente non iscritto) data: 08/05/2014 08:41:54

    Sforbiciata al codice di Raffaele (ciao!) che in ogni caso non mi sembra dia errori di sorta, a meno che tu non lo lanci senza avere una cartella di lavoro attivata!

    Ad ogni modo non ho capito lo scopo del codice!
     
    Option Explicit
    Sub Modify()
      ActiveSheet.Unprotect
      With ActiveCell.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
      End With
      ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
    End Sub



  • di lepat (utente non iscritto) data: 08/05/2014 08:50:50

    infatti i questi casi è sempre meglio allegare un file di esempio da testare, anche io non rilevo alcun errore nel codice di Raffaele_53 anche se approvo la sforbiciata



  • di mandoz (utente non iscritto) data: 09/05/2014 22:44:56

    ciao,
    funziona !!! grazie.
    ho comunque allegato il file come consigliato.
    provo a spiegare a cosa mi serve il codice.
    il file excel mi serve per segnare gli orari di lavoro. noterete un foglio per ogni mese.
    questi fogli sono protetti (senza psw) per evitare cancellazioni errate
    i valori nelle celle vengono inseriti da tendina convalida dati

    il codice mi serve per inserire un orario non previsto dalla convalida dati
    (sempre che non si possa fare diversamente)