Condividi:        

selezionare riga con macro excel

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

selezionare riga con macro excel

Postdi Bebo » 02/08/12 10:20

Ciao ho un problema con una macro di excel.
Devo fare in modo che si selezioni una riga intera, ma il numero di riga deve essere preso dal contenuto di una cella.
naturalmente la prima domanda è se si può fare e la seconda come?
ecco la mia macro, dove sbaglio?


Sub prova()
'
' prova Macro
'

'

Rows("10:10").Select
Selection.Copy
Sheets("foglio2").Select
ActiveWindow.SmallScroll Down:=36
Dim X
X = Range("A1").Value
Rows("X:X").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("foglio1").Select
ActiveWindow.SmallScroll Down:=-42
Range("A3").Select
Sheets("foglio2").Select
Range("A10").Select
Application.CutCopyMode = False
End Sub

secondo le mie intenzioni dovrebbe:
selezionare la riga 10 del foglio2 e copiarla
andare al foglio1
prendere il valore numerico presente nella cella A1 e assegnarlo come valore della variabile X
selezionare la riga corrispondente al valore della variabile x
incollare nella riga selezionata la riga precedentemente copiata (la riga 10 del foglio2)

cioè se in A10 c'è scritto 3, copia (copia valori) la riga 10 nel foglio1 al posto della riga 3

AIUTOOOOOOOO!!!!!!!!! :cry:
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Sponsor
 

Re: selezionare riga con macro excel

Postdi wallace&gromit » 02/08/12 10:41

Ciao Bebo, benvenuto nel forum.
Puoi ridurre il tutto a questo semplice codice:
Codice: Seleziona tutto
Sub Copia_Incolla()
    UR = Sheets("Foglio1").Range("A1").Value
    Sheets("Foglio2").Rows("10:10").Copy Destination:=Sheets("Foglio1").Rows(UR)
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 10:49

grandioso!!!!
unica precisazione, devo incollare solo i valori, non i formati e le formule, scusa son stato poco preciso prima...

comunque grazie tantissime ugualmente, mi hai salvato :D


...e grazie per il benvenuto, un saluto a tutti, nuovi e vecchi.
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Re: selezionare riga con macro excel

Postdi wallace&gromit » 02/08/12 10:58

Bebo ha scritto:devo incollare solo i valori, non i formati e le formule

è vero, l'avevi anche scritto.
Non so se si può ancora usare destination, comunque puoi fare così:
Codice: Seleziona tutto
Sub Copia_Incolla2()
    UR = Sheets("Foglio1").Range("A1").Value
    Sheets("Foglio2").Rows("10:10").Copy
    Sheets("Foglio1").Rows(UR).Select
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 11:12

SEI UN GRANDE....
son riuscito a farlo funzionare.
la prima volta che lo lancio è perfetto, quando cambio numero mi da errore ma ora cerco il perchè, se poi proprio non ci riesco posso approfittare della tua bontà?

p.s. sai suggerirmi un manuale di programmazione per non stressarti troppo e capire cosa sto facendo con quelle istruzioni?

grazie mille...
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 11:43

ok, devo stressarvi ancora...

perchè se lancio la macro dal foglio 1 funziona mentre dal foglio 2 no????
mi serve lanciarla dal foglio 2.

Sub prova()
'
' prova Macro
'

'

UR = Sheets("foglio1").Range("A1").Value
Sheets("foglio2").Rows("10:10").Copy
Sheets("foglio1").Rows(UR).Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 11:58

OK, RISOLTOOOOOOO!!!!!!!

Ecco la soluzione completa per i posteri:

Sub prova()
'
' prova Macro
'

'
Sheets("foglio1").Select
ActiveWindow.SmallScroll Down:=-66
Range("A3").Select
UR = Sheets("foglio2").Range("A34").Value
Sheets("foglio2").Rows("10:10").Copy
Sheets("foglio1").Rows(UR).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("foglio2").Select
Range("A10").Select
Application.CutCopyMode = False
End Sub




grazie infinite a wallace&gromit per i consigli utilissimi.
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Re: selezionare riga con macro excel

Postdi wallace&gromit » 02/08/12 13:12

Bebo ha scritto: sai suggerirmi un manuale di programmazione per non stressarti troppo e capire cosa sto facendo con quelle istruzioni?
il mio manuale si chiama http://www.pc-facile.com!!!
è solo da qualche mese che frequento questo forum e ne ho ricavato tantissimo (facendo delle ricerche per argomento e troverando un sacco di spunti), prima di allora avevo sviluppato pochissime macro. Ultimamente ci ho preso gusto.

Per quanto riguarda la soluzione che hai dato mi sorprende che funzioni meglio della mia (non mi sembra che tu abbia aggiunto elementi sostanziali). Avevo notato anche io che dal foglio 2 la macro da errore. Direi di aspettare il contributo di Flash o Anthony che sicuramente risolvono il tutto in modo migliore.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: selezionare riga con macro excel

Postdi Anthony47 » 02/08/12 13:49

Vale sempre i concetto "macro che funziona e' ok", comunque a scopo didattici si puo' anche usare
Codice: Seleziona tutto
Sub prova()
'
UR = Sheets("foglio1").Range("A1").Value
Sheets("foglio2").Rows("10:10").Copy
Sheets("Foglio1").Cells(UR, "A").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

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

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 14:43

ops, wallace&gromit mi hai frainteso.
ho pubblicato la soluzione solo per uso e consumo degli altri che hanno lo stesso problema, ma non intendo assolutamente che si pensi che l'ho trovata io.
io ho solo applicato i tuoi suggerimenti e senza di essi non avrei mai risolto.

il listato che ho pubblicato è solo la copia del tuo suggerimento al quale ho aggiunto il fatto che poi il cursore torna ad una data cella....ma la sostanza è solo tua!!!!

non tolgo meriti a chi li ha realmente!

Grazie ancora per il fondamentale aiuto!

Grazie anche ad Anthony per il suo contributo.
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39

Re: selezionare riga con macro excel

Postdi wallace&gromit » 02/08/12 14:52

tranquillo Bebo, niente di tutto ciò, non ero per niente offeso ;) io stesso scopiazzo i codici da altri post.
dalla soluzione di Anthony ho poi capito che era l'uso di rows che in qualche modo non funzionava e che tu, a differenza di me, lo avevi aggirato inserendo un sheets.("foglio1").select.
Come prevedevo però c'è di meglio: con il metodo cells postato da Anthony riesci ad attribuire il valore copiato alla riga senza selezionarla. Con macro più complesse vedrai che inserire tanti select appesantisce lo svolgimento senza portare vantaggi.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: selezionare riga con macro excel

Postdi Bebo » 02/08/12 14:58

infatti...ora provo anche questa soluzione e cerco di alleggerire il file che è già abbastanza pesante perchè è un database un pò complesso con calcoli, formule, macro ecc...
appena il lavoro mi lascia 2 minuti in più vedo se posso aiutare altri con il poco che so.

thanks
Bebo
Utente Junior
 
Post: 11
Iscritto il: 02/08/12 09:39


Torna a Applicazioni Office Windows


Topic correlati a "selezionare riga con macro excel":


Chi c’è in linea

Visitano il forum: Nessuno e 42 ospiti

cron