Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Inserimento automatico delle righe

Ultimo Aggiornamento: 02/03/2020 18:04
Post: 2
Registrato il: 28/02/2020
Età: 39
Utente Junior
2010
OFFLINE
28/02/2020 18:07

Buonasera a Tutti e complimenti per il Forum e la preparazione.
Premetto che non sono un esperto di linguaggi di programmazione ne tanto meno di VBA, per tanto chiedo il Vs. Aiuto ringraziandovi Anticipatamente.
Avrei un problema con il file excel il quale allego:
ricapitolando, dovrei inserire automaticamente tante righe quante indicate specificatamente dal valore riportato nella colonna F (e/o altra colonna di riferimento).
eS. ("SHEETS NUMBER"=15, quindi verranno inserite sotto la riga esistente, altre 14 righe uguali a quella di riferimento contenenti le stesse informazioni da colonna"A" a Colonna "G")
Attualmente il file funziona parzialmente in quanto crea le righe ma non compila le celle a differenza solo della prima colonna.

Grazie mille per l'aiuto
Buona Serata
Post: 2.525
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
28/02/2020 18:59

ciao
fai una ricerca nel forum, ci sono decine di post al riguardo.
questo è uno dei tanti:
https://www.freeforumzone.com/d/9137622/aggiungere-righe-in-automatico/discussione.aspx


saluti



[Modificato da dodo47 28/02/2020 19:00]
Domenico
Win 10 - Excel 2016
Post: 2
Registrato il: 28/02/2020
Età: 39
Utente Junior
2010
OFFLINE
28/02/2020 19:21

Lo avevo già visto ma nel mio caso non devo inserire sempre 2 righe ma la quantità delle righe la determina una specifica colonna
28/02/2020 21:19

Servono due minuti per elaborare il tutto
Option Explicit
Sub Prova()
Dim URec As Long, x As Long, y As Long, z As Long
Sheets("Table 1").Activate
    URec = Range("A" & Rows.Count).End(xlUp).Row
    For x = URec To 4 Step -1
        y = Cells(x, 6)
        Range(Cells(x, 1), Cells(x, 16)).Copy 'per tutte, sino colonna G = Cells(x, 7))
        Range(Cells(x + 1, 1), Cells(x + y, 16)).Insert Shift:=xlDown
        Range(Cells(x, 6), Cells(x + y, 6)) = "_" & Cells(x, 6)
        Range(Cells(x, 16), Cells(x + y, 16)) = ""
    Next x
    MsgBox "fatto"
End Sub
Post: 3.758
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
28/02/2020 22:09

Buona sera, @Lillo.85;
dopo aver preso buona nota delle Risposte precedenti, come promesso in Risposta #26 della Discussione:
https://www.freeforumzone.com/d/9137622/aggiungere-righe-in-automatico/discussione.aspx
allego un Codice VBA.

Premesso che non vorrei avere male interpretato la tua Richiesta:

... ("SHEETS NUMBER"=15, quindi verranno inserite sotto la riga esistente, altre 14 righe uguali a quella di riferimento contenenti le stesse informazioni da colonna"A" a Colonna "G")


in base alla quale ho inteso che i Record con SHEETS NUMBER = 1 non devono essere duplicati; se ciò è corretto potresti provare con questo Codice VBA:

Option Explicit

Sub Prova()
Application.ScreenUpdating = False
Dim URec As Long, x As Long, y As Long, z As Long
Dim Rec
    URec = Range("A" & Rows.Count).End(xlUp).Row
    For x = URec To 4 Step -1
        If Cells(x, 6) > 1 Then
            y = Cells(x, 6)
            Cells(x + 1, 1).Select
                For z = 1 To y - 1
                    Range(Cells(x, 1), Cells(x, 7)).Copy
                Selection.EntireRow.Insert
                Next z
        End If
    Next x
Application.ScreenUpdating = True
    Cells(1, 1).Select
End Sub 




A disposizione.

Buona serata.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 3
Registrato il: 28/02/2020
Età: 39
Utente Junior
2010
OFFLINE
02/03/2020 17:00

Buonasera e Grazie per i Commenti a gli aiuti Ricevuti.
Vorrei chiedervi un'ultima cosa, in pratica, con le macro che mi avete indicato, vengono inserite solo le celle copiate, mentre a me servirebbe inserire l'intera riga per tutto il foglio di lavoro e successivamente copiare determinate celle di riga lasciandone alcune vuote (Almeno una).
Grazie per la disponibilità
Saluti
Lillo
Post: 3.766
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
02/03/2020 18:04


Adatta uno dei Codici VBA proposti alle tue reali esigenze.

Giuseppe

Windows XP - Excel 2000
Windows 10 - Excel 2013
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:54. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com