Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Macro Inserisci Riga in più Fogli

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] Macro Inserisci Riga in più Fogli

Postdi nik name » 16/07/13 13:35

Ciao a tutti!
Finiti gli esami ho avuto voglia di mettermi lì un attimo e fare su un piccolo progetto usando C e un foglio di lavoro Excel. Sono sempre riuscito a fare da solo fino a qui, ma arrivato a questo punto ho il bisogno di usare qualche macro (che per me sono una cosa nuova che non ho mai utilizzato)! Spulciando nel forum ne ho trovate 3 che, con qualche modifica, mi sono servite! Tuttavia ora non ho trovato nulla e non riesco a venire a capo. Quindi mi sono iscritto sperando che qualcuno possa aiutarmi:

Il mio problema è questo:
(se non hai voglia di leggere la intro inizia da qui :lol: )
Vorrei avere una macro che faccia queste cose:
-Inserisci una riga nel Foglio1 in un punto selezionato da me (ad esempio alla riga 120 e ho pensato a Select.EntireRow.Insert).
-Nelle colonne E, F, G e H della riga appena creata scriva "NO".
-Passi al Foglio2 (Sheets("Foglio2").Select).
-Vada alla stessa riga in cui ho fatto l'"insert row" nel Foglio1, ed inserisca anche lì una nuova riga (ovvero in questo esempio alla riga 120)
-Copia il contenuto della riga sotto a quella creata (o sopra, è indifferente) e lo incolli nella riga appena creata (per le colonne dalla A alla T (quindi copia A119:T119 in A120:T120 in questo esempio)
-Torni al Foglio1.

Se qualcuno mi potesse aiutare, gliene sarei davvero grato. :)
EL PSY CONGROO
Avatar utente
nik name
Newbie
 
Post: 3
Iscritto il: 16/07/13 13:12

Sponsor
 

Re: [Excel] Macro Inserisci Riga in più Fogli

Postdi Anthony47 » 16/07/13 14:30

Ciao nik name, benvenuto nel forum.
Se sei alle prime armi con le macro ti consiglio di procedere con "Registra nuova macro" e poi modificare il codice prodotto.
Fai quindi degli esperimenti mentre appunto:
-avvii la registrazione nuova macro
-selezioni la riga che ti serve e inserisci una riga
-vai nel Foglio2, seleziona la stessa riga, inserisci una riga
-copia la riga "successiva" e la incolli in quella appena creata
-premi Esc
-torni a Foglio1
-fermi la registrazione macro
A questo punto puoi copiare il codice prodotto dal registratore e pubblicarlo nel tuo prossimo messaggio, e ti mostreremo come modificarlo per ottenere il processo generale che hai descritto.

Per avviare la registrazione:
-XL2003 e precedenti: Menu /Strumenti /Macro /Registra nuova macro (simile per Interrompere la registrazione)
-XL2010 (e forse 2007): tab Sviluppo, gruppo Codice

Ciao, ti aspettimo
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Macro Inserisci Riga in più Fogli

Postdi nik name » 16/07/13 17:25

Ok, ecco fatto. Dovrebbe essere una cosa del genere:
Codice: Seleziona tutto
Sub Macro2()
    Selection.EntireRow.Insert
    Range("E170").Select
    ActiveCell.FormulaR1C1 = "NO"
    Range("F170").Select
    ActiveCell.FormulaR1C1 = "NO"
    Range("G170").Select
    ActiveCell.FormulaR1C1 = "NO"
    Range("H170").Select
    ActiveCell.FormulaR1C1 = "NO"
    Sheets("Foglio2").Select
    ActiveWindow.SmallScroll Down:=-75
    Range("A170").Select
    Selection.EntireRow.Insert
    Range("A171:T171").Select
    Range("T171").Activate
    Selection.AutoFill Destination:=Range("A170:T171"), Type:=xlFillDefault
    Range("A170:T171").Select
    Sheets("Foglio1").Select
End Sub

Solo che tenendo questa ho paura che mi vada sempre ad aggiungere la riga nella posizione 170 nel Foglio2. O sbaglio?
EL PSY CONGROO
Avatar utente
nik name
Newbie
 
Post: 3
Iscritto il: 16/07/13 13:12

Re: [Excel] Macro Inserisci Riga in più Fogli

Postdi nik name » 16/07/13 20:34

Dovrei aver risolto con una cosa del genere!
Codice: Seleziona tutto
Sub Macro2()
    Dim A As Range
    Dim myrow As Integer
    Set A = Selection
    addr = A.Address
    Selection.EntireRow.Insert
    Cells(ActiveCell.Row, "E").Select
    ActiveCell.FormulaR1C1 = "NO"
    Cells(ActiveCell.Row, "F").Select
    ActiveCell.FormulaR1C1 = "NO"
    Cells(ActiveCell.Row, "G").Select
    ActiveCell.FormulaR1C1 = "NO"
    Cells(ActiveCell.Row, "H").Select
    ActiveCell.FormulaR1C1 = "NO"
    Sheets("Foglio2").Select
    Range(addr).Select
    Cells(ActiveCell.Row, "A").Select
    Selection.EntireRow.Insert
    myrow = ActiveWindow.RangeSelection.Row
    Rows(myrow + 1).Select
    Selection.Copy
    Rows(myrow).Select
    ActiveSheet.Paste
    Sheets("Foglio1").Select
End Sub


Dai che sto imparando! :diavolo: (anche se la maggior parte della roba l'ho copiata di qua e di là su internet xD)
EL PSY CONGROO
Avatar utente
nik name
Newbie
 
Post: 3
Iscritto il: 16/07/13 13:12

Re: [Excel] Macro Inserisci Riga in più Fogli

Postdi Anthony47 » 16/07/13 23:29

Bravo! Se funziona e' ottima cosi'...
Lavorando sul codice della macro registrata che avevi pubblicato prima io ti avrei suggerito queste variazioni:
Codice: Seleziona tutto
Sub Macro222()
    myrow = ActiveCell.Row
    Selection.EntireRow.Insert
    Range("E" & myrow & ":H" & myrow).FormulaR1C1 = "No"
'    Range("E170").Select
'    ActiveCell.FormulaR1C1 = "NO"
'    Range("F170").Select
'    ActiveCell.FormulaR1C1 = "NO"
'    Range("G170").Select
'    ActiveCell.FormulaR1C1 = "NO"
'    Range("H170").Select
'    ActiveCell.FormulaR1C1 = "NO"
    Sheets("Foglio2").Select
'    ActiveWindow.SmallScroll Down:=-75
    Range("A" & myrow).Select
    Selection.EntireRow.Insert
    Range("A" & myrow + 1 & ":T" & myrow + 1).Copy Destination:=Range("A" & myrow)
'    Range("T171").Activate
'    Selection.AutoFill Destination:=Range("A170:T171"), Type:=xlFillDefault
    Sheets("Foglio1").Select
End Sub

Alcune istruzioni sono state aggiunte (es quella che calcola myrow all' inizio); altre sono state modificate per usare myrow come indice di riga su cui operare; altre sono state cancellate (quelle con l' apostrofo in testa, che puoi fisicamente rimuovere) o perche' inutili o perche' sostituite da istruzioni che danno analogo risultato.

Continua a registrare & adattare, credo avrai grandi soddisfazioni.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Macro Inserisci Riga in più Fogli":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti

cron