Macro per aggungere righe



  • Macro per aggungere righe
    di Claudio (utente non iscritto) data: 27/11/2015 12:36:09

    Salve, avrei bisogno del vostro aiuto per creare una macro che svolga questa funzione.
    Ho una tabella PRINCIPALE con 220 nomi e codici fiscali.
    Su un secondo foglio ho una tabella con 12 righe e 20 colonne (ciascuna riga corrisponde ad un mese)

    Vorrei creare in automatico – per ogni codice fiscale – 12 righe corrispondenti ai mesi dell’anno (e poi copiare il resto delle formule su tutte le righe).

    Ho provato a creare una macro in Excel che ha generato questo codice che trova qui sotto.
    I problemi sono 2

    1) Se la ripeto sul nominativo seguente utilizza i riferimenti assoluti della prima riga anziché relativi alla riga su cui mi trovo.
    Il riferimento dei figlio MODELLO devono invece restare fissi.

    2)Dovrei ripetere la macro per 220 volte (ma questo sarebbe il meno)

    Mi potete aiutare?

    Grazie



     
    ‘ Sub Aggiungi_righe_mesi()
    ‘ Aggiungi_righe_mesi Macro
    ‘ Macro per l’aggiunta di 11 righe dopo ogni nominativo, copia dei dati delle prime tre colonne nelle 11 righe sottostanti e copia di una serie di celle FISSE con i nomi dei 12 mesi e le formule dal foglio MODELLO nelle colonne adiacenti
    ‘
    ‘ Scelta rapida da tastiera: CTRL+a
    ‘
    Rows(“4:14”).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range(“A3:C3”).Select
    Selection.Copy
    Range(“A4:A14”).Select
    ActiveSheet.Paste
    Sheets(“MODELLO”).Select
    Range(“B3:Q14”).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets(“NOMINATIVI”).Select
    Range(“D3”).Select
    ActiveSheet.Paste
    End Sub



  • di patel data: 27/11/2015 12:46:59

    allega un file di esempio con la situazione attuale e quella desiderata




  • Inserire valori in una cella da una tabella
    di mauritxt data: 27/11/2015 13:03:58

    Buongiorno a tutti,
    avrei l'esigenza di scrivere un codice VBA per compilare la colonna Name (quella con i ?) leggendo i nomi corrispondenti dallaTABELLA Name in base al proprio ID; vi copio le colonne del file excel:
    prima colonna: ID
    v1,v2,v3
    v1
    v2
    v1,v2,v3,v4,v5
    v4
    -
    -
    v1

    Seconda colonna: Name
    ?,?,?
    ?
    ?
    ?,?,?,?,?
    ?
    N/D
    N/D
    ?

    Terza Colonna: TABELLA ID
    v1
    v2
    v3
    v4
    v5

    quarta colonna: TABELLA NAME
    alfa
    bravo
    charlie
    delta
    echo





  • di alfrimpa data: 27/11/2015 13:45:20

    @ mauritxt

    Ti sei accodato ad una discussione preesistente.

    Aprine una tua allegando un file di esempio con il risultato desiderato.

    Da quello che dici credo che si possa risolvere con un CERCA.VERT()

    Alfredo





  • di grisu59 data: 27/11/2015 14:32:33

    File di esempio allegato
    e grazie anticipate per il vostro aiuto



  • di alfrimpa data: 27/11/2015 14:49:25

    @ mauritxt/Grisu59

    Ti avevo chiesto di aprire una tua discussione e non accodarti ad una precedente e inoltre avevo chiesto un file e tu hai allegato un'immagine con la quale non si può far nulla.

    Comunque con "Testo in colonne" puoi suddividere il testo contenuto nella colonna A e poi con il CERCA.VERT vai ad estrarre i relativi valori dalla tabella ID/NAME

    Alfredo





  • di grisu59 data: 27/11/2015 15:14:13

    Guardate che io sono quello che ha aperto la discussione e NON sono @mauritxt

    ed ho allegato un file Excel zippato.




  • di mauritxt data: 27/11/2015 15:22:42

    Scusatemi sono nuovo mi sono appena registrato e ho sbagliato.
    Abbiate pazienza
    Ciao



  • di alfrimpa data: 27/11/2015 15:59:50

    Cit. "Guardate che io sono quello che ha aperto la discussione e NON sono @mauritxt"

    Scusa ma se una volta entri come Claudio ed un'altra come Grisu59 come si fa a sapere con chi si sta parlando?

    Alfredo





  • di grisu59 (utente non iscritto) data: 27/11/2015 16:28:45

    Scusatemi
    è che ho aperto la discussione prima di registrarmi.

    Spero sia tutto ok


  • Nessun suggerimento?
    di grisu59 data: 01/12/2015 10:15:21

    Salve,
    nessuno ha un suggerimento sul problema ed esempio che ho posto?

    Grazie



  • di Albatros54 data: 02/12/2015 15:09:41

    Allora, nel file che tua hai postato come esempio , ho aggiunto un foglio nominandolo "Foglio1", incolla il codice sotto , nel file che tu hai postato e la lanci.
    Ciao
    albatros54



     
    Public Sub albatros54()
        Dim sh4 As Worksheet
        Dim sh5 As Worksheet
        Dim sh1 As Worksheet
        Dim lUltRiga As Long
        Dim count As Long
        Dim lng As Long
        Dim ln As Long
        Dim nm As String
        Dim s1 As String
        Dim s2 As String
    
        With ThisWorkbook
            Set sh4 = .Worksheets("Nominativi")
            Set sh5 = .Worksheets("Foglio1")
            Set sh1 = .Worksheets("MODELLO")
        End With
        With sh4
            count = 1
            'lUltRiga = .Range("A" & .Rows.count).End(xlUp).Row
            For lng = 1 To 4    'lUltRiga << Adattare al tuo range
                s1 = .Range("a" & lng)
                nm = .Range("a" & lng).Offset(0, 1)
                s2 = .Range("a" & lng).Offset(0, 2)
    
    
    
                For ln = 3 To 14
                    sh5.Cells(count, 1) = sh4.Cells(lng, 1)
                    sh5.Range("b" & count) = sh4.Range("b" & lng)
                    sh5.Range("c" & count) = sh4.Range("c" & lng)
                    sh1.Cells(ln, 1).Resize(, 16).Copy sh5.Range("d" & count)
                    count = count + 1
                Next
            Next
    
    
    
        End With
    
    
    End Sub
    
    





  • Nuovo file?
    di grisu59 data: 02/12/2015 15:17:08

    Scusa non capisco dove sarebbe il nuovo file con FOGLIO1?
    perchè se scarico il file ESEMPIO.ZIP trovo sempre quello che ho caricato io



  • di Albatros54 data: 02/12/2015 15:25:57

    Non ho allegato il file, nel tuo file inserisci un nuovo fogli e in un modulo incolli il codice , comunque ti allego il file








  • di grisu59 data: 02/12/2015 20:37:01

    Perdona la mia ignoranza:
    come faccio ad inserire il testo che hai preparato in un modulo?
    Grazie



  • di grisu59 data: 02/12/2015 21:08:38

    Ho cercato un poco in rete e credo di aver combinato creando un pulsante in FOGLIO1 sta generando il foglio
    vedo però che nella parte in basso appare la scritta riferimenti circolari M1 (cioè la cella fissa M1 nel foglio MODELLO)

    Comunque poi ho risolto manualmente.

    Grazie mille, gentilissimo!



  • di Albatros54 data: 03/12/2015 09:01:24

    Gentilmente, se il problema è stao risolto, clik sul pulsante " Segnala come risolto"