Excel e gli applicativi Microsoft Office copia valori su celle filtrate

Login Registrati
Stai vedendo 17 articoli - dal 26 a 42 (di 42 totali)
  • Autore
    Articoli
  • #15159 Score: 0 | Risposta

    intendi questo? .. perdona l'ignoranza..

    Microsoft monthview control 6.0 (SPS)

    #15160 Score: 0 | Risposta

    vecchio frac
    Senior Moderator
      247 pts

      Ecco, precisazione importante 🙂

      Il controllo permette di impostare una data (proprietà value) ma non di evidenziarla, almeno così succede a me; potresti posizionare una label a fianco che riceve il valore della data selezionata.

      #15161 Score: 0 | Risposta

      vecchio frac
      Senior Moderator
        247 pts

        Piccola correzione, non avevo notato che in realtà il giorno cliccato riceve una leggera ombreggiatura, persistente anche se cambi mese (puoi scegliere più giorni consecutivi con la proprietà Multiselect impostata a True). Non so se era questo che ti interessava.

        #15162 Score: 0 | Risposta

        vecchio frac
        Senior Moderator
          247 pts

          Uno spezzone di codice buttato giù al volo tanto per capire che una data cliccata si può evidenziare rendendola in grassetto:

          Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
          Dim d As Long, dd As Date
              For d = 1 To 31
                  dd = DateSerial(MonthView1.Year, MonthView1.Month, d)
                  MonthView1.DayBold(dd) = False
              Next
              MonthView1.DayBold(MonthView1.Value) = True
          End Sub
          #15167 Score: 0 | Risposta

          quindi se non ho capito male, con questo controllo, non riesco a far posizionare il calendario sulla data odierna alla sua apertura? non c'è proprio alcun modo? è brutto che ad aprile ad esempio mi si apra il calendario su gennaio (se lascio nella userform il calendario su gennaio)

          a questo punto faccio scrivere all'utente in 1 label 1 data e la recepisco senza calendario mi vien da dire..

          se uso il codice che hai scritto vuol dire che l'utente digitando sul calendario il gg, questo si evidenzia?

           

          #15168 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            247 pts

            MacroPinguino86 ha scritto:

            non riesco a far posizionare il calendario sulla data odierna alla sua apertura?

            A me sembra che questo sia già il comportamento di default. Ho installato il controllo indicato, creato una userform, posizionato il controllo, avviato la form e si posiziona sulla data odierna evidenziandola con un cerchietto rosso.

            Il pezzo di codice che ho scritto serve solo ad evidenziare meglio il giorno su cui l'utente clicca (perchè credevo che fosse questa la richiesta).

            MacroPinguino86 ha scritto:

            se lascio nella userform il calendario su gennaio

            Cosa significa questa frase? Dopo aver utilizzato il programma, chiudendolo magari dopo aver lavorato su gennaio, il giorno dopo riaprendolo te lo ritrovi ancora su gennaio?

            #15170 Score: 0 | Risposta

            ho allegato 2 immagini relative alla visualizzazione in userform del calendario e al lancio della macro.

            non so perché a me non si posiziona, al lancio macro, sulla data odierna ma sulla data del calendario visualizzata in ambiente vba.

            es: se clicco anche dicembre durante l'esecuzione macro, alla successiva esecuzione, mi mostra il calendario di gennaio, perché in ambiente vba c'è gennaio.

            si l'evidenziazione diciamo che è un EXTRA molto comodo.  

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

            aggiungo tabella proprietà: ora ho nel campo value 16/04/2019, temo sia questo, ma non so come dirgli un messaggio diverso da 1 data...magari del tipo TODAY

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

            vecchio frac
            Senior Moderator
              247 pts

              Tagliamo la testa al toro e forziamo la visualizzazione della data odierna, direttamente nell'evento di inizializzazione dell'userform.

              Private Sub UserForm_Initialize()
                  CAL = Date
              End Sub
              #15178 Score: 0 | Risposta

              risolto!  ciao!

              #15179 Score: 0 | Risposta

              ciao, tornando alla richiesta iniziale per cui mi hai proposto 1 ottimo codice, ho creato 1 sub di 1 parte del lavoro in programma e quando eseguo la macro, vba mi restituisce errore di runtime 91. Attraverso il debug vba non riesco a scorrere il codice.

              di seguito le righe di riferimento. potete aiutarmi a capire? grazie

              Sub Copia_OK()
              Dim col As Long, Priga As Long
              Dim r As Range
              Dim rw As Range
              col = 33 'col AG
              Priga = 15 'riga intestazione tabella
                          Set r = Range("A" & Priga).CurrentRegion.SpecialCells(xlCellTypeVisible)
                          For Each rw In r.Rows
                          If rw.Row > Priga Then
                              Range(rw.Cells(col), rw.Cells(col)).Value = "OK"
                          End If
                          Next
              End Sub

              #15180 Score: 0 | Risposta

              mi correggo, in realtà l'errore me lo restituisce in fase di debug; quella sub che ho copiato viene lanciata una volta applicato il filtro <>4399 (codice riportato qui sotto), ma mi sono accorto che l'istruzione per filtrare non viene eseguita! come mai? come faccio a dire fai 1 filtro quando il valore è diverso da 1 valore?

              ActiveSheet.Range("$A$15:$AI$15").AutoFilter Field:=14, Criteria1:="<>4399", Operator:= _
                                          xlFilterValues

              #15181 Score: 0 | Risposta

              Marius44
              Moderatore
                52 pts

                Ciao

                Mi scuso per l'invasione   

                Io proverei cambiando quella riga di codice così

                ActiveSheet.Range("$A$15:$AI$15").AutoFilter Field:=14, Criteria1:="<>" & 4399, Operator:=xlFilterValues

                 

                Ciao,

                Mario

                #15183 Score: 0 | Risposta

                perfetto, funziona, invece questo altro caso, come posso gestirlo? dato che mi da errore..

                ary = Array("IT", "DC", "#N/D")
                ActiveSheet.Range("$A$15:$AI$15").AutoFilter Field:=34, Criteria1:="<>" & ary, Operator:=xlFilterValues

                grazie, ciao

                Alberto

                #15184 Score: 0 | Risposta

                Marius44
                Moderatore
                  52 pts

                  Ciao 

                  Attento a non fare confusione!

                  Il parametro dei criteri si aspetta una STRINGA.

                  Quindi se vuoi fare riferimento al contenuto di una cella allora gli devi dare il numero di riga FUORI DALLA STRINGA.

                  Se invece il valore è fisso ed una stringa devi mettere l'indicazione di diverso ed il valore tutto fra i doppi apici.

                  Non credo che ti possa trovare "#N/D" e poi non mi sembra che in quel modo possa assumere i valori dell'array se non gli dici di fare un ciclo.

                  Ciao,

                  Mario

                  #15191 Score: 0 | Risposta

                  Marius44 ha scritto:

                  Se invece il valore è fisso ed una stringa devi mettere l'indicazione di diverso ed il valore tutto fra i doppi apici.

                   

                  intendi ad es: criteria1:="<>IT" and criteria2:= "<>DC" and criteria3:= etc...

                  Marius44 ha scritto:

                  Non credo che ti possa trovare "#N/D" e poi non mi sembra che in quel modo possa assumere i valori dell'array se non gli dici di fare un ciclo.

                  non ho capito, se devo escludere i valori di errori, come dovrei scrivere il codice

                  Marius44 ha scritto:

                  Il parametro dei criteri si aspetta una STRINGA 

                  in ambiente VBA è possibile capire che tipo di valori si aspetta un certo di parametro (una sorta di info....)

                   

                  ciao Alberto

                  #15198 Score: 0 | Risposta

                  vecchio frac
                  Senior Moderator
                    247 pts

                    MacroPinguino86 ha scritto:

                    Criteria1:="<>" & ary

                    Non puoi inserire tra i criteri un Array. E purtroppo non si può nemmeno inserire i criteri in And tra loro.

                    Il valore "non disponibile" non può essere filtrato.

                  Login Registrati
                  Stai vedendo 17 articoli - dal 26 a 42 (di 42 totali)
                  Rispondi a: copia valori su celle filtrate
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: