Condividi:        

excel 2007 inserimento riga con formule

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 2007 inserimento riga con formule

Postdi scacco al re » 14/11/11 16:27

mi servirebbe una macro che posizionadosi sulla prima cella vuota della colonna A mi inserisca una riga e che mi ci copiasse le formule della riga superiore, solo le formule non i dati inseriti manualmente.
Grazie anticipatamente
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Sponsor
 

Re: excel 2007 inserimento riga con formule

Postdi Flash30005 » 14/11/11 17:57

Hai detto deve aggiungere una riga e copiare le formule esistenti da B alla colonna ...
quindi in A rimane sempre una cella vuota giusto?

Prova questa macro
Codice: Seleziona tutto
Sub CopiaRiga()
UR = Range("A" & Rows.Count).End(xlUp).Row + 1
    Rows(UR & ":" & UR).Insert Shift:=xlDown
    Range("B" & UR - 1 & ":IV" & UR - 1).AutoFill Destination:=Range("B" & UR - 1 & ":IV" & UR), Type:=xlFillDefault
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel 2007 inserimento riga con formule

Postdi scacco al re » 14/11/11 18:23

nella riga superiore nella colonna A c'è una formula.
in pratica l'ultima riga della tabella (esempio A1:lL80) è vuota (riga 80) mentre le formule si fermano alla 79.
La macro dovrebbe inserire una riga sponstandomi la riga vuota (80) sotto (81) e copiandomi tutte le formule della riga superiore (79) nella riga inserita (80).
Spero di essere stato più chiaro.
Grazie
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: excel 2007 inserimento riga con formule

Postdi Flash30005 » 14/11/11 18:45

Ma se la 80 è vuota e sotto a 80 non c'è più nulla perché aggiungere una riga?
Non è sufficiente copiare la riga 79 sulla riga 80?

Intendo così
Codice: Seleziona tutto
Sub CopiaRiga()
UR = Range("A" & Rows.Count).End(xlUp).Row
     Rows(UR & ":" & UR).Copy Destination:=Rows(UR + 1 & ":" & UR + 1)
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel 2007 inserimento riga con formule

Postdi scacco al re » 14/11/11 20:19

si, quello che dici è giusto,
ma la mia tabella è già tutta bordata per la stampa, e sempre nella stampa ho bisogno di quella riga vuota.
volevo questa macro per non dover fare tutti i passaggi manualmente.
Creo un pulsante dove metto questa macro, clicco lui inserisce la riga con le formule io inserisco i dati, poi il giorno dopo clicco di nuovo sul pulsante lui mi inserisce un altra riga e io inserisco i dati.
la colonna A è la colonna deila data che si incrementa giorno dopo giorno pigiando il pulsante della macro.
Anche se lo faccio manualmente ho il problema che quando copio e incollo la riga precedente lui mi incolla con le formule anche i valori che ho inserito pur usando l'incolla speciale formule.
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: excel 2007 inserimento riga con formule

Postdi Anthony47 » 14/11/11 22:13

Il mio suggerimento e' che crei una "Tabella" (Inserisci /Tabella); poi con questa istruzione aggiungi una riga che include formule e formati.
Codice: Seleziona tutto
ActiveSheet.ListObjects("Tabella1").ListRows.Add

Oppure puoi ridimensionare la tabella trascinando delle righe che vuoi l' handle che viene inserito nell' angolo in basso a dx.
Puoi verificare il nome della tabella (ho ipotizzato che sia "Tabella1", ma non e' garantito che la prima o unica tabella si chiami Tabella1) registrando una macro mentre "allunghi" la tabella in questo modo.

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

Re: excel 2007 inserimento riga con formule

Postdi scacco al re » 14/11/11 22:47

Grazie a tutti per l'aiuto,
ho utilizzato la prima macro modificandola così:
Codice: Seleziona tutto
Sub i_riga()
UR = Range("A" & Rows.Count).End(xlUp).Row + 1
    Rows(UR & ":" & UR).Insert Shift:=xlDown
    Range("A" & UR - 1 & ":IV" & UR - 1).AutoFill Destination:=Range("A" & UR - 1 & ":IV" & UR), Type:=xlFillDefault
End Sub

in questo modo mi mette la formula anche nella colonna A.
unico neo che oltre alle formule mi copia i dati (numerici) che ho inserito, come devo fare?
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: excel 2007 inserimento riga con formule

Postdi Flash30005 » 15/11/11 00:31

Prova questa macro

Codice: Seleziona tutto
Sub i_riga()
UC = Range("IV1").End(xlToLeft).Column
UR = Range("A" & Rows.Count).End(xlUp).Row + 1
    Rows(UR & ":" & UR).Insert Shift:=xlDown
With Range(Cells(UR - 1, 1), Cells(UR - 1, UC))
            Set C = .Find("=", LookIn:=xlFormulas, LookAt:=xlPart)
                If Not C Is Nothing Then
                    firstAddress = C.Address
                    RC = C.Row
                    CC = C.Column
                        Cells(RC, CC).Copy Destination:=Cells(RC + 1, CC)
                    Do
                        Set C = .FindNext(C)
                        If firstAddress = C.Address Then Exit Do
                        RC = C.Row
                        CC = C.Column
                            Cells(RC, CC).Copy Destination:=Cells(RC + 1, CC)
                    Loop While Not C Is Nothing And C.Address <> firstAddress
                End If
        End With

End Sub


Se devi riformattare la tabella (con bordi vari) si può fare sempre con la macro ad aggiornamento finito

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel 2007 inserimento riga con formule

Postdi scacco al re » 16/11/11 07:10

utilizzando l'ultima macro postata mi copia le formule solo nella colonna A.
comunque dopo vari tentativi ho trovato un compromesso accettabile e risolto il problema
Grazie a tutti.
scacco al re
scacco al re
Utente Senior
 
Post: 524
Iscritto il: 10/05/02 19:18
Località: Sestri Levante

Re: excel 2007 inserimento riga con formule

Postdi Flash30005 » 16/11/11 09:07

Questo succede perché non si hanno i dati davanti agli occhi
infatti ho considerato che nella riga 1 tu avessi una specie di testata e questa occupasse n colonne come nella tabella
per ricavarmi il numero di colonne ho adottato questo codice
Codice: Seleziona tutto
UC = Range("IV1").End(xlToLeft).Column

che è come il "ContaRighe" piene ma fatto sulle colonne
se ti copia solo la colonna A significa che nella riga 1 (IV1) non hai nulla
prova a cambiare quell'1 nel numero riga dove esiste veramente la tabella es IV5 (se inizia dalla riga 5 etc)
e vedrai che la macro funzionerà egregiamente ma se ti va bene il compromesso...

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel 2007 inserimento riga con formule

Postdi Anthony47 » 16/11/11 09:54

Ma l' ipotesi di usare le feature specifiche per le tabelle (come suggerito qui: viewtopic.php?f=26&t=93526&p=535143#p535041) non e' applicabile?

Non perdere il messaggio di Flash sopra.

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 2007 inserimento riga con formule":


Chi c’è in linea

Visitano il forum: Nessuno e 45 ospiti