Numerazione progressiva con condizione



  • Numerazione progressiva con condizione
    di pannilandia data: 15/05/2014 16:30:11

    Ciao a tutti ho ripreso un listato proposto in questo thread: Forum/story/Excel_e_gli_applicativi_Office/Metodo_Autofill_malfunzionante.html
    e l'ho adattato alle mie esigenze, avrei però da chiedere una variante, avrei bisogno di far saltare alla numerazione alcune righe che contengono determinate frasi, come posso fare?
     
    Option Explicit
    Public Sub progressivo()
    
    'dichiaro le variabili
    Dim wk As Workbook
    Dim sh As Worksheet
    Dim lUltRiga As Long
      
      'metto un riferimento al worksbook
      'che contiene il codice
      Set wk = ThisWorkbook
      
      'metto un riferimento al Foglio1
      With wk
      Set sh = .Worksheets("DATI")
      End With
      
      With sh
        'trovo l'ultima riga con
        'dati della colonna C
        lUltRiga = .Range("C" & .Rows.Count).End(xlUp).Row
        .Range("A5:A" & lUltRiga).FormulaR1C1 = "=IFERROR(R[-1]C+1,1)"
        .Range("A5:A" & lUltRiga) = .Range("A5:A" & lUltRiga).Value
      End With
      
      'Set a Nothing delle variabili oggetto
      Set sh = Nothing
      Set wk = Nothing
    
    End Sub



  • di Lucas87 data: 15/05/2014 17:11:34

    Ciao
    Quali sono queste frasi?
    Le altre celle contengono frasi simili?
    Le altre celle contengono qualcosa?



  • di pannilandia data: 15/05/2014 17:46:54

    Ciao dovrebbe saltare la numerazione delle righe che contengono "IL RESPONSABILE DI SALA" che è presente solo in alcuen righe



  • di pannilandia data: 16/05/2014 18:10:21

    Qualcuno riuscirebbe a darmi una mano



  • di lepat (utente non iscritto) data: 16/05/2014 18:30:51

    se alleghi un file di esempio con i dati ed il risultato desiderato



  • di Lucas87 data: 16/05/2014 18:35:09

    Nel tuo intervallo, la frase che hai indicato si trova su una colonna specifica? è sempre su quella? Quale?
    Le celle delle altre righe contengono qualcosa? sono vuote?

    Potresti allegare un file di esempio che mostri la struttura e la disposizione dei dati?



  • di pannilandia data: 16/05/2014 19:35:06

    Ciao, per essere più precisi, sulla colonna da C11 ho i dati che vengono controllati, sulla colonna da A11 ho la numerazione progressiva, il listato mi effettua la numerazione controllando solo l'ultima riga della colonna da C11 se è vuota o piena; se è piena termina la numerazione. Adesso avrei bisogno che, oltre al suddetto controllo mi effettuasse un ulteriore controllo su righe che possano contenere la scritta "IL RESPONSABILE DI SALA". Quando trovo eventuali righe che contengano tali scritte, nella corrispettiva riga della colonna A mi salterà la progressione numerica.
    Non posso passarvi il file perchè non ho una copia di esempio e l'originale ha dati sensibili. Spero di aver presentato al meglio quello che la mia richiesta.



  • di lepat (utente non iscritto) data: 17/05/2014 07:14:31

    equivale a dire:
    io non ho tempo da perdere per creare un file di esempio, fatelo voi per me.



  • di pannilandia data: 19/05/2014 09:19:29

    Ciao lepat scusate il modo di esprimermi, non era nelle mie intenzioni passare per quello che si siede e aspetta, ma sapete meglio di me che per imparare tutte le nozioni necessarie a risolvere i più svariati problemi ci sarebbe bisogno di molto tempo, e lo stimolo ad imparare viene proprio quando ti serve qualcosa per risolvere il tuo problema personale, ma ti accorgi che non hai le conoscenze adatte per affrontarlo per cui chiedi aiuto anche per un problema che per voi sarà banalissimo, ma che per me, che ora mi accosto a questo stupendo linguaggio, è l' Everest.



  • di pannilandia data: 19/05/2014 10:03:56

    Ciao a tutti ho creato l'esempio se voleste darci un' occhiata



  • di lepat (utente non iscritto) data: 19/05/2014 12:27:50

    prova questa
     
    Public Sub progressivo()
    Dim lUltRiga As Long, r As Long, n As Long, sh As Worksheet
    Set sh = Worksheets("DIARIO DI RIEPILOGO")
    n = 1
    With sh
      lUltRiga = .Range("b" & .Rows.Count).End(xlUp).Row
      For r = 11 To lUltRiga
        If InStr(.Cells(r, 3).Text, "RESPONSABILE DI SALA") = 0 Then
          .Cells(r, 1) = n
          n = n + 1
        End If
      Next
    End With
    Set sh = Nothing
    myBordiCella
    
    End Sub



  • di pannilandia data: 20/05/2014 10:01:48

    Grazie Leipat ottimo e funzionante, se volessi che le righe dove c'è la scritta IL RESPONSABILE DI SALA, appaiono con il carattere in grassetto come devo fare ho allegato il file con la modifica



  • di lepat (utente non iscritto) data: 20/05/2014 13:08:32

    eccola
     
    Public Sub progressivo()
    Dim lUltRiga As Long, r As Long, n As Long, sh As Worksheet
    Set sh = Worksheets("DIARIO DI RIEPILOGO")
    n = 1
    With sh
      lUltRiga = .Range("b" & .Rows.Count).End(xlUp).Row
      For r = 11 To lUltRiga
        If InStr(.Cells(r, 3).Text, "RESPONSABILE DI SALA") = 0 Then
          .Cells(r, 1) = n
          n = n + 1
        Else
          .Range("A" & r & ":D" & r).Font.Bold = True
        End If
      Next
    End With
    Set sh = Nothing
    myBordiCella
    End Sub



  • di pannilandia data: 21/05/2014 14:55:58

    Grazie Lepat sei un grande, se volessi mettere risolto a questo thread come devo fare?



  • di lepat (utente non iscritto) data: 21/05/2014 16:13:15

    sopra la risposta che stai editando c'è la casella di spunta, ce lo metto io