Creare un elenco di dati!!

Buongiorno,vi scrivo perchè non so più dove sbattere la testa, di macro non ne so niente ho provato a dare uno sguardo in giro ma senza risultato!!

Mi trovo ad avere una cartella di lavoro di due fogli,"foglio1" un modulo da me creato do inserire in campi specifici i dati di mio interesse

"foglio2" dove dovrebbe crearsi l'elenco vero e proprio

Quello che mi piacerebbe riuscire a fare è un "copia/incolla" di determinati dati inseriti in determinate celle dal foglio1 al foglio2,sembra semplice e magari lo è, ma il punto è che il modulo iniziale è variabile perchè ogni volta andrei a cambiare i dati e ogni volta li dovrebbe registrare nel foglio 2 creando così un elenco...

Spero di essermi spiegato in qualche modo!

grazie

 

Marcello

 

Informazioni domanda


Ultimo aggiornamento febbraio 27, 2018 Visualizzazioni 235 Si applica a:
Risposta

I dati al foglio elenco (foglio2) sono solo da aggiungere,se si può eventulmente modificarli non sarebbe male, ma non indispensabile, invece è da modificare il modulo iniziale (foglio1) che ogni volta che ne ho bisogno devo inserire i nuovi dati da zero.

Nello specifico dal foglio1 dovrei riuscire a copiare i caratteri (non le eventuali formule) in una riga del foglio2 per poter creare appunto un semplice elenco a colonne.

Le celle del foglio1 che andrebbero riportate in una nuova riga nel foglio2 sono:

D12 B7 C10 L16 L17 L18 L19 L20 L21 L22 L23 L24 L25 L26 L27 L28 L29 L30

 

"tutto qui" ...infatti detto così sembra una cosa semplice...se non fosse per il fatto che appunto ogni volta che uso questo foglio devo cambiare i dati in foglio1!!!

 

spero si possa fare qualcosa

 

Grazie!


Copia/incolla questo codice in un modulo standard:

 

 

Public Sub m()
   
    Dim lRiga As Long
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet
    Dim lng As Long
    Dim lRisultato As Long
   
    lRisultato = MsgBox("Copiare i valori in Foglio2?", _
        vbYesNo + vbQuestion, _
        "Copia valori")
       
    If lRisultato = vbYes Then
        With ThisWorkbook
            Set sh1 = .Worksheets("Foglio1")
            Set sh2 = .Worksheets("Foglio2")
        End With
       
        With sh2
            lRiga = .Range("A" & .Rows.Count).End(xlUp).Row + 1
            .Range("A" & lRiga).Value = sh1.Range("D12").Value
            .Range("B" & lRiga).Value = sh1.Range("B7").Value
            .Range("C" & lRiga).Value = sh1.Range("C10").Value
            For lng = 16 To 30
                .Cells(lRiga, lng - 12).Value = _
                    sh1.Range("L" & lng).Value
            Next
        End With
       
    '    With sh1
    '        .Range("D12").Value = ""
    '        .Range("B7").Value = ""
    '        .Range("C10").Value = ""
    '        For lng = 16 To 30
    '            .Range("L" & lng).Value = ""
    '        Next
    '    End With
       
        Set sh1 = Nothing
        Set sh2 = Nothing
    End If
   
End Sub

 

La parte commentata, tolto il commento, elimina il contenuto copiato nel Foglio2 dalle celle del Foglio1.

Puoi poi assegnare un tasto di scelta rapida alla macro, vedi qui il punto 5:

http://www.maurogsc.eu/excel/xlsdoveinserirecodice.aspx

 

E qui trovi il file che ho utilizzato per l'esempio:

http://www.maurogsc.eu/esempiforum13/datifraduefogli.zip

 

 

 

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.