Condividi:        

[excel 2003+vba]: ordinare un foglio creato manualmente

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

[excel 2003+vba]: ordinare un foglio creato manualmente

Postdi karug64 » 21/11/11 00:15

Salve a tutti.
Utilizzo Excel 2003.
Con questa routine (non bella esteticamente, ma almeno funzionale)
copio da un foglio (Foglio1") dei valori su un altro foglio
("Dossier")

Sheets("Foglio1").Select
n_r_doss = 0
For x = 2 To 3000
If Sheets("Foglio1").Cells(x, 1).Value = "" Then
GoTo Ordina
Else
tmp_tipo = ""
tmp_c = ""
tmp_dos = ""
tmp_f = ""
n_r_doss = n_r_doss + 1
tmp_f = Sheets("Foglio1").Cells(x, 2).Value
tmp_tipo = Sheets("Foglio1").Cells(x, 1).Value
tmp_c = Sheets("Foglio1").Cells(x, 3).Value
tmp_dos = Sheets("Foglio1").Cells(x, 4).Value
Sheets("Dossier").Cells(n_r_doss + 1, 1).Value = tmp_f
Sheets("Dossier").Cells(n_r_doss + 1, 2).Value = tmp_c
Sheets("Dossier").Cells(n_r_doss + 1, 3).Value = tmp_dos
Sheets("Dossier").Cells(n_r_doss + 1, 4).Value = tmp_tipo
End If
Next x

Ordina:

Call ordina_dossier

Poi chiamo la routine ordina_dossier per cercare di ordinare il nuovo
foglio sulla colonna B

Private sub ordina_dossier
Sheets("Dossier").Select
Range("A1:D1000").Sort Key1:=Range("B2"), Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

ma pur non segnalandomi alcun errore non viene ordinato nulla.

Ho provato a registrare la macro, ma all'istruzione:
cells.select
mi da errore: Errore di run-time 1004
Errore nel metodo select per la classe range.

Potete aiutarmi ?
Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: [excel 2003+vba]: ordinare un foglio creato manualmente

Postdi Anthony47 » 21/11/11 00:25

Non ho capito quale istruzione del codice postato va in errore.
Comunque se esegui manualmente l' ordinamento, ti funziona? Se SI, registra una macro mentre esegui l' ordinamento e pubblica il codice ottenuto; se NO allora dovresti pubblicare uno screenshot dei tuoi dati.

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

Re: [excel 2003+vba]: ordinare un foglio creato manualmente

Postdi karug64 » 21/11/11 11:06

Il.codice non va in errore. E' quello presente nella routine ordina_dossier ed e' prodotto dalla macro. Ma se lo.faccio manualmente funziona, tramite codice no.
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: [excel 2003+vba]: ordinare un foglio creato manualmente

Postdi Anthony47 » 21/11/11 12:28

Ieri
Ho provato a registrare la macro, ma all'istruzione:
cells.select
mi da errore: Errore di run-time 1004
Errore nel metodo select per la classe range.

Oggi
Il.codice non va in errore



Anthony ha scritto:Comunque se esegui manualmente l' ordinamento, ti funziona? Se SI, registra una macro mentre esegui l' ordinamento e pubblica il codice ottenuto; se NO allora dovresti pubblicare uno screenshot dei tuoi dati.

Dici che l' ordinamento manuale funziona, quindi registra una macro mentre lo fai e pubblica il codice. Ma a questo punto mi porto avanti e ti chiedo anche lo screenshot dei dati da ordinare, perche' non mi quadra l' indicazione della chiave rispetto alla selezione fatta; per come fare vedi qui: viewtopic.php?f=26&t=80395#p466013

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


Torna a Applicazioni Office Windows


Topic correlati a "[excel 2003+vba]: ordinare un foglio creato manualmente":


Chi c’è in linea

Visitano il forum: Nessuno e 108 ospiti