Sviluppare funzionalita su Microsoft Office con VBA trasferire dati da un foglio all'altro

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

    Frasubb
    Partecipante
      1 pt

      Ciao a tutti,

      ho un altro file gestionale nel quale avrei bisogno di implementare un'azione con una macro. Spiego:

      vorrei che quando vado ad inserire nel foglio attivo la parola "si" (tramite pulsante "paga") nella colonna H a partire dalla riga 12, mi vengano automaticamente copiati dei dati presenti nel foglio medesimo, sul foglio "1R"

      I riferimenti celle da copiarvi li ho evidenziati in giallo, nel foglio 1R del file esempio che allego.

      E' possibile tutto ciò ?

      Grazie mille a tutti

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

      alexps81
      Moderatore
        58 pts

        Ciao, prova a vedere se ho capito (tiene presente che ho modificato la macro "Paga" così come l'avevi impostata tu inizialmente. Credo che sia più logico e semplice fare così come scritto io. Il tuo codice comunque l'ho lasciato commentato):

        Sub Paga()
            Dim ws1R As Worksheet
            Dim newRow As Long
            
        'Dim f As Range
        '
        '    Set f = Application.Intersect(ActiveCell, ActiveSheet.Range("H12:H263"))
        '    If Not f Is Nothing Then
        '        ActiveCell = "Si"
        '    Else
        '        ActiveCell = ""
        '    End If
            
            If ActiveCell.Column = 8 And (ActiveCell.Row >= 12 And ActiveCell.Row <= 263) Then
                Application.EnableEvents = False
                ActiveCell.Value = "Si"
                Set ws1R = ThisWorkbook.Worksheets("1R")
                
                With ws1R
                    newRow = .Cells(Rows.Count, "B").End(xlUp).Row + 1
                    .Range("B" & newRow).Value = Range("C3").Value
                    .Range("D" & newRow).Value = Range("C4").Value
                    .Range("F" & newRow).Value = Range("K4").Value
                    .Range("H" & newRow).Value = Range("Q3").Value
                    .Range("J" & newRow).Value = Range("Q4").Value
                    .Range("L" & newRow).Value = Range("Q5").Value
                    If IsDate(Range("D" & ActiveCell.Row)) Then .Range("N" & newRow).Value = CDate(Range("D" & ActiveCell.Row).Value)
                    .Range("P" & newRow).Value = Range("H" & ActiveCell.Row).Value
                End With
                Application.EnableEvents = True
            End If
        
            Set ws1R = Nothing
        End Sub
        #52450 Score: 0 | Risposta

        LukeReds
        Partecipante
          19 pts

          ciao,

          non sarebbe più semplice riportare dall'inizio sul foglio "pippo" tutte le rate da pagare con relative date di scadenza? Basterà poi inserire un "ok" sulla colonna "pagato"

           

           

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

          Frasubb
          Partecipante
            1 pt

            Ciao,

            si certo, ma siccome i clienti sono tanti e i pagamenti vanno suddivisi, ho necessità di un foglio riepilogativo

            #52456 Score: 0 | Risposta

            Frasubb
            Partecipante
              1 pt

              Ciao Alex,

              grazie innanzitutto !

              Va tutto bene, eccezion fatta per la cosa che quando spingo il pulsante "paga", nel foglio "1R" dove devono essere copiati i dati, mi copia solo la prima riga. 

              Mi spiego con un esempio: se c'è un debitore che ha 5 rate mensili, ogni mese che le paga io vado a mettere il pagato con lo stesso pulsante presente nel suo foglio, quindi se ha 5 rate, io dovrei trovarmi altrettante righe. Ovviamente non tutte insieme la prima volta, ma man mano che le paga.

              Stessa cosa, ovvero sempre una sola riga, me la trovo se paga una rata il cliente A ed una il cliente B. Quando vado a mettere pagato il cliente A, tutto ok, ma quando metto pagato il cliente B, questo va a sovrascrivere il precedente. A me serve un riepilogo dei movimenti volta per volta che registro pagamenti quindi, e concludo, se domani registro 10 clienti che hanno pagato, nel foglio "1R" devono esserci registrati i dieci nominativi diversi con i propri dati pescati dal relativo foglio.

              Spero di essermi spiegato e ovviamente chiedo scusa se chiedo tutte ste cose. Io ci provo, poi vedi te se puoi e vuoi.

              Grazie mille

              #52457 Score: 0 | Risposta

              alexps81
              Moderatore
                58 pts

                Frasubb ha scritto:

                Spero di essermi spiegato

                No, mi dispiace ma non ho capito.

                La macro "Paga" si comporta in questo modo: a partire dal rigo 12 fino al rigo 263, se selezioni una cella in colonna "H" e premi sul pulsante "Paga", va a scrive "Si" nella cella selezionata e riporta i dati scritti nelle celle da te indicate, nel Foglio "1R". Se ripeti la stessa azione, va ad aggiungere sotto, in un nuovo rigo, i nuovi dati.

                Cosa intendi con cliente "A" e cliente "B"? Nel foglio "Pippo" chi sarebbe "A" e chi "B"? Ad ogni modo se come ho intuito, ogni cliente ha il proprio Foglio, la macro funziona comunque sul Foglio attivo.

                #52491 Score: 0 | Risposta

                Frasubb
                Partecipante
                  1 pt

                  Ciao Alex, scusami ho sbagliato io, funziona tutto alla perfezione. Avendo messo come colore celle il nero, avevo dimenticato di cambiare quello del carattere che, giustamente, scriveva nero anch'esso....

                  Ho dimenticato però di chiedere una cosa, ovvero se è possibile sommare tutti gli importi che vengono pagati nel mese "x". Mi riferisco a quando vengono copiati i dati nel foglio "1R", dove appunto vorrei che venissero sommati gli importi pagati suddivisi per mese, andando a leggere, come riferimento, la data riportata nella colonna N a partire dal rigo 4.

                  Ovviamente le somme andranno inserite in 12 celle distinte e separate che sono: R5, S5, T5, U5, V5, W5, X5, Y5, Z5, AA5, AB5, AC5

                  Si può fare ?

                  Come sempre, grazie mille in anticipo

                  #52492 Score: 0 | Risposta

                  alexps81
                  Moderatore
                    58 pts

                    Diciamo che tutto o quasi si può fare. Ma con questa ulteriore richiesta si va fuori tema. Se questa è risolta, allora spuntala come tale e per l'ulteriore richiesta, apri una nuova discussione e spiega meglio il risultato da ottenere perché non mi è ben chiaro ciò che hai chiesto. Magari metti il risultato scritto a mano...poi pensiamo ad automatizzarlo.

                    Ciao.

                  Login Registrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: trasferire dati da un foglio all'altro
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: