Io vorrei, creando un terzo foglio di lavoro, fare una lista unica che possa contenere le due liste precedenti e che tale lista si aggiorni automaticamente ogni volta che modifico ognuna delle 2 liste iniziali.
Avete qualche suggerimento??
grazie


Moderatori: Anthony47, Flash30005
gigi4181 ha scritto:Avete consigli?
Dim RDvix, RDvd As Integer
Sub Ordina_Divx_Dvd()
Application.ScreenUpdating = False
'copia dati foglio Divx
Sheets(1).Select
Rdivx = Range("A65356").End(xlUp).Row
Range(Cells(2, 1), Cells(Rdivx, 3)).Select
Selection.Copy
Cells(Rdivx, 1).Select
'copia dati Divx in foglio Ordinamento
Sheets(3).Select
Range("A2").Select
ActiveSheet.Paste
'copia dati foglio Dvd
Sheets(2).Select
RDvd = Range("A65356").End(xlUp).Row
Range(Cells(2, 1), Cells(RDvd, 3)).Select
Selection.Copy
Cells(RDvd, 1).Select
'copia dati Dvd in foglio Ordinamento dopi dati Divx
Sheets(3).Select
Cells(Rdivx + 1, 1).Select
ActiveSheet.Paste
Range("B2").Select
'ordinamento
Range(Cells(1, 1), Cells(Rdivx + RDvd, 3)).Sort Key1:=Range("B2"), Order1:=xlAscending
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Sub ORDINE()
'
' ORDINE Macro
' Macro registrata il 18/08/2008 da ..
'
' Scelta rapida da tastiera: CTRL+o
'
Dim RDvix, RDvd As Integer
Application.ScreenUpdating = False
'eliminazione dati precedenti foglio ordine
Sheets(3).Select
Range("A1:C245").Select
Selection.ClearContents
Range("A1").Select
'copia dati foglio Divx
Sheets(1).Select
Rdivx = Range("A65356").End(xlUp).Row
Range(Cells(1, 1), Cells(Rdivx, 3)).Select
Selection.Copy
Cells(Rdivx, 1).Select
'copia dati Divx in foglio Ordinamento
Sheets(3).Select
Range("A1").Select
ActiveSheet.Paste
'copia dati foglio Dvd
Sheets(2).Select
RDvd = Range("A65356").End(xlUp).Row
Range(Cells(2, 1), Cells(RDvd, 3)).Select
Selection.Copy
Cells(RDvd, 1).Select
'copia dati Dvd in foglio Ordinamento dopi dati Divx
Sheets(3).Select
Cells(Rdivx + 1, 1).Select
ActiveSheet.Paste
Range("B2").Select
'ordinamento
Columns("A:C").Select
Selection.AutoFilter
Range("A1:C845").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
Application.ScreenUpdating = True
End Sub
[*][*]
Private Sub Worksheet_Activate()
Application.EnableEvents = False
Call Ordina_Divx_Dvd(Contr)
Application.EnableEvents = True
End Sub
'eliminazione dati precedenti foglio ordine
Sheets(3).Select
Range("A1:C245").Select
Selection.ClearContents
Range("A1").Select
'ordinamento
Columns("A:C").Select
Selection.AutoFilter
Range("A1:C845").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
oltre ad aver modificato le celle di partenza da A2 ad A1 (io ero partito da A2 in quanto immaginavo che nella prima riga avevi le intestazioni di colonna)
Siccome le righe del Foglio 3 sono sempre variabili, perché dipendenti dalle righe dei primi due fogli, corri il rischio che nella cancellazione (Range "A1:C245) o nell'ordinamento (Range "A1:C845"), tutto quello che ci potrebbe essere dalla riga 245 (cancella) o 846 (ordina) in poi non ti verrà mai cancellato/ordinato.
- aggiungerei la variabile RTot in Dim
nell'ordinamento al posto di Range("A1:C845") lascierei Range(Cells(1, 1), Cells(Rdivx + RDvd, 3))
'ordinamento
Columns("A:C").Select
Selection.AutoFilter
Range(Cells(1, 1), Cells(Rdivx + RDvd, 3).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
eco io ho messo questo come mi hai consigliato ma non funziona
Codice: Seleziona tutto
'ordinamento
Columns("A:C").Select
Selection.AutoFilter
Range(Cells(1, 1), Cells(Rdivx + RDvd, 3).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
Torna a Applicazioni Office Windows
confrontare e evidenziare 2 fogli excel Autore: niccia |
Forum: Applicazioni Office Windows Risposte: 5 |
[EXCEL] controllo corrispondenza tra valori con un vincolo Autore: sbs |
Forum: Applicazioni Office Windows Risposte: 9 |
Come impostare il formato data predefinito in excel? Autore: wallace&gromit |
Forum: Applicazioni Office Windows Risposte: 5 |
Visitano il forum: Nessuno e 28 ospiti