Sviluppare funzionalita su Microsoft Office con VBA funzione se che ti restituisce una stringa.

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

    mflauto
    Partecipante
      1 pt

      Buonasera,

      non so se devo utilizzare la funzione SE per farmi restituire la stringa in una cella; mi spiego meglio,

      ho una tabella con 4 colonne (A,B,C,D), nella colonna "C" ci sono delle date, mentre nella colonna "D" ci sono delle stringe;

      io vorrei che: quando la colonna "D" è vuota nella colonna "C" non deve comparire nessuna data, mentre quando nella

      colonna "D" c'è una stringa, nella colonna "D" deve comparire la data.

      In allegato il file di esempio.

      Grazie come sempre.

      Massimiliano

       

      Allegati:
      You must be logged in to view attached files.
      #31620 Score: 0 | Risposta

      alfrimpa
      Partecipante
        33 pts

        Ma quale data deve comparire se in Dn c'è una stringa?

        Se scriviamo in C2

        =SE(D2="";"";OGGI())

        però la funzione OGGI() ogni giorno restituisce un valore diverso.

        Se la data deve rimanere fissa già saprai che occorre il VBA.

        #31621 Score: 0 | Risposta

        mflauto
        Partecipante
          1 pt

          Buonasera Alfredo,

          mi spiego meglio, nella colonna C vengono riportate le date dei  formulari, nella colonna D il numeri del formulario con il prefisso FIR il numero del formulario è il suffisso/aa (FIR22450/20). Quando nella colonna D non é presente la stringa del formulario nella colonna C non mi deve apparire nessuna data (le date vengono generate automaticamente da un programma; il programma quando non trova la stringa in D, mette nella colonna C una data 01/01/1900 (io non vogli più farla apparire) l, ma voglio solo far apparire la data del formulario (che viene generata da un report). 

          #31622 Score: 0 | Risposta

          Oscar
          Partecipante
            45 pts

            nella colonna C non mi deve apparire nessuna data (le date vengono generate automaticamente da un programma; il programma quando non trova la stringa in D, mette nella colonna C una data 01/01/1900 (io non vogli più

             

            Se la data in C viene generata da un programma devi fare una macro dove dice di pulire la cella in colonna C se la cella in colonna D è vuota

            #31623 Score: 0 | Risposta

            mflauto
            Partecipante
              1 pt

              Buonasera,

              a me interessa la formula in Excel; poi ad inserirla in una macro ci penso io.

              Grazie.

              #31624 Score: 0 | Risposta

              patel
              Moderatore
                51 pts

                mflauto ha scritto:

                a me interessa la formula in Excel; poi ad inserirla in una macro ci penso io.

                ho qualche dubbio su quando dici, come faresti ?

                #31625 Score: 0 | Risposta

                Oscar
                Partecipante
                  45 pts

                  mflauto ha scritto:

                  a me interessa la formula in Excel; poi ad inserirla in una macro ci penso io.

                  Grazie.

                   

                  La formula è questa  , ma concordo con patel che saluto

                   

                  =SE(D1="";"")

                   

                  Metti questo nella macro o in un  pulsante 

                   

                  For i = 2 To 6
                  If Range("D" & i) = "" Then Range("C" & i) = ""
                  Next

                  #31630 Score: 0 | Risposta

                  mflauto
                  Partecipante
                    1 pt

                    Buongiorno,

                    ho utilizzato il seguente codice in VBA:

                    Sub data()
                    
                    ' MACRO CHE ELIMINA LA DATA QUANDO NON CI SONO FORMULARI
                    '
                        Application.ScreenUpdating = False ' velocizza la macro e non ti fa vedere quello che fa
                    
                        Sheets("CONTI").Select 'SELEZIONA IL FOGLIO CONTI
                        Columns("D:D").EntireColumn.AutoFit 'allarga le colonne
                        Columns("C:C").EntireColumn.AutoFit 'allarga le colonne
                        Range("C2").Select
                        Application.CutCopyMode = False
                        ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[-4])"
                        Range("C2").Select
                        Selection.AutoFill Destination:=Range("C2:C6"), Type:=xlFillDefault
                        Range("C2:C6").Select
                        
                        Application.ScreenUpdating = True ' velocizza la macro e non ti fa vedere quello che fa
                    
                    End Sub
                    #31631 Score: 0 | Risposta

                    Oscar
                    Partecipante
                      45 pts

                      Bene che tu abbia risolto alla fine di tutto ti bastava questa

                      ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[-4])"

                      era sufficente chiedere il codice per applicare la formula tutto qui!

                    Login Registrati
                    Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
                    Rispondi a: funzione se che ti restituisce una stringa.
                    Gli allegati sono permessi solo ad utenti REGISTRATI
                    Le tue informazioni: