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

LoginRegistrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #21513 Risposta

    VforVendetta
    Partecipante
    • darkness@teletu.it

      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 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 Risposta

        VforVendetta
        Partecipante
        • darkness@teletu.it

          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 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 Risposta
            tanimon
            tanimon
            Partecipante
              5 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 Risposta

              VforVendetta
              Partecipante
              • darkness@teletu.it

                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 Risposta
                tanimon
                tanimon
                Partecipante
                  5 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

                LoginRegistrati
                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:



                vecchio frac - 2748 risposte

                albatros54
                albatros54 - 735 risposte

                patel
                patel - 636 risposte

                Marius44
                Marius44 - 557 risposte

                Luca73
                Luca73 - 523 risposte