| | 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 |
|
|