| | Post: 165 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
24/08/2019 17:56 | |
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 |
|
| | Post: 2.348 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
25/08/2019 11:02 | |
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
[Modificato da dodo47 25/08/2019 11:03] Domenico
Win 10 - Excel 2016 |
| | Post: 3.444 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
25/08/2019 11:11 | |
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 |
| | Post: 165 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
25/08/2019 13:28 | |
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 |
| | Post: 3.445 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
25/08/2019 17:03 | |
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 |
| | Post: 2.349 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
25/08/2019 19:08 | |
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 |
| | Post: 166 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
26/08/2019 18:59 | |
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. |
| | Post: 2.350 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
26/08/2019 19:14 | |
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 |
| | Post: 167 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
26/08/2019 20:04 | |
Domenico suggerimento perfetto grazie. Riscontro perfetto .Ringrazio
anche Giuseppe MN ho modificato il comando else e tengo il tuo codice
per un altro lavoro. Complimenti a tutte e 2.Ciao Matteo |
| | Post: 173 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
10/11/2019 11:08 | |
Errore di compilazione Variabile non definita. Buona Domenica nel foglio1 ho tre macro la macro Visualizza
e la macro Nascondi funzionano perfettamente.La Macro Riporta non funziona dovrei riportare con questa nel foglio2 solo le righe che visualizzo dopo averle nascoste.Grazie anticipatamente Matteo. Allego
un foglio nuovo è cambiato il range e non riesco a modificarlo.
|
| | Post: 3.529 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
10/11/2019 12:02 | |
Buona giornata, Matteo;
credo potresti provare con questo Codice VBA modificato:
Sub riporta()
Application.ScreenUpdating = False
Dim Ur As Long, K As Long, ur1 As Long
Dim wk As Worksheet
Set wk = Worksheets("foglio2")
Ur = Range("A" & Rows.Count).End(xlUp).Row
For K = 1 To Ur
If Cells(K, 1).EntireRow.Hidden = False Then
ur1 = wk.Range("A" & Rows.Count).End(xlUp).Row + 1
Cells(K, 1).EntireRow.Copy
wk.Range("A" & ur1).PasteSpecial xlPasteValues
End If
Next K
Application.CutCopyMode = False
Application.ScreenUpdating = True
Set wk = Nothing
End Sub
Fai sapere se hai ancora problemi.
A disposizione.
Buon fine settimana.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 174 | Registrato il: 03/10/2015
| Città: ALBAREDO PER SAN MARCO | Età: 43 | Utente Junior | 2003 | | OFFLINE |
|
10/11/2019 12:30 | |
Perfetta Giuseppe ti ringrazio. Complimenti Matteo .Buona domenica. |
| | Post: 4.263 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
10/11/2019 14:23 | |
Re: Errore di compilazione Variabile non definita. gattodimarmo1980, 10/11/2019 11.08:
Buona Domenica nel foglio1 ho tre macro la macro Visualizza
e la macro Nascondi funzionano perfettamente.La Macro Riporta non funziona dovrei riportare con questa nel foglio2 solo le righe che visualizzo dopo averle nascoste.Grazie anticipatamente Matteo. Allego
un foglio nuovo è cambiato il range e non riesco a modificarlo.
Matteo mi sembra inverosimile che tu, con oltre 170 messaggi sul forum e gli innumerevoli aiuti ricevuti, non sappia interpretare il messaggio di errore che hai riportato in oggetto.
Ma un minimo di VBA non vuoi proprio studiarlo?
Aspetti che siano sempre altri che ti tolgano le castagne dal fuoco?
Alfredo |
|
|