› Sviluppare funzionalita su Microsoft Office con VBA › copia incolla dati riferiti alla data di oggi
-
AutoreArticoli
-
ciao a tutti,
vorrei che i nominativi presenti nel range B4:B500 e i corrispondenti importi presenti nel range L4:L500, tutti riferiti alla data "oggi", siano copiati ed incollati nella colonna Q (nominativi) e R (importo rata) premendo il tasto "filtro oggi".
Allego file esempio.
Chi mi aiuta ? Grazie mille in anticipo
Allegati:
You must be logged in to view attached files.Nel file che hai allegato, in colonna "L" non c'è alcun importo e in colonna "Q" non c'è l'etichetta "NOMINATIVI" così come in colonna "R" (anzi qui è presente la scritta "gen" e al rigo sotto una formula)
Ad ogni modo hai provato tu ad imbastire un codice? Ti basta creare un ciclo For sulla colonna delle date e confrontare la data con la data di oggi.
Grazie Alex, ma non ho ben chiaro cosa mi chiedi di fare.
Ecco perché ho chiesto umilmente aiuto
Ecco perché ho chiesto umilmente aiuto
Si ok, ma resta il fatto che non è chiaro cosa devi "copiare" e dove "incollare"?
In base a quanto scritto nel 1° post
Sub Copia() Dim Ur As Long, X As Long Ur = Range("B" & Rows.Count).End(xlUp).Row For X = 4 To Ur If Cells(X, 14) = Date Then Cells(X, 17) = Cells(X, 2) Cells(X, 18) = Cells(X, 12) End If Next X End SubEcco perché ho chiesto umilmente aiuto
provo a spiegarmi di nuovo:
i nominativi presenti in colonna B, partendo dalla riga 4, fino a B500, insieme agli importi inseriti nella colonna L (a B4 corrisponde l’importo L4 e così via), premendo il pulsante che ho creato, devono essere copiati ed incollati a partire da Q13 per i nominativi e R13 per i rispettivi importi, a patto che nomi e relativi importi siano riferiti alla data di “oggi”.
Spero di esserci riuscito
a partire da Q13 per i nominativi e R13
Adesso incomincia ad avere più senso
La macro di raffaele53 l'hai provata/adattata?
Magari per il tuo scopo la modificherei così:
Sub Copia() Dim Ur As Long, X As Long, j As Long Ur = Range("B" & Rows.Count).End(xlUp).Row j = 13 For X = 4 To Ur If Cells(X, 14) = Date Then Cells(j, 17) = Cells(X, 2) Cells(j, 18) = Cells(X, 12) j = j + 1 End If Next X End SubN.B. Fai attenzione che molte celle in colonna "R" hanno il colore del carattere nero e perciò si sovrasta con il nero della cella, a quel punto non vedi ciò che è scritto.
Grazie Alex e grazie Raffaele.
Non ho provato nessuna delle vostre soluzioni perché sono distante dal mio pc.
Le provo domani e vi relaziono su entrambe.
Grazie ancora !
Scusate, ho dimenticato una cosa, ovvero avere la medesima funzione descritta sopra, però che copi e incolli nelle colonne T i nominativi ed U gli importi, tutti corrispondenti a date precedenti ad “oggi”.
Il tutto, da incollare sempre a partire da riga 13 ed ovviamente con altri command button.
È possibile ?
Grazie
Ma quindi è una seconda macro? Che copia solo i valori con data inferiore ad oggi?
Hai provato le macro suggerite? Hai capito il loro funzionamento? Se ci pensi un attimo ciò che chiedi è molto simile alle macro proposte. Devi solo modificare il confronto che si fa con la funzione "Date" da "=" a "<" e le colonne 17 e 18 in "T" e "U"
Prova, vedi se riesci e caso mai pubblica la soluzione.
ciao
togliendo le celle unite, sub che ottiene entrambi gli elenchi
Sub CopiaDati() Dim r As Integer, r1 As Integer, r2 As Integer Range("Q3:U1000").Clear r1 = 3: r2 = 3 For r = 3 To Range("B" & Rows.Count).End(xlUp).Row If Cells(r, "N") = Date Then Cells(r1, "Q") = Cells(r, "B"): Cells(r1, "R") = Cells(r, "L") r1 = r1 + 1 ElseIf Cells(r, "N") < Date Then Cells(r2, "T") = Cells(r, "B"): Cells(r2, "U") = Cells(r, "L") r2 = r2 + 1 End If Next r End SubDevi solo modificare il confronto che si fa con la funzione "Date" da "=" a "<" e le colonne 17 e 18 in "T" e "U"
ciao Alex,
ho modificato (forse) come tu mi hai detto ma la seconda macro, ovvero quella delle date antecedenti ad oggi, non funziona.
Allego file, dove sbaglio ?
Grazie mille
Allegati:
You must be logged in to view attached files.ciao
togliendo le celle unite, sub che ottiene entrambi gli elenchi
Ciao Luke,
ho provato ma funziona solo per le date "oggi" e non per quelle scadute, ovvero < di OGGI
ho modificato (forse) come tu mi hai detto ma la seconda macro, ovvero quella delle date antecedenti ad oggi, non funziona
chiedo scusa Alex, non avevo cambiato le date nella colonna N.
Ora tutto funziona alla perfezione, grazie mille
-
AutoreArticoli
