Condividi:        

Trasferimento dati tra due fogli con due condizioni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Trasferimento dati tra due fogli con due condizioni

Postdi Ricky0185 » 09/09/24 16:30

Buonasera, devo trasferire i dati di una colonna del Foglio1 sul Foglio2 soddisfando due condizioni. Nel Foglio1 del file ho cercato di spiegare la mia richiesta. Più facile a farsi che a dirsi, ma dopo lunga inattività, non ci riesco.
Cordiali saluti
R
Ricky0185
Utente Senior
 
Post: 280
Iscritto il: 10/12/19 20:38

Sponsor
 

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Anthony47 » 09/09/24 17:51

Non ho capito; in particolare vado in crisi su questa descrizione (e ovviamente il seguito non illumina):
Poi però gli devo dire che quanto sopra va bene, sempre a parità di nome, dove le prime due lettere di Foglio2 cella C2:F2 sono contenute in Foglio1 colonna C cella "offset(0,1)" (Causali).


Ma stai cercando un modo per preparare in Foglio2 la tabella con le scadenze dei versamenti per ognuno dei Condomini?
Tipo
Immagine
Avatar utente
Anthony47
Moderatore
 
Post: 19375
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Ricky0185 » 10/09/24 08:00

Aprendo il file e lanciando la macro Ctrl+s fa il lavoro che cerco, ed inserisce giustamente sul Foglio2, per ogni destinatario che poi in Foglio2 è il nominativo, l'importo e sopra la relativa data. Però se noti inserisce giustamente l'ultima ricorrenza trovata (con il filtro lo vedi subito).
Vorrei che per ogni nome (i non bla bla bla) nella prima colonna di Foglio2, la C, inserisse solo data ed importo dei nomi che in colonna C (causale) di Foglio1 contengono 1A. Nella seconda inserisse data ed importo dei nomi che in colonna C di Foglio1 contengono 2A. E così per la terza e quarta colonna di Foglio2. Questa è la seconda condizione.
C'è un piccolo inghippo: dove compare "Acconto 1A" o "1A e 2A" vanno trasferiti data ed importo del primo xA che compare nella causale di Foglio1.
Speriamo sia un pò più comprensibile.
Ciao
XP+Off2003
Ricky0185
Utente Senior
 
Post: 280
Iscritto il: 10/12/19 20:38

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Anthony47 » 10/09/24 09:56

Ma io non vorrei dover fare il reverse engineering di una macro che non fa quanto richiesto per capire la vera richiesta...
Qualcosa ho capito, ma non la storia di Acconto perche’ in genere se c’e’ un Acconto poi o ce un Saldo oppure un 2° Acconto.
Comunque prova:
Codice: Seleziona tutto
Sub SmazzaF1_a_F2()
Dim F1Arr, cNom As String, LastB As Long
Dim I As Long, J As Long, K As Long

F1Arr = Sheets("Foglio1").Range("A1").CurrentRegion.Value
Sheets("Foglio2").Select
LastB = Cells(Rows.Count, "B").End(xlUp).Row
Range("C3:F" & LastB - 1).ClearContents
For I = 3 To LastB Step 2
    cNom = UCase(Cells(I, "B"))
    If Len(cNom) > 0 Then
        For J = 2 To UBound(F1Arr)
            If UCase(F1Arr(J, 2)) = cNom Then
                For K = 3 To 6
                    If InStr(1, F1Arr(J, 3), Cells(2, K), vbTextCompare) > 0 Then
                        If Cells(I + 1, K) = "" Then
                            Cells(I, K) = F1Arr(J, 1)
                            Cells(I + 1, K) = F1Arr(J, 4)
                        End If
                    End If
                Next K
            End If
        Next J
    End If
Next I
End Sub

Seguendo la richiesta che va inserito solo il primo xA, il povero Cecc che ha versato 2 Acconti 1A Rata (per 250+200) si ritrova contabilizzati solo 250

PS: ma tu sei veramente ancora su XP+2003?
Avatar utente
Anthony47
Moderatore
 
Post: 19375
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Ricky0185 » 10/09/24 13:30

.. il povero Cecc che ha versato 2 Acconti ..

Mica tanto povero, è l’unico che ha villa con grande parco e piscina, di quelle in cemento. Ma per scucirgli 4 rate di 452 euro…..
Comunque la tua macro risolve quanto, in modo sgarbugliato, da me richiesto. Cercherò di risolvere il problema degli “Acconti” o della contemporaneità dei versamenti, sennò…..ci risentiamo.
.. ma tu sei veramente ancora su XP+2003?

Sul portatile muletto si, ma lo uso a casa per risolvere le varie problematiche che si presentano nel mio lavoro, che non è quello di amministratore di condominio, dove però grazie ai tuoi aiuti, ho automatizzato molti processi, compreso l'attuale.
Ciao e ancora grazie
R
Ricky0185
Utente Senior
 
Post: 280
Iscritto il: 10/12/19 20:38

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Anthony47 » 10/09/24 17:24

Volendo puoi sommare tutti gli stessi xA con questa modifica:
Codice: Seleziona tutto
                    If InStr(1, F1Arr(J, 3), Cells(2, K), vbTextCompare) > 0 Then
'                        If Cells(I + 1, K) <> "" Then
                            Cells(I, K) = F1Arr(J, 1)
                            Cells(I + 1, K) = Cells(I + 1, K) + F1Arr(J, 4)
'                        End If
                    End If
Come vedi ho tolto un If /End If e faccio la somma in cella; come data rimane l'ultima che viene trovata
Avatar utente
Anthony47
Moderatore
 
Post: 19375
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Ricky0185 » 11/09/24 12:21

Applicata la modifica e funziona.
Invece se vorrebbi (alla Totti) fare in modo che automaticamente quando inserisco nel Foglio1 (per intenderci con il SelectionChange) l'1A piuttosto che il 2A etc. mi trascriva sul Foglio2 a parità di nome e nella colonna appropriata la cifra di colonna C (così evito per ogni inserimento il lancio della macro). L'Acconto o la contemporaneità poi la studierò (..remo).
Ciao
R
Ricky0185
Utente Senior
 
Post: 280
Iscritto il: 10/12/19 20:38

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Anthony47 » 11/09/24 14:55

Piuttosto esegui la macro tutte le volte che attivi Foglio2:
-tasto dx sul tab col nome Foglio2, scegli Visualizza codice
-nel modulo vba che ti viene aperto inserisci questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Call SmazzaF1_a_F2
End Sub
Avatar utente
Anthony47
Moderatore
 
Post: 19375
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Ricky0185 » 12/09/24 08:40

Piuttosto esegui la macro tutte le volte che attivi Foglio2

O, come avevo fatto, Ctrl+s dopo ogni nuova registrazione.
Ti saluto
R
Ricky0185
Utente Senior
 
Post: 280
Iscritto il: 10/12/19 20:38

Re: Trasferimento dati tra due fogli con due condizioni

Postdi Anthony47 » 13/09/24 18:26

Ottimo come hai fatto; se aggiungi anche l'esecuzione all'attivazione foglio hai la certezza che i dati sono aggiornati al momento che vai a vederli
Avatar utente
Anthony47
Moderatore
 
Post: 19375
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Trasferimento dati tra due fogli con due condizioni":


Chi c’è in linea

Visitano il forum: Marius44 e 3 ospiti