Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
Prego.
Ciao.
Davide.
ciao
Ottima la soluzione di vecchio frac (un caro saluto) ma io suggerirei due piccole macro
(per nascondere o visualizzare)
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!
Grazie mille
https://www.excelvba.it/Forum/story/Excel_e_gli_applicativi_Office/
macro_per_nascondere_alcune_righe.html
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
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)
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/
Ignazio
16 anni fa
Permalink
...
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
--