Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

spostare più righe uguali in Excel 2003

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

spostare più righe uguali in Excel 2003

Postdi libraio » 04/01/11 14:45

Buon anno a tutti!
Vorrei estrarre e spostare a sinistra più righe di un foglio che hanno una cella con contenuto uguale, le righe da estrarre sono circa un migliaio ed il classico copia/incolla mi impegnerebbe ore (o giorni)...
Riporto alcune righe ad esempio:
A B C D E
Editore &MYBOOK
Articolo Autore Titolo
9788896096000 POLLUTRI ORLANDO FURIOSO
Editore ABOCA EDIZIONI
Articolo Autore Titolo
8032472003793 AA.VV. AGENDA DEL GIARDINIERE 2011
Editore ABRACADABRA
Articolo Autore Titolo
9788841857045 AA.VV FATTORIA CUCU IMPARIAMO I
9788841856437 AA.VV PESCE TANTINUMERI
Editore ACCADEMIA SANTA CECILIA
Articolo Autore Titolo
9788895341187 CARIOLI JANNA TAMBURINO DI GARIBALDI
9788895341125 CARIOLI, AI DUE LATI DELL ARCOBALENO
Editore ACQUAVIVA
Articolo Autore Titolo
9788878772236 VENTURI ITALIANI
Editore ADAC KARTE
Articolo Autore Titolo
9783870037598 AA.VV. ITALIENISCHE RIVIERA

Vorrei spostare in A;B tutte le celle C;D che contengono in C il termine "Editore" ed in E il nominativo dell'editore; il dato univoco è pertanto "Editore".
E' possibile creare una macro che svolga automaticamente questa operazione?
Grazie per l'aiuto
libraio
libraio
Utente Senior
 
Post: 211
Iscritto il: 04/01/10 20:31

Sponsor
 

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 15:06

Ciao,
prova in questo modo:
1. attivi il registratore di macro
2. fai uno spostamento secondo le tue condizioni
3. chiudi il registratore di macro.
4. con Alt+F11 vai nell'editor del VB e ... cerchi di adattare il codice ottenuto inserendolo in un ciclo FOR/NEXT

Se non riesci ... invia il codice ottenuto con il registratore che ... ci proviamo noi.

E' meglio non inviarti subito la macro altrimenti non impari come si opera con le macro ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 15:09

Puoi inviare i dati in altro modo perchè non si distinguono le colonne in cui i dati si trovano,
magari con un'immagine o, meglio, con un esempio ridotto del tuo file
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: spostare più righe uguali in Excel 2003

Postdi libraio » 04/01/11 15:36

Grazie Ricky per la risposta.
Ho creato la macro con il registratore:

Sub SpostaEditore()
'
' SpostaEditore Macro
' Macro registrata il 04/01/2011 da Libreria Garibaldi
'

'
Range("C1:D1").Select
Selection.Cut
Range("A1").Select
ActiveSheet.Paste

End Sub

Ma non conosco l'uso del ciclo FOR/NEXT; puoi aiutarmi tu?.... :oops:
Riguardo l'esempio "incomprensibile" l'avevo incollato da excel, ma ha perso la formattazione (e non lo sapevo...)
Come posso inserire un'immagine all'interno del testo, o in allegato?
Grazie per la tua disponibilità
libraio
libraio
Utente Senior
 
Post: 211
Iscritto il: 04/01/10 20:31

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 15:47

Ciao
Comunque puoi inserire i dati separandoli con "-----" in modo da allineare le colonne.

Non si capisce cosa stai spondando serve l'immagine od un file
leggi QUI
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: spostare più righe uguali in Excel 2003

Postdi libraio » 04/01/11 17:26

Ecco dove puoi trovare una parte del foglio
http://ul.to/dggzuo
Ancora grazie
libraio
libraio
Utente Senior
 
Post: 211
Iscritto il: 04/01/10 20:31

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 18:11

Ciao,
però potevi dirlo che le colonne “A” e “B” erano vuote.
Sicuro che poi non si avranno altre modifiche all'organizzazione dei dati e che la tu aesigenza non sarà diversa ?
Scrivo questo solo per evitare di inziare a scriverti del codice che poi, forse, si scoprirà non adatto ai tuoi dati.

Tu come vorresti avere la struttura dati dopo gli spostamenti ???

Secondo me sarebbe necessario averla in questo modo (partendo dalla cella “A1” che conterrà “Editore”, "B1" Articolo, . . .)

Editore ------------- Articolo ---------- Autore ---------- Titolo
&Mybook --------- 9788897 ---------- Pollutri----------- Orlando Furioso
Aboca Edizioni --- 8032472 ---------- AA. VV.---------- Agenda del Giardiniere
. . .
. . .
. . .
Zurletti ------------- 99999 ----------- AA. VV. --------- Zurlando nel Tusto

Che è l’unico modo utile per fare delle elaborazioni, filtri, ricerche o altro.

Attendo una tua conferma e poi vedrò di scriverti del codice ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 20:29

Ciao,
in attesa di informazioni ... tanto per gradire:
Codice: Seleziona tutto
Option Explicit
Public I As Long, J As Long, RR As Long, Editore

Sub Scrivi_Libri()
    Application.ScreenUpdating = False
    Sheets("Foglio2").Cells.ClearContents
    Sheets("Foglio2").[A1] = "Editore"
    Sheets("Foglio2").[B1] = "Articolo"
    Sheets("Foglio2").[C1] = "Autore"
    Sheets("Foglio2").[D1] = "Titolo"
   
    RR = Sheets("Foglio1").Range("C" & Rows.Count).End(xlUp).Row
    J = 2
    For I = 1 To RR
        If UCase(Sheets("Foglio1").Cells(I, 3)) = "ARTICOLO" Then
            I = I + 1
        End If
        If UCase(Sheets("Foglio1").Cells(I, 3)) = "EDITORE" Then
            Editore = Sheets("Foglio1").Cells(I, 4)
        Else
            Sheets("Foglio2").Cells(J, 1) = Editore
            Sheets("Foglio2").Cells(J, 2) = Sheets("Foglio1").Cells(I, 3)
            Sheets("Foglio2").Cells(J, 3) = Sheets("Foglio1").Cells(I, 4)
            Sheets("Foglio2").Cells(J, 4) = Sheets("Foglio1").Cells(I, 5)
            J = J + 1
        End If
    Next I
    Sheets("Foglio2").Columns("A:D").EntireColumn.AutoFit
    Application.ScreenUpdating = True
    Sheets("Foglio2").Select
    MsgBox "Elaborazione Effettuata"
End Sub


Attenzione ai nomi dei fogli ho utilizzato:
"Foglio1" per i dati originali
"Foglio2" per i dati prodotti dalla macro (in questo foglio vengono cancellati tutti i dati esistenti quindi ...)

Passi da eseguire:
1. Apri l'editor del VB con Alt+F11
2. inserisci un modulo
3. copia il codice che ti ho inviato
4. esegui la macro con F8 (passo passo) o F5 (tutta insieme)
oppure
dal foglio excel con "Alt+F8" e selezioni la macro "Scrivi_Libri"

e ....
buone prove.

In caso non sia proprio quello che ti occorre ... sono QUI
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: spostare più righe uguali in Excel 2003

Postdi libraio » 04/01/11 20:58

Stavo "tentando" un'ulteriore spiegazione delle mie necessità, quando mi è giunto il tuo codice.
E' proprio quello che tentavo di risolvere (invano); di più: la soluzione su due fogli distinti mi permette di procedere con operazioni diverse, secondo necessità.
Grazie! :)
libraio
libraio
Utente Senior
 
Post: 211
Iscritto il: 04/01/10 20:31

Re: spostare più righe uguali in Excel 2003

Postdi ricky53 » 04/01/11 21:02

Ciao,
bene alla prossima.

Fatte tutte le prove sui dati reali ???
Tutto viene copiato correttamente ???

Consiglio:
elabora i dati mediante una
"TABELLA PIVOT"
e ... avrai tanto di quello che ti può servire ... e magari di più !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "spostare più righe uguali in Excel 2003":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti