Sei sulla pagina 1di 6

Per cortesia,

vi è la possibilita tramite formula o Vba di nascondere una riga se una


cella è priva di dati tenendo presente che se invece li contiene si deve
vedere?

Grazie 1000 e saluti

Giorgio
Davide
16 anni fa
Permalink
Post by Giorgio
Per cortesia,
vi è la possibilita tramite formula o Vba di nascondere una riga se una
cella è priva di dati tenendo presente che se invece li contiene si deve
vedere?

Se, ad esempio, non vuoi far vedere la riga 5, a meno che la cella(E5) non
sia occupata da qualche dato, il codice puo' essere qualcosa del tipo:

If Cells(5, 5) = "" Then


Rows("5:5").Select
Selection.EntireRow.Hidden = True
Else
Rows("5:5").Select
Selection.EntireRow.Hidden = flase
End If
Post by Giorgio
Grazie 1000 e saluti
Giorgio

Prego.
Ciao.
Davide.

ciao 

Ottima la soluzione di vecchio frac (un caro saluto) ma io suggerirei due piccole macro
(per nascondere o visualizzare)

Eccole. La prima nasconde le righe vuote e la seconda le mostra

Sub nascondi()
ur = Cells(Rows.Count, 1).End(xlUp).Row
uc = Cells(1, Columns.Count).End(xlToLeft).Column
For i = ur To 2 Step -1
For j = 2 To uc
dato = dato & Cells(i, j)
Next j
If dato = "" Then Rows(i).Hidden = True
dato = ""
Next i
End Sub

Sub mostra()
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ur
Rows(i).Hidden = False
Next i
End Sub
Associale a due pulsanti (Controllo Modulo non ActeveX) e fai sapere. Ciao,

Mario
07/10/2019 alle 17:19#19670RISPOSTA

Damiano
Yeah grazie mille!!

Ecco appunto io sto imparando orora il vba....diciamo che non so fare nulla, per questo
chiedevo il vostro aiuto e supporto.

Ho fatto programmazione ma ancora quando si usava il C++ (caaaro e vecchio C++   )...

In testa avrei un ciclo for che va a scorrere tutte le righe selezionate, in cui se la somma
per riga delle celle selezionate è pari a zero allora nasconde l'intera riga, altrimenti passa
a controllare la riga successiva..
07/10/2019 alle 19:00#19672RISPOSTA

vecchio frac
Senior Moderator
Karma: 171 pts

Allora posto la mia soluzione... se invece che nascondere la riga, si vuole eliminarla, la
modifica è semplice

Option Explicit

Sub elimina_righe_vuote()
Dim ro As Range, s As String
For Each ro In Selection.Rows
s = Trim(Join(Application.Transpose(Application.Transpose(ro)), ""))
ro.EntireRow.Hidden = s = ""
Next
End Sub
08/10/2019 alle 13:51#19712RISPOSTA

Damiano
Ciao, allora ho provato entrambi i codici, però:

Marius: --> non mi funziona...la prima volta, dopo aver cliccato su "nascondi" ha
nascosto tutte le righe della selezione, e cliccando su "espicita", non ha fatto nulla. L'ho
riprovato più volte (dopo aver cancellato ed eliminato le Macro) ma le volte successive
invece non ha fatto nulla di nulla.
Vecchio frac: --> Il tuo codice funziona, non elimina le righe ma nasconde le righe, e
comunque è proprio quello che volevo. Mi servirebbe, a sto punto anche la funzione
scopri!

Ma vorrei imparare il significato del codice scritto....cosa fa riga per riga?

Grazie mille

https://www.excelvba.it/Forum/story/Excel_e_gli_applicativi_Office/
macro_per_nascondere_alcune_righe.html

di alfrimpa data: 16/05/2016 12:03:05

Prova con le macro che vedi sotto creando due pulsanti sul foglio cui assocerai ad un pulsante
la prima e all’altro la seconda.

Alfredo
 

Sub nascondi()
Dim i As Integer
For i = 12 To 40 Step 6
Range(“a” & i).EntireRow.Hidden = True
Next i
End Sub

Sub scopri()
Dim i As Integer
For i = 12 To 40 Step 6
Range(“a” & i).EntireRow.Hidden = False
Next i
End Sub
---------------------------------
https://microsoft.public.it.office.excel.narkive.com/yXGMSdsg/unico-
pulsante-per-due-macro

unico pulsante per due macro


(troppo vecchio per rispondere)

gio
16 anni fa
Permalink

ciao a tutti
ho creato due banali macro
la prima Sub(Nascondi) serve per nascondere determinate righe
la seconda Sub(Scopri) serve per scoprire le stesse righe
ogni macro è associata a un pulsante (uno per ogni macro)

vorrei (se possibile)fare in modo che il pulsante sia uno solo e che a
seconda dello stato delle righe, attivi la macro che serve...
esempio: se quando clicco sul pulsante, in quel momento le righe sono
nascoste significa che voglio scoprirle, quindi si attiverà la macro
Sub(scopri)...
viceversa se sono scoperte, significa che voglio nasconderle e allora
si attiverà la macro Sub(Nascondi)

nb: non posso/voglio usare menu>dati>struttura

grazie ciao
gio
Rémi
16 anni fa
Permalink

Ciao,

Puo usare questo esempio, Assegni il pulsante alla macro sub nascondi_scopri
!

Sub nascondi_scopri()
If Selection.EntireRow.Hidden = False Then
Application.Run ("nascondi")
Else
Application.Run ("scopri")
End If
End Sub
Sub nascondi()
MsgBox ("nascondi")
End Sub
Sub scopri()
MsgBox ("scopri")
End Sub
--
Alcuni esempi VBA Excel
http://remigueudelot.free.fr/

Spero di aver risposto bene alla tua domanda.


Rémi.
...
Leggi di più

Ignazio
16 anni fa
Permalink
...

Una maniera è utilizzare un'unica macro per entrambe le circostanze.

Se per esempio hai le seguenti macro per nascondere/scoprire le righe 1 e


10:

Sub Nascondi()
Range("A1,A10").EntireRow.Hidden = True
End Sub

Sub Scopri()
Range("A1,A10").EntireRow.Hidden = False
End Sub

puoi sostituirle con la seguente unica macro che scopre le righe se sono
nascoste e viceversa:
Sub NascondiScopri()
With Range("A1,A10")
.EntireRow.Hidden = Not .EntireRow.Hidden
End With
End Sub
--

Potrebbero piacerti anche