1. Formattazione condizionale:
* Scopo: Per contrassegnare le righe che soddisfano i tuoi criteri (la condizione). Invece di nascondersi direttamente, cambieremo il carattere della riga e riempiremo il colore per essere invisibile.
* Passi:
1. Selezionare l'intervallo di dati: Evidenzia l'intera gamma di righe e colonne a cui si desidera applicare la condizione di nascondiglio (ad esempio, `A1:Z100` o per quanto grandi siano i dati). Fondamentalmente, la fila * prima * della selezione verrà utilizzata come riferimento per la tua formula.
2. Vai alla formattazione condizionale: Nella scheda "Home", fare clic su "Formattazione condizionale"> "Nuova regola ..."
3. Scegli "Usa una formula per determinare quali celle formatta": Seleziona questo tipo di regola.
4. Inserisci la tua formula: Nella finestra di formula, inserisci una formula che restituisce `vero` quando vuoi nascondere la riga e" false` altrimenti. * IMPORTANTE:* Usa i riferimenti relativi (`$ columnnamerownumber`) o riferimenti misti (` $ columnnamerownumber`) in modo appropriato, a seconda di ciò che si desidera testare.
* Esempio 1 (nascondi righe in cui il valore nella colonna A è "nascondi"):
`` `Excel
=$ A1 ="nascondi"
`` `
Questa formula controlla se il valore nella colonna A della * prima riga * dell'intervallo selezionato è uguale a "nascondi". Applicherà quindi la formattazione a quella riga. Da quando hai selezionato l'intero intervallo, la formula si regolerà automaticamente per ogni riga.
* Esempio 2 (nascondi righe in cui il valore nella colonna B è inferiore a 0):
`` `Excel
=$ B1 <0
`` `
Questo nasconde righe dove il valore nella colonna B è negativo.
* Esempio 3 (nascondi righe in cui il valore nella colonna C è vuoto):
`` `Excel
=Isblank ($ c1)
`` `
5. Imposta il formato (su "nascondi"): Fai clic sul pulsante "Formato ...".
* Font: Cambia il colore del carattere per abbinare il colore di sfondo delle tue celle. In genere questo è bianco (o nessun riempimento).
* riempimento: Cambia il colore di riempimento per abbinare il colore di sfondo delle tue celle. Ancora una volta, in genere bianco (o nessun riempimento).
* Fare clic su "OK" per chiudere la finestra di dialogo Formato e quindi "OK" per creare la regola di formattazione condizionale.
2. Macro VBA (per regolare l'altezza della riga):
* Scopo: Per impostare l'altezza della riga su 0 per le righe che corrispondono alla formattazione. Questo è il passaggio finale per nascondere visivamente le file.
* Passi:
1. Apri l'editor VBA: Premere `alt + f11` per aprire l'editor Visual Basic.
2. Inserisci un modulo: Nell'editor VBA, vai a "inserisci"> "modulo".
3. Incolla il seguente codice: Incolla questo codice VBA nel modulo:
`` `VBA
Sub HiderowsBasedOnFormat ()
Dim rng come gamma, cella come gamma
Dim ws come foglio di lavoro
Dim condformat come formatcondition
'Cambia "foglio1" nel nome del tuo foglio
Imposta ws =thisworkbook.sheets ("Sheet1")
'Modifica A1:Z100 nell'intervallo effettivo in cui viene applicata la formattazione condizionale
Imposta rng =ws.Range ("A1:Z100")
'Loop attraverso ogni cella nell'intervallo
Per ogni cella in RNG.rows
Supponiamo inizialmente non nasconderti
cell.hidden =false
'Loop attraverso tutti i formati condizionali
Per ogni condformata in cell.formatConditions
Se condFormat.type =xlexpression quindi
'Valuta la formula, se vero, nascondi
Se ws.valuate (condformat.formula1) allora
cell.hidden =true
Uscita per
Termina se
Termina se
Next condformat
Cella successiva
Fine sub
Subhideallrows ()
Dim ws come foglio di lavoro
'Cambia "foglio1" nel nome del tuo foglio
Imposta ws =thisworkbook.sheets ("Sheet1")
ws.rows.hidden =false
Fine sub
`` `
4. Personalizza il codice:
* `ws =thisworkbook.sheets (" sheet1 ")` :Modifica `" Sheet1 "` al nome effettivo del foglio di lavoro in cui si trovano i dati.
* `set rng =ws.range (" a1:z100 ")` :Modifica `" A1:Z100 "` nello stesso intervallo di dati che hai usato durante la creazione della regola di formattazione condizionale.
5. Esegui la macro: Torna all'editor VBA (se lo hai chiuso) e premere `F5` per eseguire la macro` HiderowsbasedOnformat`. In alternativa, da Excel, vai alla scheda "sviluppatore" (se non lo vedi, dovrai abilitarlo nelle opzioni di Excel)> "macros", selezionare `HiderowsbasedonFormat` e fare clic su" Esegui ".
6. (opzionale) Aggiungi un pulsante: È possibile inserire un pulsante sul tuo foglio di lavoro (inserisci -> forme -> pulsante) e assegnare la macro `HiderowsbasedOnFormat`. Ciò fornisce un modo intuitivo per rinominare le righe ogni volta che i dati cambiano. Puoi anche aggiungere un pulsante per `unhideallrows '.
Spiegazione:
* Formattazione condizionale: Questo segna le file che vogliamo nascondere.
* Macro VBA: Questo codice itera attraverso le righe, verificando se la formattazione condizionale si applica a ciascuna riga. In tal caso, imposta `Rowheight` su 0, rendendo la riga efficacemente invisibile. Usiamo la formula di formattazione condizionale come parte della macro, quindi non si basa solo sul formato in quanto ciò può cambiare.
Considerazioni importanti:
* Performance: Se si dispone di un set di dati molto grande (decine di migliaia di righe), questo approccio * può * essere lento perché itera attraverso ogni riga. Potrebbero esserci soluzioni VBA più complesse ma più veloci se le prestazioni sono fondamentali.
* Ricalcolo: Quando i tuoi dati cambiano (e le regole di formattazione condizionale ricalcolano), dovrai ripetere la macro per nascondere le righe se le condizioni sono cambiate. È possibile automatizzare questo utilizzando un gestore di eventi in VBA (ad esempio, `worksheet_change` per attivare la macro ogni volta che viene modificata una cella sul foglio). Tuttavia, fai attenzione, poiché eseguire una macro su ogni cambiamento può anche rallentare le cose.
Esempio con evento `worksheet_change` (nascondiglio automatico):
Per rendere il nascondiglio automatico ogni volta che i dati cambiano, è possibile modificare il codice VBA come segue. Invece di posizionare il codice in un modulo, posizionarlo nella finestra del codice * del foglio di lavoro *:
1. Fare clic con il tasto destro sulla scheda Foglio (ad esempio, "foglio1") in Excel e selezionare "Visualizza codice". Ciò aprirà l'editor VBA direttamente al modulo di codice del foglio di lavoro.
2. Incolla il seguente codice nella finestra del codice del foglio di lavoro:
`` `VBA
Private Sub Worksheet_Change (Byval Target come intervallo)
'Chiama la macro HIDEROWSASEDONFORMAT ogni volta che il foglio cambia.
HiderowsbasedOnFormat
Fine sub
Sub HiderowsBasedOnFormat ()
Dim rng come gamma, cella come gamma
Dim ws come foglio di lavoro
Dim condformat come formatcondition
'Cambia "foglio1" nel nome del tuo foglio
Imposta ws =thisworkbook.sheets ("Sheet1")
'Modifica A1:Z100 nell'intervallo effettivo in cui viene applicata la formattazione condizionale
Imposta rng =ws.Range ("A1:Z100")
'Loop attraverso ogni cella nell'intervallo
Per ogni cella in RNG.rows
Supponiamo inizialmente non nasconderti
cell.hidden =false
'Loop attraverso tutti i formati condizionali
Per ogni condformata in cell.formatConditions
Se condFormat.type =xlexpression quindi
'Valuta la formula, se vero, nascondi
Se ws.valuate (condformat.formula1) allora
cell.hidden =true
Uscita per
Termina se
Termina se
Next condformat
Cella successiva
Fine sub
Subhideallrows ()
Dim ws come foglio di lavoro
'Cambia "foglio1" nel nome del tuo foglio
Imposta ws =thisworkbook.sheets ("Sheet1")
ws.rows.hidden =false
Fine sub
`` `
* Importante: Sostituisci `" Sheet1 "` e `" A1:Z100 "` con il nome e l'intervallo di dati del foglio effettivo, come prima.
Ora, ogni volta che si modifica un valore sul foglio, la macro `HiderowsbasedOnFormat` eseguirà automaticamente, rientrando eventuali righe che soddisfano i criteri di formattazione condizionale.
Ricorda di salvare il tuo file Excel come cartella di lavoro (.xlsm) per preservare il codice VBA.
Questo approccio fornisce un modo flessibile per "nascondere" le file in modo dinamico in Excel in base a una formula, sebbene richieda l'uso sia della formattazione condizionale che della VBA. Scegli il metodo che si adatta meglio alle tue esigenze e al livello di comfort con VBA. La macro più semplice e attivata dai pulsanti è spesso un buon punto di partenza.
software © www.354353.com