È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

copia celle se "data" >= "a"

Ultimo Aggiornamento: 19/09/2019 16:47
Post: 1
Registrato il: 13/09/2019
Età: 37
Utente Junior
365
OFFLINE
16/09/2019 09:35

Buongiorno a tutti,
sono nuovo del forum.

Vado subito al dunque. (allego file excel)
Sto cercando il modo di copiare, dalla prima sheet "Laves" la riga X delle colonne A e B quando la data riportata nella stessa riga in colonna E (data fine) corrisponde all'intervallo mensile 01-31-xx-2019.

Se la data è compresa nel mese 01, deve copiare nella seconda sheet "previsioni fatturato" nelle celle A e B "GENNAIO", se la data è compresa nel mese 02 deve copiarla nella C e D "FEBBRAIO", e cosi via per tutte le righe della tabella.
In base alla Data in colona E deve copiarli nella seconda sheet nel mese riguardante.


Grazie
in anticipo per l'aiuto.
Post: 1.285
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
16/09/2019 11:35

ciao a tutti [SM=x423028]

sempre che abbia capito,
in cella A1 del foglio "Previsoni Fattuato" del file che hai allegato,
puoi provare con

vb
=SE(MESE(Laves!E7= 9);Laves!A7)


poi la trascini a destra ed in basso.

Prima controlla il numero del mese nel foglio "Laves",
per adeguare la formula

ciao
Frank
[Modificato da tanimon 16/09/2019 11:36]







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 1
Registrato il: 13/09/2019
Età: 37
Utente Junior
365
OFFLINE
16/09/2019 12:58

Avevo già valutato questa formula ma diciamo che così non è "intelligente" perché io manualmente devo andare a mettere nella colonna "GENNAIO"la formula che punti SOLO le celle nella sheet "Laves" - "DATA FINE" che abbiano la data corrispondente al mese selezionato.

Esempio:

A1(shette previsioni), devo mettere =

=SE(MESE(Laves!E7= 9);Laves!AX)

dove X indica il numero della riga che ha come data gennaio.
Devo quindi scorreremi ogni singola riga e farlo a mano.

A me servirebbe un codice VB che faccia il controllo e che le copiasse in automatico nella colonna del mese corretto.
Post: 3.476
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
16/09/2019 18:51

Buona sera, Nicola;
consentimi un caro saluto a @tanimon, buona serata Frank!

Fatto ciò, prima di cimentarmi con un Codice VBA, ti chiedo se hai valutato l'opportunità dell'utilizzo della funzione "Indiretto"; credo potrebbe funzionare.

Considera solo che se serve un aiuto da parte mia dovrai pazientare fino a Giovedì/Venerdì.



A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 2
Registrato il: 13/09/2019
Età: 37
Utente Junior
365
OFFLINE
18/09/2019 11:08

Non l'ho mai usata, ora ci provo. Vi aggiorno.

Grazie
Post: 3
Registrato il: 13/09/2019
Età: 37
Utente Junior
365
OFFLINE
18/09/2019 12:42

Con il SE MESE in parte funziona, ma dove trova delle celle senza data le copia comunque e quindi non va bene. Con INDIRETTO non ho capito come potrei usarlo per il mio scopo.

Grazie
Post: 702
Registrato il: 02/08/2015
Utente Senior
Excel 2013
OFFLINE
19/09/2019 02:33

Ciao a tutti,
se ho capito bene... in cella A2 del foglio "Previsioni Fattuato" (da copiare poi a destra ed in basso fin dove serve):

=SE.ERRORE(INDICE(Tabella1[[DESCRIZIONE ORDINE]:[N° ORDINE]];AGGREGA(15;6;(RIF.RIGA(Tabella1[DATA FINE])-6)/((MESE(Tabella1[DATA FINE])=(INT((RIF.COLONNA()-1)/2)+1))*(Tabella1[DATA FINE]<>""));RIF.RIGA(A1));VAL.PARI(RIF.COLONNA())+1);"")


riallego file...


"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Post: 3.483
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
19/09/2019 04:23

Buona giornata a Tutti;
dopo aver studiato l'ottima soluzione di @cromagno, che saluto, (soluzione che ho salvato nella mia Directory "Procedure da non cancellare mai") ho provato a costruire un Codice VBA senza utilizzare Formule.

Questo è un possibile Codice VBA che, solo come esempio, gestisce i mesi di Gennaio, Settembre e Dicembre; ovviamente su questa falsa riga è possibile gestire tutti i dodici mesi.

Option Explicit

Sub Copia()
Application.ScreenUpdating = False
Dim NRc As Long, x As Long, NRX As Long
Dim y As Byte
    
    Sheets("Laves").Select
    With Worksheets("Previsioni Fatturato")
        NRc = .Cells.SpecialCells(xlCellTypeLastCell).Row
            If NRc < 2 Then NRc = 2
                Range(.Cells(2, 1), .Cells(NRc, 24)).ClearContents
        NRc = Cells(Rows.Count, 5).End(xlUp).End(xlUp).Row
            For x = 7 To NRc
                If Cells(x, 5) <> "" Then
                    Select Case Month(Cells(x, 5))
                        Case 1
                            NRX = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                                y = 1                        
                        Case 9
                            NRX = .Range("Q" & .Rows.Count).End(xlUp).Row + 1
                                y = 17                                
                        Case 12
                            NRX = .Range("W" & .Rows.Count).End(xlUp).Row + 1
                                y = 23
                    End Select
                        .Cells(NRX, y) = Cells(x, 1).Value
                        .Cells(NRX, y + 1) = Cells(x, 2).Value
                End If
            Next x
     End With
Application.ScreenUpdating = True
End Sub




Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 4
Registrato il: 13/09/2019
Età: 37
Utente Junior
365
OFFLINE
19/09/2019 16:47

Grazie mille a entrambi. Funziona.
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Copia celle (6 messaggi, agg.: 07/02/2020 21:59)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com