You are here:Home-Forum-Kris_9951
Kris_99512020-05-07T17:16:30+02:00

Risposte nei forum create

Stai visualizzando 15 post - dal 1 a 15 (di 200 totali)
  • Autore
    Post
  • AvatarKris_9951
    Partecipante
      Post totali: 212

      Errore proprio stupido 😓😓

      Però l’avevo detto che non l’avevo testato 😂😂

      Grazie per il riscontro.

      Alla prox 👍

      AvatarKris_9951
      Partecipante
        Post totali: 212

        Ciao MisterExcel,

        prova questa Macro.
        Non so se funziona perchè non l’ho testata.

        Sub Copia()
            Dim FSO As Object
            Dim FromPath As String
            Dim x As Long
            Dim percorsi() As Variant
        
            FromPath = "C:\Users\Pippo\Desktop\Dati"       'Cartella d'origine
            
            percorsi = Array("E:\Dati", "F:\Dati", "G:\Dati")
            
            If Right(FromPath, 1) = "\" Then
                FromPath = Left(FromPath, Len(FromPath) - 1)
            End If
        
            For x = LBound(percorsi) To UBound(percorsi)
                If Right(percorsi(x), 1) = "\" Then
                    percorsi(x) = Left(percorsi(x), Len(percorsi(x)) - 1)
                End If
        
                Set FSO = CreateObject("scripting.filesystemobject")
        
                If FSO.FolderExists(percorsi(x)) = False Then
                    Exit Sub
                End If
                FSO.CopyFolder Source:=FromPath, Destination:=percorsi(x)
            Next x
            
            Set FSO = Nothing
            Erase percorsi
        End Sub
        AvatarKris_9951
        Partecipante
          Post totali: 212

          Alla prox 👍

          AvatarKris_9951
          Partecipante
            Post totali: 212

            File modificato e disponibile sempre al solito link.

            Ho messo anche l’avvio da pulsante così poi scegli il modo che preferisci.

            Fai sapere (se vuoi) :bye: :bye:

            AvatarKris_9951
            Partecipante
              Post totali: 212

              Ultima domanda:

              necessariamente VBA oppure vanno bene anche le formule?

              Credo che puoi ottenere lo stesso risultato anche con le formule…

              AvatarKris_9951
              Partecipante
                Post totali: 212

                Ah ok…

                Io ho visto le colonne colorate di giallo, in più ho visto delle formule e quindi ho pensato che quelle celle non andavano toccate.

                Ad ogni modo correggo.

                Quindi deve essere copiato tutto identico al foglio generale, corretto?

                AvatarKris_9951
                Partecipante
                  Post totali: 212

                  Ciao Raimea!

                  Prova questa soluzione:
                  https://www.dropbox.com/s/ufc6z1tqsg4s3v3/singolo_2.xlsm?dl=0

                  Fai sapere (se vuoi) :bye: :bye:

                  Option Explicit
                  Option Compare Text
                  
                  Sub nomi(nome As String)
                      Dim vOrigine() As Variant
                      Dim vMatrNome() As Variant
                      Dim vDalAl() As Variant
                      Dim vTipo() As Variant
                      Dim x As Long, j As Long
                      Dim btrovato As Boolean
                      vOrigine = Sheets("generale").Range("B7:I" & Sheets("generale").Cells(Rows.Count, 3).End(xlUp).Row).Value
                      
                      For x = LBound(vOrigine) To UBound(vOrigine)
                          If vOrigine(x, 3) = nome Then
                              btrovato = True
                              j = j + 1
                              ReDim Preserve vMatrNome(1 To 2, 1 To j + 1)
                              vMatrNome(1, j) = vOrigine(x, 2)
                              vMatrNome(2, j) = vOrigine(x, 3)
                  
                              ReDim Preserve vDalAl(1 To 2, 1 To j + 1)
                              vDalAl(1, j) = Format(CDate(vOrigine(x, 5)), "dd/mm/yyyy")
                              vDalAl(2, j) = Format(CDate(vOrigine(x, 6)), "dd/mm/yyyy")
                              
                              ReDim Preserve vTipo(1 To 1, 1 To j + 1)
                              vTipo(1, j) = vOrigine(x, 8)
                          End If
                      Next x
                      
                      If btrovato Then
                          vMatrNome = Application.Transpose(vMatrNome)
                          vDalAl = Application.Transpose(vDalAl)
                          vTipo = Application.Transpose(vTipo)
                          
                          With Sheets("singolo")
                              .Range("C7:D21, F7:G21, I7:I21").ClearContents
                              .Range("C7").Resize(UBound(vMatrNome), 2).Value = vMatrNome
                              .Range("F7").Resize(UBound(vDalAl), 2).Value = vDalAl
                              .Range("I7").Resize(UBound(vTipo), 2).Value = vTipo
                          End With
                      Else
                          MsgBox nome & " non è stato trovato!", vbCritical, "ERRORE!"
                      End If
                  End Sub
                  
                  AvatarKris_9951
                  Partecipante
                    Post totali: 212

                    Ciao Raimea.

                    Una macro del genere ‘avevo scritta io ma non mi ricordo cosa non andava…

                    Se mi dici posso riprovarci…

                    AvatarKris_9951
                    Partecipante
                      Post totali: 212

                      Salve Raimea,

                      questa è la macro per riportare sfondo bianco
                      le celle con lettere B Lun_Ven , lasciando invariato altri colori su altre sigle
                      da col D:AI

                      Sub riportaBsfondoNormale()
                          Dim cella As Range
                          Dim uriga As Long
                          uriga = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
                          
                          For Each cella In ActiveSheet.Range("D6:AI" & uriga).Cells
                              With cella
                                  If .Value = "B" And ActiveSheet.Cells(4, cella.Column).Text <> "sab" _
                                      And ActiveSheet.Cells(4, cella.Column).Text <> "dom" Then
                                      .Interior.ColorIndex = xlNone
                                      .Font.ColorIndex = 1
                                  End If
                              End With
                          Next cella
                      End Sub

                      Purtroppo non ho capito questa parte:
                      “ma solo se il contenuto e’ >>> B SOLO >>> da lun_ven”

                      Puoi allegare un file con un esempio visivo della condizione?

                      AvatarKris_9951
                      Partecipante
                        Post totali: 212
                        in risposta a: Popolare una combobox #11206

                        Ciao MisterExcel!

                         

                        Prova questo e fai sapere (se vuoi) :-)

                        https://www.dropbox.com/s/9wqxi723x904um7/PopolaComboBox.xlsm?dl=0

                         

                        Codice:

                        Private Sub UserForm_Initialize()
                            Dim rngdati As Range, cella As Range
                            Dim matrice() As Variant
                            Dim x As Long
                            Set rngdati = ActiveSheet.Range("A3:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
                            For Each cella In rngdati.Cells
                                If cella.Value <> 0 And cella.Value <> vbNullString Then
                                    x = x + 1
                                    ReDim Preserve matrice(1 To x)
                                    matrice(x) = cella.Value
                                End If
                            Next cella
                            
                            With Me.ComboBox1
                                .Clear
                                .List = matrice
                                .Style = fmStyleDropDownList
                                .ListRows = 16
                            End With
                            
                            Set rngdati = Nothing
                            Erase matrice
                        End Sub

                         

                        AvatarKris_9951
                        Partecipante
                          Post totali: 212

                          Contento di averti aiutato 👍

                          :bye: :bye:

                          AvatarKris_9951
                          Partecipante
                            Post totali: 212

                            Ok. In che modo vuoi il conteggio con VBA?

                            Se devo creare con VBA una formula tanto vale tenere quella che c’è già…

                            Comunque per quanto riguarda la formula sono sicuro che è dovuto dal copia/incolla.

                            Riscrivila a mano e vedrai che funziona 👍

                            AvatarKris_9951
                            Partecipante
                              Post totali: 212

                              Ciao Raimea!

                               

                              Ho visto il file ed ho notato che c’è una formula in D6 che non rispetta le tue esigenze.

                              A mio avviso non serve il VBA in questo caso perché è sufficiente modificare la formula.

                              Inserisci questa formula in D6:

                              =CONTA.PIÙ.SE(D7:D200;”<>Mercato”;D7:D200;”<>”&””)

                              Fai sapere (se vuoi)  :bye: :bye:

                              AvatarKris_9951
                              Partecipante
                                Post totali: 212

                                Ciao Giorgio.

                                Contento di averti aiutato  :-)

                                Per nominare il foglio con il numero del mese anzichè il nome devi sostituire questa riga:
                                ws2.Name = verificaNome(MonthName(ws.Cells(1, 1)))

                                con questa:
                                ws2.Name = verificaNome(ws.Cells(1, 1).value)
                                In questo modo prenderà il numero del mese dalla formula in A1.

                                Oppure se vuoi fare anche a meno di quella formula puoi metterci questo:
                                ws2.Name = verificaNome(Month(Cells(2, 2).Value))
                                In questo caso il numero del mese lo prenderà dalla data nella cella B2

                                P.s.
                                Non so se ci hai fatto caso ma con questa Macro puoi anche generare più fogli di uno stesso mese qualora ti serva.
                                Quindi se ad esempio crei il foglio con il nome “10” relativo al mese di Ottobre, potrai sempre generare un altro foglio sempre di Ottobre ed in questo caso il foglio verrà nominato “10_2”, “10_3” ecc…
                                Spero di essermi spiegato bene ;-)

                                Per qualsiasi altra cosa resto a disposizione
                                :bye: :bye:

                                • Questa risposta è stata modificata 4 mesi, 3 settimane fa da AvatarKris_9951. Motivo: Precisazione
                                AvatarKris_9951
                                Partecipante
                                  Post totali: 212

                                  Ciao BG66.

                                  Sono contento che può esserti utile.

                                  Il nome del foglio lo prende dal NOME del pulsante (che non è da confondere con il nome dell’etichetta).

                                  Ogni pulsante l’ho nominato con il nome del foglio che deve aprire.

                                  Non ho usato il nome dell’etichetta perché ho visto che tu ci hai scritto “vai a [nomeFoglio]”, quindi ho dovuto dare necessariamente un altro riferimento, ovvero il nome.

                                  A disposizione per qualsiasi altra cosa

                                  :bye: :bye:

                                Stai visualizzando 15 post - dal 1 a 15 (di 200 totali)