Sviluppare funzionalita su Microsoft Office con VBA Problema IF in ciclo FOR

Login Registrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #21513 Score: 0 | Risposta

    Egregi,

     

    sto provando ad utilizzare un codice di questo tipo non funziona.

    Il stringa IF genera l'errore "errore definito dall'applicazione o dall'oggetto"

    Dim i As Integer
    N_A = Firme_EHS.TextBox1

     

    For i = 14 To 50
    If Worksheets("AVVISIehs").Cells(i, 1) = N_A Then

     

    Worksheets("AVVISIehs").Cells(i, 4).Value = Worksheets("Agenda_5m").Cells(74, 16).Value
    Worksheets("AVVISIehs").Cells(i, 5).Value = Worksheets("Agenda_5m").Cells(76, 16).Value
    Worksheets("AVVISIehs").Cells(i, 6).Value = Worksheets("Agenda_5m").Cells(78, 16).Value
    Worksheets("FIRMEehs").Cells(i, 7).Value = Worksheets("Agenda_5m").Cells(80, 16).Value
    Worksheets("FIRMEehs").Cells(i, 8).Value = Worksheets("Agenda_5m").Cells(82, 16).Value
    Worksheets("FIRMEehs").Cells(i, 9).Value = Worksheets("Agenda_5m").Cells(84, 16).Value
    Worksheets("FIRMEehs").Cells(i, 10).Value = Worksheets("Agenda_5m").Cells(86, 16).Value

    End If
    Next
    Unload Me

    Il vero problema è che il codice pressoché uguale al seguente, che funziona perfettamente nello stesso workbook:

    For i = 2 To 60
    If Application.WorksheetFunction.WeekNum(Date) = Cells(i, 1).Value Then

    Cells(i, 3).Value = Firme_APSYS.ListBox2.List
    Cells(i, 4).Value = Firme_APSYS.ListBox4.List
    Cells(i, 5).Value = Firme_APSYS.ListBox6.List
    Cells(i, 6).Value = Firme_APSYS.ListBox8.List
    Cells(i, 7).Value = Firme_APSYS.ListBox10.List
    Cells(i, 8).Value = Firme_APSYS.ListBox12.List
    Cells(i, 9).Value = Firme_APSYS.ListBox14.List
    Cells(i, 10).Value = Firme_APSYS.ListBox16.List
    Cells(i, 11).Value = Firme_APSYS.ListBox18.List
    Cells(i, 12).Value = Firme_APSYS.ListBox20.List

    End If
    Next i

     

    Grazie a tutti quelli che mi aiuteranno.

    L'intoppo nasce proprio sul primo IF: la condizione non viene riconosciuta come vera. Infatti, ho provato ad inserire un generico ELSE e, infatti, il codice esegue l'ELSE per ogni iterazione del ciclo FOR.

     

    Marzio

    #21515 Score: 0 | Risposta

    Mister_x

      ciao

      forse il problema sta che tu stai confrontando una cella numerica con un testo

      Worksheets("AVVISIehs").Cells(i, 1) = N_A Then

      N_A = Firme_EHS.TextBox1

      se in cells(i,1) ai un valore  tipo 1,2,3 ecc  e in Textbox1  inserisci un valore tipo 1,2,3 ma e' testo prova

      a mettere un semplice  *1

      N_A = Firme_EHS.TextBox1 * 1

      invece se in cells(i,1 ) ai una data   e tu scrivi una data  03/12/2019, questa e' testo,  devi fare la conversione con DateValue() vedi help in linea

      ciao

      #21517 Score: 0 | Risposta

      Ciao,

       

      se utilizzo il codice

      For i = i To 18
      If ActiveSheet.Range("A14").Value = N_A Then
      MsgBox "Ciao"

      Funziona perfettamente.

      Il problema dunque è l'impiego della i e del ciclo FOR

      Cosa sbaglio?   

      #21518 Score: 0 | Risposta

      Mister_x

        ciao

        a questo punto servirebbe un tuo file con inserita gia' la macro e senza dati sensibili, per avere un quadro di cosa e' e cosa si puo' fare, con un minimo di spiegazione di cosa fa questa

        ciao

        #21519 Score: 0 | Risposta

        tanimon
        Partecipante
          16 pts

          ciao a tutti,

           ed un saluto a MisterX.

           

          VforVendetta ha scritto:

          Il stringa IF genera l'errore "errore definito dall'applicazione o dall'oggetto"

          senza file come ha consigliato MisterX,

          a me viene il dubbio che il foglio Worksheets("AVVISIehs") non sia presente nel file o abbia un nome scritto diversamente,

          che è come la stessa cosa.

          ciao

          Frank

           

          #21520 Score: 0 | Risposta

          Ragazzi in effetti, provando a far lavorare il codice su un nuovo foglio...

          Beh, funziona.

          Giusto per mia cultura personale, credete che il problema possa essere stato di "nome" o presenzA di elementi di disturbo nel foglio? Che ne so, celle unite etc.

          #21521 Score: 0 | Risposta

          tanimon
          Partecipante
            16 pts

            VforVendetta ha scritto:

            Giusto per mia cultura personale, credete che il problema possa essere stato di "nome" o presenzA di elementi di disturbo nel foglio? Che ne so, celle unite etc.

            vedendo il file una risposta esaustiva sarebbe stata possibile, senza.......

            ti rimane la cultura.

            Personale, come il file.

             

            Ciao

            Frank

          Login Registrati
          Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
          Rispondi a: Problema IF in ciclo FOR
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: