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

    ABRAMO48
    Partecipante
      1 pt
      Sub X_MSG_beg(ByVal MSGP, MSGQ As String, RIGT As Integer)
      '
          Set MM = Workbooks("LOGISTA_MACRO.xls").Worksheets("MACRO")
          Workbooks("LOGISTA_MACRO.xls").Worksheets("MACRO").Activate
          Application.ScreenUpdating = True
          MM.Unprotect
          
          Call M_SET_BAR
          
          MM.Range("A14").Select
          MM.Range("A14") = "in Esecuzione"
      If MSGQ <> "" Then
          MM.Range("A16") = MSGQ
      End If
          MM.Range("A17") = "..."
          MM.Range("A17").Font.ColorIndex = 2
      
      If MM.Range("E14") = 0 Then
          MM.Range("A15") = MSGP
          MM.Range("A15").Font.ColorIndex = 6
      If MsgBox("CONFERMA Esecuzione", vbDefaultButton2 + vbOKCancel, MSGP) <> 1 Then
          MM.Range("A14") = "Esecuzione ANNULLATA"
          MM.Range("A17") = ""
          MM.Protect
          End
      End If
          MM.Range("E14") = Now()
          MM.Range("F14") = Now()
          MM.Range("F15") = MM.Cells(RIGT, "EF").Value
          RIGS = RIGT
      End If
      
          MM.Protect
          Application.CutCopyMode = False
          Application.ScreenUpdating = False
          Application.Wait (Now + TimeValue("0:00:01"))
      '
      End Sub

      La macro riportata, richiamata da una Call, ha sempre funzionato senza problemi.

      Ora mi da una segnalazione di MEMORIA INSUFFICIENTE e poi un errore dove il debug segnala (più o meno) di " impossibilità di eseguire colorIndex = 2 per la classe di font" ...

      Remmando le due istruzioni con ColorIndex rifunziona tutto perfettamente.

      Qualcuno sa dirmi cosa diav... sta succedendo?

      Grazie carissimi!

      #22063 Score: 0 | Risposta

      PMC77
      Partecipante
        18 pts

        Hai provato ad usare al posto di colorindex = "n" il colore RGB(a,b,c) ?

        #22064 Score: 0 | Risposta

        ABRAMO48
        Partecipante
          1 pt

          sfruculiando sui forum sul problema, da qualche parte qualcuno suggerisce di attivare "prima" la cella:

          MM.Range("A17").Activate
          MM.Range("A17").Font.ColorIndex = 2

          Che non è lo stesso di selezionarla (Select)

          Può essere?

          In ogni caso, qual'è la differenza fra Select e Activate?

          #22073 Score: 0 | Risposta

          albatros54
          Moderatore
            89 pts

            ABRAMO48 ha scritto:

            In ogni caso, qual'è la differenza fra Select e Activate?

            "Guida di riferimento per sviluppatori di Excel
            Range.Activate, metodo
            Attiva una singola cella contenuta nella selezione corrente. Per selezionare un intervallo di celle, utilizzare il metodo Select.Sintassi

            espressione.Activate

            espressione   Variabile che rappresenta un oggetto Range.

            Valore restituito
            Variant

            Esempio

            In questo esempio vengono selezionate le celle A1:C3 di Sheet1 e viene quindi attivata la cella B2.

            Visual Basic, Application Edition
            Worksheets("Sheet1").Activate
            Range("A1:C3").Select
            Range("B2").Activate"

             

            Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente? ( Alan Turing)
            Sempre il mare, uomo libero, amerai!
            ( Charles Baudelaire )
          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Errore in COLOR INDEX
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: