Copia celle da range



  • Copia celle da range
    di Extruder (utente non iscritto) data: 21/03/2015 22:58:05

    Salve a tutti voi. Ho la necessità di selezionare ed incollare un range di celle dove all’interno (non sono mai allo stesso posto) ci sono celle piene.
    Esempio: Range A1:AA2 dalla colonna A alla D sono vuote dalla E alla H sono piene e poi vuote fino alla colonna AA.
    In pratica ho bisogno di selezionare le celle piene e le celle vuote che stanno alla loro sinistra (sembra strano ma è cosi).
    Le celle selezionate poi devo copiarle ed incollarle sulla cella A20
    Spero di essermi spiegato
    Grazie in anticipo a chiunque possa aiutarmi
    Extruder



  • di Mister_x (utente non iscritto) data: 21/03/2015 23:26:23

    ciao

    sarebbe gradito un file con dei dati gia' inseriti e il risultato da ottenere

    ciao





  • di Extruder (utente non iscritto) data: 22/03/2015 21:28:21

    Hai ragione in effetti solo adesso sembra chiaro anche a me cose dovrei fare.
    Ti allego il file. In sostanza non riesco a copiare all'interno del Range I9:Q10 le celle piene della riga I e quelle della riga Q insieme alle rispettive celle vuote (che mi servono dopo) che sono alla loro destra.
    Il tutto dopo essere stato selezionato deve essere incollato in A28.
    Ed infine comandato da un bottone che avvia il codice
    Sono due giorni che stò scapocciando tra i miei appunti e ore di navigazione ma non ne vengo fuori.
    Ora ho trovato voi come porto sicuro.
    Lo so che alla fine è uno straccio di codice VBA.......
    Grazie ti aspetto con buone nuove.



  • di Mister_x (utente non iscritto) data: 22/03/2015 21:55:22

    ciao

    quello che hai postato non e' un file ma una semplice immagine del lavoro, devi allegare un file di excel altrimenti ci costringi a ricostruire il tuo passo passo

    ciao





  • di Mister_x (utente non iscritto) data: 23/03/2015 09:58:29

    ciao

    in base alla tua foto, dato che non ai ancora postato il file
    da inserire nel VBA del foglio

    ciao
     
    Option Explicit
    Sub Copia_Incolla()
    Dim CelleC As Range
    Dim cella As Variant
    Set CelleC = Range("I9:Q10")
    Dim R_C As String
    For Each cella In CelleC
      If cella.Interior.ColorIndex <> xlNone Then
       R_C = cella.Address()
       Exit For
       End If
    Next
        Range("A28:H29").Select
        With Selection.Interior
            .Pattern = xlNone
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range(R_C & ":Q10").Select
        Selection.Copy
        Range("A28").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
    Set CelleC = Nothing
    End Sub
    






  • di Extruder (utente non iscritto) data: 23/03/2015 10:33:58

    Grazie Mister X anche senza file sei riuscito a centrare il problema. Chiedo venia per il tempo che ti ho fatto spendere.
    Adesso per le mie modeste conoscenze ho provato a spostare il range ed il punto d'attacco in altri punti e va tutto ok.
    Solo che il codice non copia le formule. Adesso provo a sostituire Copy con i comandi copia formule e valori recuperandolo dal registratore di macro e vedo se risolvo da solo senza romperti ancora....ma se mi aiuti ancora te ne sarò grato. Le formule mi servono perchè dopo aver incollato il range devo copiare il tutto insieme ad altre celle ed incollare come " IMMAGINE COLLEGATA " che è previsto in Excel 2010. Bella cosa perche mi permette di portare a spasso per il foglio il range restando sempre collegato al foglio per la ricezione dei dati.
    Comunque un grande grazie per adesso.
    Ti allego il file.
    Ciao
    Extruder



  • di Extruder (utente non iscritto) data: 23/03/2015 21:30:56

    Ho aggiunto all'istruzione paste Link:= True
    Sembra funzionare.
    Se cambio il dato nella cella del range di partenza cambia anche nel range copiato.
    Direi risolto
    Grazie ancora
    Extruder
    PS: Ma credo non sia finita qui, penso di aver ancora bisogno dei tuoi preziosi insegnamenti......