Freeforumzone mobile

Macro seleziona righe nascoste.

  • Posts
  • OFFLINE
    gattodimarmo1980
    Post: 165
    Registered in: 10/3/2015
    Location: ALBAREDO PER SAN MARCO
    Age: 39
    Junior User
    2003
    00 8/24/2019 5:56 PM
    Buon giorno allego file contenente due macro all'interno.Mi servirebbe una macro che mi seleziona solo le righe nascoste perché
    devo riportarle poi in un altro foglio. Grazie buon Sabato
  • OFFLINE
    dodo47
    Post: 2,348
    Registered in: 4/6/2013
    Location: ROMA
    Age: 71
    Veteran User
    2010
    00 8/25/2019 11:02 AM
    ciao
    questo copia le righe nascoste nel foglio2

    saluti

    Dim wk As Worksheet
    Set wk = Worksheets("foglio2")
    ur = Range("A" & Rows.Count).End(xlUp).Row
    For j = 1 To ur
    If Cells(j, 1).EntireRow.Hidden = True Then
    ur1 = wk.Range("A" & Rows.Count).End(xlUp).Row + 1
    Cells(j, 1).EntireRow.Copy
    wk.Range("A" & ur1).PasteSpecial xlPasteValues
    end if
    next
    




    [Edited by dodo47 8/25/2019 11:03 AM]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    GiuseppeMN
    Post: 3,444
    Registered in: 4/3/2013
    Master User
    Excel 2000 - 2013
    00 8/25/2019 11:11 AM
    Buona giornata, Matteo;
    proverei a:
    - aggiungere il Foglio di lavoro "Foglio2"
    - modificare il tuo Codice VBA in questo modo:

    Option Explicit
    
    Sub Nascondi()
    Application.ScreenUpdating = False
    Dim NRc As Long, x As Long, y As Long
    Dim Vlr As Byte
    Dim Rng As Range
     
        NRc = Range("A" & Rows.Count).End(xlUp).Row
        Set Rng = Range(Cells(1, 3), Cells(NRc, 7))
            Range(Cells(1, 1), Cells(NRc, 1)).EntireRow.Hidden = True
        Vlr = InputBox("Digitare il numero da valutare compresa tra 1 e 90")
            For x = 1 To NRc
                If Not Application.WorksheetFunction.CountIf(Range("A" & x & ":C" & x), Vlr) = 0 Then
                    Cells(x, 1).EntireRow.Hidden = False
                Else
                    y = y + 1
                    Range(Cells(x, 1), Cells(x, 5)).Copy
                    Sheets("Foglio2").Cells(y, 1).PasteSpecial Paste:=xlPasteValues
                End If
            Next x
                Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    

    Potrebbe funzionare.

    Fai sapere se hai problemi.



    A disposizione.

    Buon fine settimana.

    Giuseppe

    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    gattodimarmo1980
    Post: 165
    Registered in: 10/3/2015
    Location: ALBAREDO PER SAN MARCO
    Age: 39
    Junior User
    2003
    00 8/25/2019 1:28 PM
    Ciao Giuseppe ciao Domenico intanto vi ringrazio e rispondo a tutti e 2.Ho provato tutte i due codici vanno tutti e due perfettamente ma il problema è un'altro. Nel foglio2 devono essere riportate le righe nascoste cioè quelle che già sto vedendo nel foglio1.Allego file con 4 moduli e dati non sensibili. In pratica la macro deve fare il contrario dei vostri 2 codice. Grazie matteo
  • OFFLINE
    GiuseppeMN
    Post: 3,445
    Registered in: 4/3/2013
    Master User
    Excel 2000 - 2013
    00 8/25/2019 5:03 PM
    Buon pomeriggio, Matteo;
    perdonami, ma non mi è ben chiaro quello che desideri ottenere.

    Se vuoi solo copiarli, nel Codice VBA che ho proposto, prova ad eliminare solo il comando "Else".



    Buon fine settimana.

    Giuseppe

    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    dodo47
    Post: 2,349
    Registered in: 4/6/2013
    Location: ROMA
    Age: 71
    Veteran User
    2010
    00 8/25/2019 7:08 PM
    Re:
    Ciao
    se in due ti abbiamo fornito la stessa soluzione, forse dovresti pensare che quello che hai scritto non è comprensibile.


    gattodimarmo1980, 25/08/2019 13.28:

    .... Nel foglio2 devono essere riportate le righe nascoste cioè quelle che già sto vedendo nel foglio1.



    se sono nascoste come fai a vederle?




    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    gattodimarmo1980
    Post: 166
    Registered in: 10/3/2015
    Location: ALBAREDO PER SAN MARCO
    Age: 39
    Junior User
    2003
    00 8/26/2019 6:59 PM
    Ciao Domenico Ciao Giuseppe ho sbagliato totalmente il Titolo della discussione. Io una volta che nascondo le righe sul foglio1 quando le porto manualmente nel foglio2 ho tutte le righe del foglo1 e invece vorrei portare solo quelle visualizzate dopo aver lanciato la macro nascondi. Hai ragione Domenico quello che ho scritto non è comprensibile farò più attenzione la prossima volta. [SM=x423047]
  • OFFLINE
    dodo47
    Post: 2,350
    Registered in: 4/6/2013
    Location: ROMA
    Age: 71
    Veteran User
    2010
    00 8/26/2019 7:14 PM
    per quanto attiene al mio suggerimento del post #2,
    sostituisci "True" con "False"

    If Cells(j, 1).EntireRow.Hidden = False Then

    saluti



    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    gattodimarmo1980
    Post: 167
    Registered in: 10/3/2015
    Location: ALBAREDO PER SAN MARCO
    Age: 39
    Junior User
    2003
    00 8/26/2019 8:04 PM
    Domenico suggerimento perfetto grazie. Riscontro perfetto .Ringrazio
    anche Giuseppe MN ho modificato il comando else e tengo il tuo codice
    per un altro lavoro. [SM=x423017] Complimenti a tutte e 2.Ciao Matteo