Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

copiare righe da un foglio ad un altro con 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

copiare righe da un foglio ad un altro con condizioni

Postdi tecnuf » 08/01/16 19:32

Salve sto cercando si creare una macro per copiare alcune righe da un foglio ad un altro.Queste righe da copiare presentano in una colonna delle date;le righe da copiare sono solo quelle percui tale data è meno recente del giorno oggi.
Ho provato col registratore di macro:


Sub scaduti()
'
' scaduti Macro
'

'
Sheets("DA ARRIVARE").Select
Columns("A:J").Select
Selection.Copy
Sheets("SCADUTI").Select
Columns("A:J").Select
ActiveSheet.Paste
Range("G18").Select
Application.CutCopyMode = False
Columns("A:J").Select
ActiveWorkbook.Worksheets("SCADUTI").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SCADUTI").Sort.SortFields.Add Key:=Range("J2:J236" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("SCADUTI").Sort.SortFields.Add Key:=Range("H2:H236" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("SCADUTI").Sort.SortFields.Add Key:=Range("F2:F236" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("SCADUTI").Sort
.SetRange Range("A1:J236")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub

A questo punto devo eliminare tutte le righe per le quali il valore della cella J (una data) è maggiore del valore
della data di oggi
Come posso fare ad aggiungere questa condizione?
windows 8-Office2007
tecnuf
Utente Junior
 
Post: 18
Iscritto il: 31/12/15 10:22

Sponsor
 

Re: copiare righe da un foglio ad un altro con condizioni

Postdi Anthony47 » 08/01/16 23:36

Prova ad accodare al tuo codice, tra End With e End Sub, queste righe:
Codice: Seleziona tutto
myMatch = Application.Match(CLng(Int(Now)), Range("J:J"))
If Not IsError(myMatch) Then
    Cells(myMatch, 1).Offset(1, 0).Resize(10000, 10).ClearContents
End If

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: copiare righe da un foglio ad un altro con condizioni

Postdi tecnuf » 09/01/16 07:25

grazie tutto funziona perfettamente
windows 8-Office2007
tecnuf
Utente Junior
 
Post: 18
Iscritto il: 31/12/15 10:22

Re: copiare righe da un foglio ad un altro con condizioni

Postdi tecnuf » 10/01/16 23:31

Anthony, ho riprovata la tua macro e mi succede questo, riallego la macro

myMatch = Application.Match(CLng(Int(Now)), Range("J:J"))
If Not IsError(myMatch) Then
Cells(myMatch, 1).Offset(1, 0).Resize(10000, 10).ClearContents
End If

Funziona quando ho dei valori la cui data nella colonna J sono posteriori alla data di oggi.
(ossia cancella tutte le righe in cui la data nella colonna j è posteriore ad oggi),la cosa
strana è che se non esiste nessun valore con la data antecedente alla data di oggi, non mi cancella
più le righe con le date posteriori ad oggi)Teoricamente , se ho tutte date posteriori ad oggi , dovrebbe
cancellare tutte le righe, invece non cancella niente.

Probabilmnte andrebbe inserto una condizion, di canncellare tutte le righe se tutti i valori
(in JJ) sono posteriori alla data di oggi, ma non so come si fa!
windows 8-Office2007
tecnuf
Utente Junior
 
Post: 18
Iscritto il: 31/12/15 10:22

Re: copiare righe da un foglio ad un altro con condizioni

Postdi Anthony47 » 11/01/16 01:55

Eh gia'...
Sostituisci quella parte con
Codice: Seleziona tutto
    myMatch = Application.Match(CLng(Int(Now) ), Range("J:J"))
    If Not IsError(myMatch) Then
        Cells(myMatch, 1).Offset(1, 0).Resize(10000, 10).ClearContents
    Else
        Cells(2, 1).Resize(10000, 10).ClearContents
    End If
(cioe' ampliala con la condizione "else")

Presuppone che la riga1 contenga le intestazioni

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: copiare righe da un foglio ad un altro con condizioni

Postdi tecnuf » 11/01/16 08:20

ora va da Dio grazie ancora
windows 8-Office2007
tecnuf
Utente Junior
 
Post: 18
Iscritto il: 31/12/15 10:22


Torna a Applicazioni Office Windows


Topic correlati a "copiare righe da un foglio ad un altro con condizioni":


Chi c’è in linea

Visitano il forum: Bing [Bot] e 17 ospiti