Excel Forum Per condividere esperienze su Microsoft Excel

copia incolla cella vba

  • Messaggi
  • OFFLINE
    aureliano74
    Post: 9
    Registrato il: 26/12/2019
    Età: 50
    Utente Junior
    2010
    00 15/09/2023 15:00
    buon giorno ..vorrei un aiutino su questo file. inserendo la " T " nella colonna gialle , dovrebbe copiarmi i valori della riga sopra corrispondente e fin qui tutto funzione. pero' vorrei che al posto di copiare solo il valore , mi faccia un copia e incolla della cella , quindi copiando formule all'interno e il colore della cella... grazie
  • ONLINE
    Marius44
    Post: 1.142
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Veteran
    Excel2019
    00 15/09/2023 18:23
    Ciao
    Prova a modificare la tua macro così
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        
        Dim riga   As Long
        If Target.Cells.CountLarge > 1 Then Exit Sub
        If Not Intersect(Target, Range("I21:I33")) Is Nothing And Target = "T" Then
            riga = Target.Row - 16
            Application.EnableEvents = False
            Range(Range("F" & Target.Row), Range("I" & Target.Row)).Copy
            Range("F" & riga).PasteSpecial xlPasteAll
            'Range("F" & Target.Row & ":H" & Target.Row) = Range("F" & riga & ":H" & riga).Value
            Application.EnableEvents = True
        End If
    End Sub
    


    Ciao,
    Mario
  • OFFLINE
    aureliano74
    Post: 9
    Registrato il: 26/12/2019
    Età: 50
    Utente Junior
    2010
    00 16/09/2023 12:51
    Grazie mille ...c'e' ancora qualcosina che non va.. praticamente vorrei , dove vado ad inserire la " T " casella gialla tabella sotto , mi copiasse la riga corrispondente della tabella sopra .grazie
  • ONLINE
    Marius44
    Post: 1.143
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Veteran
    Excel2019
    00 16/09/2023 17:02
    Ciao
    Scusa ma non ho capito. Invece di parlare di "tabella sotto" o "tabella sopra" indica con riferimento alle celle cosa vuoi copiare e dove vuoi incollare.

    Ciao,
    Mario
  • OFFLINE
    aureliano74
    Post: 10
    Registrato il: 26/12/2019
    Età: 50
    Utente Junior
    2010
    00 17/09/2023 12:42
    si hai ragione :

    allora vorrei che quando inserisco la " T " in I21 mi faccia un copia e incolla da H5 , G5 , F5 in H21 , G21 , F21 . La " T " in I6 copia e incolla da H6 , G6 , F6 in H22 , G22 , F22 e cosi' via... grazie
  • ONLINE
    Marius44
    Post: 1.144
    Registrato il: 24/06/2015
    Città: CATANIA
    Età: 80
    Utente Veteran
    Excel2019
    00 17/09/2023 16:43
    Ciao
    Mi spiace continuo a non capire l'obiettivo.
    Spero che qualcun altro possa aiutarti.

    Ciao,
    Mario
  • OFFLINE
    federico460
    Post: 3.089
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 17/09/2023 17:58
    ciao
    se ho capito la T può essere sia sulla tabella sopra che sotto
    ma il dato è sempre da copiare da sopra a sotto


    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim riga As Long
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Not Intersect(Target, Range("I21:I33")) Is Nothing And Target = "T" Then
    riga = Target.Row - 16
    Application.EnableEvents = False
    Range("F" & Target.Row & ":H" & Target.Row) = Range("F" & riga & ":H" & riga).Value
    Application.EnableEvents = True
    End If
    If Not Intersect(Target, Range("I5:I17")) Is Nothing And Target = "T" Then
    riga = Target.Row
    Application.EnableEvents = False
    Range("F" & Target.Row + 16 & ":H" & Target.Row + 16) = Range("F" & riga & ":H" & riga).Value
    Application.EnableEvents = True
    End If
    End Sub



    se è quello che vuoi qualche vbaista la migliorerà
  • OFFLINE
    rollis13
    Post: 1.355
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 17/09/2023 18:09
    Un saluto a tutti🙋‍♂️.
    Per riprendere la macro di @Marius44 io ho capito che serve qualcosa così:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim riga As Long
        If Target.Cells.CountLarge > 1 Then Exit Sub
        If Not Intersect(Target, Range("I5:I13", "I21:I33")) Is Nothing And Target = "T" Then
            Select Case Target.Row
                Case 5 To 13
                    riga = Target.Row + 16
                Case 21 To 33
                    riga = Target.Row - 16
            End Select
            Application.EnableEvents = False
            Range(Range("F" & Target.Row), Range("H" & Target.Row)).Copy
            Range("F" & riga).PasteSpecial xlPasteAll
            Application.EnableEvents = True
        End If
    End Sub


    Ps. corretta la riga del .Copy, avevo lasciato inserita anche la colonna "I".
    [Modificato da rollis13 17/09/2023 22:42]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    federico460
    Post: 3.090
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Master
    365
    00 17/09/2023 21:03
    ciao
    rollis

    Io ho capito

    se riga 5:13
    copia riga e incollala alla riga +16
    se riga 21:33
    copia la riga -16 nella riga

    esempio
    metto T in riga 6
    riga 22 = riga 6

    metto T in riga 22
    riga 22 =riga 6


    inserisco la " T " in I21 mi faccia un copia e incolla da H5 , G5 , F5 in H21 , G21 , F21 . La " T " in I6 copia e incolla da H6 , G6 , F6 in H22 , G22 , F22


    in pratica quello che fa la mia strana macro

    con il case è più immediato da vedere
    [Modificato da federico460 17/09/2023 21:04]
  • OFFLINE
    aureliano74
    Post: 11
    Registrato il: 26/12/2019
    Età: 50
    Utente Junior
    2010
    00 17/09/2023 22:26
    grazie dell'aiuto. forse non mi sono spiegato bene.. nel foglio che ho allegato inserendo la T in I21 " tecnico " mi riporta in F G H 21 i valori di F G H 5.
    inserendo la " T " in I 22 " tecnico " mi riporta in F G H 22 i valori di F G H 6 e cosi' via.. e fin qui tutto ok.. il mio problema e che mi faccia un copia e incolla delle celle F G H in modo che mi copi eventuali formule inserite nelle celle
  • OFFLINE
    rollis13
    Post: 1.356
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 17/09/2023 22:33
    @federico460, ah, bene, allora avevo capito giusto; è che non avevo neanche visto il tuo contributo🙈, ormai avevo la testa in modalità "cena" e andavo di fretta😁.
    [Modificato da rollis13 17/09/2023 22:36]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    aureliano74
    Post: 12
    Registrato il: 26/12/2019
    Età: 50
    Utente Junior
    2010
    00 19/09/2023 11:11
    ok grazie... ultima domanda , e se invece del copia e incolla dovesse essere copia collegamento? dove devo intervenire
  • OFFLINE
    tanimon
    Post: 1.633
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 19/09/2023 15:15
    Re:
    aureliano74, 19/09/2023 11:11:

    ok grazie... ultima domanda , e se invece del copia e incolla dovesse essere copia collegamento? dove devo intervenire




    ciao
    copia collegamento?

    ad una cella?
    ad un foglio?
    ad un collegamento ipertestuale?
    a .... quello che vuoi tu.... o io...

    In ogni caso la soluzione che riceverai a quest'ultima domanda, rimarra "nascosta" in questa disscussione
    e non servirà nè ai lettori nè ai registrati di questo Forum

    ti ricordo l'utilità di rivolgersi ad un forum, fonte Wikipedia: https://it.wikipedia.org/wiki/Forum_(Internet)

    Spesso all'interno dei forum, generalmente settoriali, si sviluppa una comunità virtuale. I forum vengono utilizzati anche come strumento di assistenza online e all'interno di aziende per mettere in comunicazione i dipendenti e permettere loro di reperire informazioni.








    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...