Condividi:        

[EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

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

[EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 14/01/15 14:02

Buongiorno a tutti,

Sono nuovo di questo forum ma ho visto che ci sono molte persone brave nell'ultizzo degli strumenti office soprattutto di excel. Premetto che non ho molta dimistichezza con VBA e sono un utente base nell'utilizzo di excel, Il mio problema è quello di fare una macro che ti permette di aggiungere righe (da una riga che imposto io) cliccando un pulsante ed ogni volta che clicco si aggiunge una riga sotto la riga aggiunta in precedenza e così via per ogni riga ulteriore che si aggiunge. Ho provato un pò a ricercare e adesso so aggiungere il pulsante collegandolo con la macro e ho provato anche a smanettare con il comando - Rows ("5:5"). Insert Shift:=x1down - trovato sempre su questo forum ma ti aggiunge sempre la riga alla stessa altezza ed io vorrei aggiungerle in maniera sequenziale. Mi date una mano? Grazie mille!
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Sponsor
 

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi Anthony47 » 14/01/15 15:32

Questo pulsante esiste gia' in Excel, nel tab Home, gruppo Celle, icona Inserisci:
Immagine
image share

Come funziona: selezioni una riga intera, premi l' icona, e una nuova riga sara' inserita sopra la riga selezionata.

In che cosa la prestazione che chiedi e' diversa?

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

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 14/01/15 15:46

ho un foglio di lavoro in excel dove un utente è chiamato ad aggiungere una serie di dati nelle righe presenti... in ogni riga ci sono una serie di formule/menù a tendina ecc. gli utenti che utilizzeranno il foglio sono più basic di me ad utilizzare excel quindi voglio aggiungere un pulsante bello grosso alla fine del foglio di lavoro in modo che se loro nell'inserimento dei dati vogliono aggiungere righe lo fanno con il pulsante senza fare danni. il foglio di lavoro sarà bloccato e si autocompila con alcuni dati che loro inseriscono e devo dare loro la possibilità di aggiungere righe nel riquadro che gli creo io con le formule e i menù a tendina
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 14/01/15 17:27

vedo di essere più chiaro:

ho creato un file excel che deve contenere un elenco.
Per questo elenco sulle righe corrispondenti ci sono una serie di formule/menù a tendina riferite alla voce della riga corrispondente.

ogni volta che clicco il pulsante vorrei aggiungere a partire dalla riga che specifico io, di volta in volta, delle righe vuote al di sotto di quelle già aggiunte, con le stesse formule e stessa formattazione delle precedenti... non so se ho reso bene il problema. Grazie in anticipo ;)
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi Anthony47 » 14/01/15 22:39

Vediamo di faticare il meno possibile...
Inserisci la tua struttura dati nella forma di "Tabella", e popolala con le formule e menu' a tendina che hai in mente.
Poi inserisci in un Modulo standard del vba questo codice
Codice: Seleziona tutto
Sub NewRow()
   Range("A2").ListObject.ListRows.Add      '<<< Una cella della tabella in lavorazione
End Sub

Modifica la riga marcata <<< in modo che venga "puntato" un range compreso nella tua tabella.

Infine disegna un Pulsante e associagli la Sub NewRow; premendo il pulsante una nuova riga sara' aggiunta in coda alla tabella, con le formule e formattazioni che hai inserito.

Fai sapere se cosi' risolvi....
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 15/01/15 11:47

funziona funziona ;)!! grazie, ma se volessi invece farlo sensa impostare la tabella? sarebbe più lungo il comando?
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 15/01/15 12:34

come non detto. Il comando non funziona se alla fine della tabella per ogni colonna c' è la funzione somma... ho provato ad escludere la funzione somma dalla tabella mettendola al di fuori però si aggiungono le righe che non si leggono nella formula
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 15/01/15 12:57

se la funzione somma è nelle celle dell'ultima riga della tabella ... la riga non scorre. Es. la funzione somma è nella riga 26 io allora aggiungo la riga a partire dalla riga 25 ma invece di aggiungera tra 25 e 26 mi aggiunge la riga dopo la 26 (dove c'è la funzione somma). a me serve che la riga in cui ci siano le celle con la somma sia sempre alla fine della tabella e che la funzione mi prenda i dati che inserisco nella riga aggiunta con la macro
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi Anthony47 » 15/01/15 22:33

Ti suggerisco di leggere l' help on-line di Excel alla voce "Creare o eliminare una tabella di Excel in un foglio di lavoro", ti spieghera' dove inserire la riga di Somma (o per altre funzioni riepilogative) per informazioni di base sulle "Tabelle" (una struttura dati che e' stata potenziata a partire da XL2007).
Comunque all' interno della tabella devi inserire solo le righe/colonne di dati.
Il mio suggerimento e' di procedere in questo modo:
-compili le intestazioni di colonna e compili la prima riga con le convalide e le formule che servono
-selezioni l'area con intestazioni e prima riga dati e la definisci "Tabella": Menu /Inserisci/Tabella
Il risultato sara' come da immagine:
Immagine
caricare immagini
(Tabella con 4 intestazioni e una riga; Uno, Due, Tre, Quatt sono le mie intestazioni di colonna; E2 contiene una formula)
-Clicca su simbolo marcato in Rosso e "allunga" la tabella fino a contenere il numero di righe che ti servono inizialmente. La struttura si allunghera' di conseguenza.
-selezionando una cella della tabella si "apre" sul Ribbon una scheda "Strumenti Tabella /Progettazione; Cliccala.
-tra le tante opzioni c' e' la possibilita' di inserire una Riga Totale
Immagine
upload
-spunta questa voce, e in coda alla tabella sara' aggiunta una riga su cui potrai inserire una formula, o scegliendola da alcune funzioni gia' "precablate" o usando altre funzioni a piacere.
Ad esempio io sulla RigaTotale della colonna "Quatt" ho inserito la funzione Somma (non scelta tra quelle "precablate", ma tra "AltreFunzioni"), che e' diventata =SOMMA([Quatt])

In questo modo RigaTotale puntera' sempre a tutte le righe di tabella, e potrai usare la macro che ti avevo dato.

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

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 18/01/15 21:38

Grazie mille Anthony problema risolto :)
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi stoktol » 20/01/15 19:52

ciao anthony un ultima cosa...
quando si inserisce la riga non mantiene nè la stessa altezza nè gli stessi bordi hai qualche suggerimento in merito?
stoktol
Newbie
 
Post: 9
Iscritto il: 14/01/15 13:26

Re: [EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza

Postdi Anthony47 » 21/01/15 02:09

Per propagare lo stile alle nuove righe esso deve essere applicato tramite uno "stile tabella"; ce ne sono numerosi "precablati" (vedi scheda StrumentiTabella /Progettazione, gruppo Stili Tabella) e altri ne possono essere creati (icona Nuovo stile tabella, in fondo all' elenco espanso degli stili esistenti). L' altezza riga pero' non mi pare faccia parte delle opzioni che si copiano, quindi dovrai impostarla nella macro, che pertanto diventa:
Codice: Seleziona tutto
Sub NewRow()
With Range("A2").ListObject
    .ListRows.Add AlwaysInsert:=True     '<<< Una cella della tabella in lavorazione
    .ListRows(.DataBodyRange.Rows.Count).Range.EntireRow.RowHeight = _
        .ListRows(.DataBodyRange.Rows.Count - 1).Range.Height
End With
End Sub

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


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL2010] - URGENTE - MACRO: inserire riga in sequenza":


Chi c’è in linea

Visitano il forum: Nessuno e 36 ospiti