È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Copiare le tre righe successive al numero

  • Messaggi
  • OFFLINE
    gattodimarmo1980
    Post: 178
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 02/01/2020 13:50
    Buon anno forum .Nel foglio ci sono due macro.
    Nell'esempio ho nascosto il 12.Avrei bisogno una macro che mi copia nel foglio2 le righe 2-3-4,21-22-23,36-37-38,76-77-78,78-79-80,102 103-104 109-110-111,116-117-118,145-146-147,222-223-224,258-259-260,271-272-273,306-307-308 cioè le prime tre righe dopo
    che il numero 12 è stato estratto.Grazie Matteo.Il foglio2 l'ho compilato manualmente.
    [Modificato da gattodimarmo1980 02/01/2020 13:53]
  • OFFLINE
    locatevaresino
    Post: 2.221
    Registrato il: 21/03/2008
    Città: LOCATE VARESINO
    Età: 76
    Utente Veteran
    2007 / 13
    00 02/01/2020 15:20
    ciao

    la sub Pressappoco e' questa
    da foglio1 a foglio3 nel tuo file


    Option Explicit
    Sub Copia_1_Incolla_3()
    Dim i As Long, Nriga As Long
    Dim Sh1 As String, Sh3 As String
    Dim valricerca As Variant
    Sh1 = "Foglio1"
    Sh3 = "Foglio3"
    Nriga = 1
    valricerca = InputBox("Inserire Valore Di ricerca") * 1
    Sheets(Sh3).Range("A1:G1000").ClearContents
    For i = 1 To Sheets(Sh1).Cells(Rows.Count, 1).End(xlUp).Row
    If Sheets(Sh1).Cells(i, 3) = valricerca Or Sheets(Sh1).Cells(i, 4) = valricerca Or _
    Sheets(Sh1).Cells(i, 5) = valricerca Or Sheets(Sh1).Cells(i, 6) = valricerca Or _
    Sheets(Sh1).Cells(i, 7) = valricerca Then
    Sheets(Sh1).Range(Cells(i + 1, 1), Cells(i + 3, 7)).Copy _
    Destination:=Sheets(Sh3).Range("A" & Nriga)
    Nriga = Nriga + 3
    End If
    Next
    End Sub



    attenzione che in alcune righe ti ricopia alcuni 12 in quanto fanno parte delle tre righe dopo vedi per esempio riga 75 dove in riga 77 ti ritrovi un valore 12

    riallego il tuo file



    Ciao da locate
    excel 2007 / 13
  • OFFLINE
    gattodimarmo1980
    Post: 178
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 02/01/2020 16:59
    Perfetto Locate . Ti ringrazio. Complimenti.Ciao Matteo
  • OFFLINE
    gattodimarmo1980
    Post: 277
    Registrato il: 03/10/2015
    Città: ALBAREDO PER SAN MARCO
    Età: 44
    Utente Junior
    2003
    00 07/06/2020 20:15
    Copiare 10 righe
    Buona sera voglio modificare la macro per copiare le 10 righe successive, ho modificato cosi ma non ho il risultato giusto ,ho
    aggiunto un colonna la H perciò ho cambiato 7 in 8,ho modificato

    Nriga = Nriga + 3 in Nriga + 10,ma ho le restanti 7 righe copiate vuote.Grazie Matteo





    Option Explicit
    Sub Copia_1_Incolla_3()
    Dim i As Long, Nriga As Long
    Dim Sh1 As String, Sh3 As String
    Dim valricerca As Variant
    Sh1 = "Foglio1"
    Sh3 = "Foglio3"
    Nriga = 1
    valricerca = InputBox("Inserire Valore Di ricerca") * 1
    Sheets(Sh3).Range("A1:H10000").ClearContents
    For i = 1 To Sheets(Sh1).Cells(Rows.Count, 1).End(xlUp).Row
    If Sheets(Sh1).Cells(i, 3) = valricerca Or Sheets(Sh1).Cells(i, 4) = valricerca Or _
    Sheets(Sh1).Cells(i, 5) = valricerca Or Sheets(Sh1).Cells(i, 6) = valricerca Or _
    Sheets(Sh1).Cells(i, 8) = valricerca Then
    Sheets(Sh1).Range(Cells(i + 1, 1), Cells(i + 3, 8)).Copy _
    Destination:=Sheets(Sh3).Range("A" & Nriga)
    Nriga = Nriga + 10
    End If
    Next
    End Sub

    [Modificato da gattodimarmo1980 07/06/2020 20:16]