Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel:copia se

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:copia se

Postdi giorgioa » 05/08/12 09:44

Salve a tutti e buona domenica.

Mica siete tutti in vacanza perchè ho questo problema da risolvere:
in B2 e a scendere ho una numerazione progressiva diciamo fino a 20 ma
in C2, D2, fino a Z2 ho delle formule,
da D2 con questo codice

ActiveCell.Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
devono essere copiate le celle C2...Z20 se
in colonna B vi è una numerazione e se ad esempio B19 in giù
risulta " " oppure 0 non deve essere copiato nulla.
si chiede come fare con una macro?
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Sponsor
 

Re: Excel:copia se

Postdi Flash30005 » 05/08/12 18:00

Non dici dove vuoi copiare ma penso possa risolvere da solo modificando il codice da te postato
Codice: Seleziona tutto
ActiveCell.Select
If Val(Cells(ActiveCell.Row, 2)) <> 0 Then
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
End If


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 05/08/12 18:12

Salve Flash

si praticamente il copiare è come se trascino in giù
la parte di riga selezionata sempre che in B ci sia una numerazione.

Provo e ti faccio sapere ciao
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi Flash30005 » 05/08/12 18:16

No, aspetta,

Il codice da te postato, seleziona e quindi copia solo la riga selezionata (range dalla cella selezionata all'ultima colonna non riga)

Io ho inserito solo la condizione che fa quello che volevi (codice da te postato) solo se in B... è diverso da zero o da spazio

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 05/08/12 18:22

Ciao

mi seleziona e copia ma non incolla le righe sottostanti pur essendo una
numerazione in B.

ciao
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi giorgioa » 05/08/12 18:36

ciao

al codice già postato nella macro ho aggiunto
ActiveCell.Select
If Val(Cells(ActiveCell.Row, 2)) <> 0 Then
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'aggiunta
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
però poi si ferma fermi restando che in B c'è numerazione

a questo punto se hai capito ciò che chiedo non tenere conto del codice postato da me fai prima a rifare
da zero.
ciao
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi Flash30005 » 05/08/12 18:42

Ok, ma ancora non è chiaro quale cella/riga vai a selezionare per creare la copia e in che modo attivi la macro

Fai prima a spiegare le operazioni che fai e ciò che vorresti ottenere
(solo ora credo di aver capito che vuoi copiare fino a che B ha dei valori diversi da zero ma il resto? )

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 05/08/12 19:15

si
praticamente sono formule che leggono l'archivio però le formule
viste sulla stessa riga hanno funzioni diverse ad es, conta.se poi dei SE
quindi copio la prima riga e man mano che aggiorno l'archivio
dovrò aggiornare queste formule.
La colonna B del foglio1 legge la colonna con =archivio!B2 , del foglio Archivio
quando non trova il numero darà ZERO
perciò se in foglio1 colonna B ha il numero devo aggiornare con la macro le formule
con lo stesso rigo dell'archivio.

ciao
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi Flash30005 » 05/08/12 20:05

Mah!
prova
Codice: Seleziona tutto
Sub CopiaSE()
UR = Range("B" & Rows.Count).End(xlUp).Row
For RR = 2 To UR
    If Val(Range("B" & RR)) = 0 Then
        Riga = RR - 1
        Exit For
    End If
Next RR
Range("D2:Z2").AutoFill Destination:=Range("D2:Z" & Riga), Type:=xlFillDefault

End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 05/08/12 22:15

Ciao Flash

Ok funziona,
solo ti volevo chiedere perchè obblighi la macro a segnalare il range.
Il motivo è che quella macro deve lavorare anche su altri fogli
ed hanno range maggiori in colonne di quello segnalato D Z.
Si potrebbe farne a meno?
Ti saluto
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi Flash30005 » 05/08/12 22:31

giorgioa ha scritto:Ok funziona,
solo ti volevo chiedere perchè obblighi la macro a segnalare il range

perché...
giorgioa ha scritto:devono essere copiate le celle C2...Z20 se...


Prova così
Codice: Seleziona tutto
Sub CopiaSE()
'da avviare con il foglio attivo
UR = Range("B" & Rows.Count).End(xlUp).Row
UC = Cells(2, Columns.Count).End(xlToLeft).Column
For RR = 2 To UR
    If Val(Range("B" & RR)) = 0 Then
        Riga = RR - 1
        Exit For
    End If
Next RR
Range(Cells(2, 4), Cells(2, UC)).AutoFill Destination:=Range(Cells(2, 4), Cells(Riga, UC)), Type:=xlFillDefault
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 06/08/12 18:11

Salve Flash

la macro mi da errore di debug sull'ultima riga
errore definito dall'applicazione dell'oggetto:

"Range(Cells(2, 4), Cells(2, UC)).AutoFill Destination:=Range(Cells(2, 4), Cells(riga, UC)), Type:=xlFillDefault"

Saluti
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00

Re: Excel:copia se

Postdi Flash30005 » 06/08/12 19:40

a me no! :D

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel:copia se

Postdi giorgioa » 07/08/12 05:55

Salve e buona giornata Flash

OK Problema risolto.

Ok Flash nella colonna della numerazione come ultimo mancava
l'oggetto " 0 ", con un pò di sforzo ci sono arrivato.
Saluti e a risentirci.
giorgioa
Utente Senior
 
Post: 544
Iscritto il: 16/04/12 15:00


Torna a Applicazioni Office Windows


Topic correlati a "Excel:copia se":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti