Risultati da 1 a 6 di 6

Discussione: Errore Run time 13 se aggiungo righe in men¨ a tendina



  1. #1
    L'avatar di Kiter
    Clicca e Apri
    Data Registrazione
    Oct 2016
    LocalitÓ
    Olgiate Olona
    EtÓ
    25
    Messaggi
    34
    Versione Office
    2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    3

    Errore Run time 13 se aggiungo righe in men¨ a tendina

    Ciao a tutti spero possiate aiutarmi:
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)If Not Intersect(Target, Range("F75:F316")) Is Nothing Then
        If Target.Value = "Z" Then
            Target.Offset(0, 4).Interior.ColorIndex = 6
            Target.Offset(0, 5).Interior.ColorIndex = 6
            Target.Offset(0, 6).Interior.ColorIndex = 6
        Else
            Target.Offset(0, 4).Interior.ColorIndex = 0
            Target.Offset(0, 5).Interior.ColorIndex = 0
            Target.Offset(0, 6).Interior.ColorIndex = 0
            End If
    End If
    End Sub
    Questo il codice della mia macro e funziona senza nessun problema, ma se aggiungo o cancello una riga dell'intervallo mi esce l'errore. Posso aggiungere qualche codice in modo da ignorare l'errore o per risolverlo?

    grazie
    Ultima modifica fatta da:Marius44; 17/10/16 alle 10:09

  2. #2
    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Napoli
    EtÓ
    63
    Messaggi
    2026
    Versione Office
    2007 - 2013
    Mi Piace ricevuti
    256
    Mi Piace dati
    39

    Re: Errore Run time 13 se aggiungo righe in men¨ a tendina

    Ciao kiter

    Potresti usare On Error Resume Next che in caso di errore passa all'istruzione successiva

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, Range("F75:F316")) Is Nothing Then
        If Target.Value = "Z" Then
            Target.Offset(0, 4).Interior.ColorIndex = 6
            Target.Offset(0, 5).Interior.ColorIndex = 6
            Target.Offset(0, 6).Interior.ColorIndex = 6
        Else
            Target.Offset(0, 4).Interior.ColorIndex = 0
            Target.Offset(0, 5).Interior.ColorIndex = 0
            Target.Offset(0, 6).Interior.ColorIndex = 0
            End If
    End If
    End Sub
    Non Ŕ una buonissima idea utilizzarlo (perchÚ non "gestisce" l'errore) ma forse nel tuo caso pu˛ andar bene.
    Alfredo

    "Non esistono cose facili o difficili; esistono cose che si sanno e cose che non si sanno"
    Cit. Berna11: "Se ti piace la risposta di qualcuno, oltre a ringraziarlo, puoi cliccare su "Mi Piace" in basso a sinistra del loro messaggio."

  3. #3
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    LocalitÓ
    Catania
    EtÓ
    72
    Messaggi
    1389
    Versione Office
    Excel2007
    Mi Piace ricevuti
    349
    Mi Piace dati
    94

    Re: Errore Run time 13 se aggiungo righe in men¨ a tendina

    Ciao
    saluto affettuosamente Alfredo ed aggiungo la mia proposta.
    E se rendessi "dinamico" l'intervallo segnato in rosso (sempre che si possa fare non visionando il file)?
    If Not Intersect(Target, Range("F75:F316")) Is Nothing Then

    Ciao,
    Mario

  4. #4
    L'avatar di Kiter
    Clicca e Apri
    Data Registrazione
    Oct 2016
    LocalitÓ
    Olgiate Olona
    EtÓ
    25
    Messaggi
    34
    Versione Office
    2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    3

    Re: Errore Run time 13 se aggiungo righe in men¨ a tendina

    Cosa si intende per dinamica?
    File Allegati File Allegati

  5. #5
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    40
    Messaggi
    625
    Versione Office
    office pro 2010
    Mi Piace ricevuti
    155
    Mi Piace dati
    98

    Re: Errore Run time 13 se aggiungo righe in men¨ a tendina

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Rows.Count = 1 And Target.Columns.Count = 1 Then
            If Not Intersect(Target, Range("F75:F316")) Is Nothing Then
                If Target.Value = "Z" Then
                    Target.Offset(0, 4).Interior.ColorIndex = 6
                    Target.Offset(0, 5).Interior.ColorIndex = 6
                    Target.Offset(0, 6).Interior.ColorIndex = 6
                Else
                    Target.Offset(0, 4).Interior.ColorIndex = 0
                    Target.Offset(0, 5).Interior.ColorIndex = 0
                    Target.Offset(0, 6).Interior.ColorIndex = 0
                    End If
            End If
        End If
    End Sub
    Tu vuoi gestire il cambio di valore di UNA cella.
    target potrebbe essere una o PIU' celle. di TUTTO il foglio.

    Gli eventi vanno SEMPRE filtrati di modo da prendere in considerazione SOLO quello che serve.

    Prova e vedrai che risolvi

    Se devi gestire anche altre cose in questo evento:

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Rows.Count = 1 And Target.Columns.Count = 1 Then
            If Not Intersect(Target, Range("F75:F316")) Is Nothing Then
                If Target.Value = "Z" Then
                    Target.Offset(0, 4).Interior.ColorIndex = 6
                    Target.Offset(0, 5).Interior.ColorIndex = 6
                    Target.Offset(0, 6).Interior.ColorIndex = 6
                Else
                    Target.Offset(0, 4).Interior.ColorIndex = 0
                    Target.Offset(0, 5).Interior.ColorIndex = 0
                    Target.Offset(0, 6).Interior.ColorIndex = 0
                End If
            Else   'If Not Intersect(Target, Range(QualcheAtroRangeMonoCella)) Is Nothing Then
                'Gestirai qualche altra monocella
            End If
        Else
            ' gestione delTarget multicella
        End If
    End Sub

  6. I seguenti utenti hanno dato un "Mi Piace"


  7. #6
    L'avatar di Kiter
    Clicca e Apri
    Data Registrazione
    Oct 2016
    LocalitÓ
    Olgiate Olona
    EtÓ
    25
    Messaggi
    34
    Versione Office
    2010
    Mi Piace ricevuti
    0
    Mi Piace dati
    3

    Re: Errore Run time 13 se aggiungo righe in men¨ a tendina

    Perfetto grazie mille!! :D

Discussioni Simili

  1. Errore run-time 62
    Di yoghi87 nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 06/10/16, 12:26
  2. Messaggi di errore per errata scelta nei menu a tendina collegati
    Di ProgrammD69 nel forum Domande su Excel in generale
    Risposte: 23
    Ultimo Messaggio: 04/09/16, 12:13
  3. Errore di run-time 424
    Di Khan nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 15/05/16, 15:50
  4. Errore run-time n. 13 Tipo non corrispondente
    Di alfrimpa nel forum Domande su Excel VBA e MACRO
    Risposte: 6
    Ultimo Messaggio: 17/03/16, 13:54
  5. Errore run-time 1004
    Di revenge9 nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 05/11/15, 09:52

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •