aggingere righe

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
conoscenza
00domenica 22 gennaio 2017 21:26
Buongiorno a tutti,
uso Excel 2010 e vorrei aggiungere delle righe ogni volta che premo un tasto.
Ovviamente le righe dovrebbe essere aggiunte a seguire di quelle già riempite.

Vorrei che aggiungendo le righe, copiasse solo da alcune celle precedenti il contenuto.

Mi date un mano?

Grazie in anticipo.
alfrimpa
00domenica 22 gennaio 2017 21:33
Ciao Gianpiero

Non capisco bene; potresti allegare un file di esempio e spiegare, con riferimento a quello, ciò che vuoi fare/ottenere?
conoscenza
00domenica 22 gennaio 2017 21:42
Certo che posso caricare un file.

Mi serve questo file excel per stilare la lista degli invitati al mio matrimonio. In sostanza ad ogni pressione del tasto "aggiungi famiglia" dovrei aggiungere le righe con i campi "standard".

Ora non so se è possibile inserire nr. di righe variabili (es. quando premo il tasto excel può chiedermi quante righe/nr. componenti deve aggiungere il sistema).

Spero di essermi spiegato...
alfrimpa
00lunedì 23 gennaio 2017 10:41
Ciao Gianpiero

Dal tuo esempio non riesco a capire qual è il risultato che vuoi ottenere.

Potresti allegare un file di esempio un po' più chiaro inserendo manualmente il risultato voluto?
conoscenza
00lunedì 23 gennaio 2017 20:12
Certo, cercherò di essere più chiaro.

In sostanza ad ogni pressione del tasto "Aggiungi famiglia" vorrei che aggiungesse il gruppo di celle (diagonale A3:J6).

E' chiaro che vado io a mano a compilare i campi "nome", "cognome", ...

Secondo voi è possibile?

Grazie in anticipo.


patel45
00lunedì 23 gennaio 2017 20:41
Sub aggiungi()
LR = Cells(Rows.Count, "F").End(xlUp).Row + 1
n = InputBox("quante famiglie ")
For i = 1 To n
  Range("A3:J6").Copy Cells(LR, 1)
  LR = LR + 4
Next
End Sub
conoscenza
00lunedì 23 gennaio 2017 21:27
perfetto.
Ora si può inserire anche il numero di righe variabile?
(non tutte le famiglie sono da 4 componenti)

Grazie in anticipo.
patel45
00martedì 24 gennaio 2017 11:43
Come puoi vedere io copio il Range("A3:J6") più volte.
Nel caso di num componenti variabile cosa copio ?
dovresti mettere nel foglio 2 la tabella da copiare in questi casi
conoscenza
00martedì 24 gennaio 2017 23:31
Ciao,
ci sono parzialmene riuscito. Ho cambiato un po' il file excel che vi allego.

Il codice è questo:
Sub Pulsante1_Click()
    LR = Cells(Rows.Count, "F").End(xlUp).Row + 1
    n = InputBox("quante famiglie ")
    For i = 1 To n
        m = InputBox("quanti componenti")
        Range("A3:J4").Copy Cells(LR, 1)
            If m > 2 Then
                LR = LR + 2
                For j = 2 To m - 1
                    Range("A4:E4").Copy Cells(LR, 1)
                    LR = LR + 1
                Next
            m = 0
            End If
        LR = LR + m
    Next
End Sub


l'unico problema è che essendo la colonna F vuota, alla ripresa mi interpreta male "LR", e quindi a meno che l'ultima famiglia non sia di 2 persone viene sovrascritta.

Avete qualche idea in merito?

Grazie in anticipo.
patel45
00mercoledì 25 gennaio 2017 09:04
ritengo migliore il file precedente con l'aggiunta di quanto ti ho suggerito
conoscenza
00mercoledì 1 febbraio 2017 21:41
Ciao,
alla fine ho creato il foglio che qui allego, ed uso questo codice:
Sub Pulsante1_Click()
    LR = Cells(Rows.Count, "A").End(xlUp).Row + 1
    n = InputBox("quante famiglie desideri inserire?")
    For i = 1 To n
        m = InputBox("quanti componenti ha la famiglia che stai inserendo?")
        Range("A3:L4").Copy Cells(LR, 1)
        ActiveSheet.Cells(LR, 1) = LR - 4
        ActiveSheet.Cells(LR + 1, 1) = LR - 3
            If m > 2 Then
                LR = LR + 2
                For j = 2 To m - 1
                    Range("A4:F4").Copy Cells(LR, 1)
                    ActiveSheet.Cells(LR, 1) = LR - 4
                    LR = LR + 1
                Next
            m = 0
            End If
        LR = LR + m
    Next
End Sub


Grazie mille per le dritte.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 06:39.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com