Note: The other languages of the website are Google-translated. Back to English

Come preservare le linee della griglia durante il riempimento del colore in Excel?

Come tutti sappiamo, quando riempiamo il colore di sfondo delle celle, verranno coperte anche le linee della griglia, in questo caso, come potremmo mantenere le linee della griglia mentre riempiamo il colore di sfondo nelle celle di Excel per ottenere la seguente schermata mostrata.

doc mantiene il colore di riempimento della griglia 1

Conserva la griglia mentre riempi il colore con il codice VBA


freccia blu freccia destra Conserva la griglia mentre riempi il colore con il codice VBA


Normalmente, non esiste un modo diretto per risolvere questo lavoro, ma qui posso introdurre un codice VBA per te. Si prega di fare quanto segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Sulla sinistra Progetto-VBAProgetto riquadro, fare doppio clic Questa cartella di lavoro sotto l'espanso Progetto VBA, quindi copia e incolla il seguente codice VBA nel modulo vuoto:

Codice VBA: preserva la griglia durante il riempimento del colore

Dim xRgPre As Range
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If Not xRgPre Is Nothing Then DrawBorders xRgPre
    Set xRgPre = Target
End Sub
Private Sub DrawBorders(ByVal Rg As Range)
'Updateby Extendoffice 20160725
    Dim xCell As Range
    Application.ScreenUpdating = False
    For Each xCell In Rg
        If xCell.Interior.ColorIndex = xlNone Then
            With xCell.Borders
                If .ColorIndex = 15 Then
                    .LineStyle = xlNone
                End If
            End With
        Else
            With xCell.Borders
                If .LineStyle = xlNone Then
                    .Weight = xlThin
                    .ColorIndex = 15
                End If
            End With
        End If
    Next
    Application.ScreenUpdating = True
End Sub

doc mantiene il colore di riempimento della griglia 2

3. Quindi salva e chiudi la finestra del codice, ora, quando riempi un colore per un intervallo di celle, la griglia verrà mostrata automaticamente.


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (15)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Soluzione favolosa!!
Questo commento è stato fatto dal moderatore sul sito
Funziona bene, ma purtroppo ogni volta che faccio clic su una cella, il foglio di lavoro trema! Rimosso il VBA e il sussulto è cessato. Ti chiedi perché questo dovrebbe accadere?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Vic,
Non c'è questo problema nella mia cartella di lavoro di Excel, quale versione di Excel usi?
Questo commento è stato fatto dal moderatore sul sito
Lo stesso qui con Excel 2016. Sto bloccando e per lo più oscurato lo schermo per diversi secondi, specialmente quando seleziono molte celle. Peccato perché altrimenti funziona perfettamente.
Questo commento è stato fatto dal moderatore sul sito
funziona ma uno deve correggere l'errore se lo vedi.
Dim xRgPre come intervallo
Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Se non xRgPre non è niente, DrawBorders xRgPre
Imposta xRgPre = Destinazione


*************************************
Dovrebbe READ... poiché l'istruzione If assicura solo che ci sia qualcosa da impostare sull'allocazione della memoria.

Si potrebbe impostare la riga successiva di seguito per la pulizia e non consentire perdite di memoria.

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Imposta xRgPre = Destinazione
Se non xRgPre non è niente, DrawBorders xRgPre
'Per assicurate perdite di memoria non si verificano
'Pulisci la memoria allocata quando non è necessaria.
Imposta xRqPre = Niente



Buona giornata..
Questo commento è stato fatto dal moderatore sul sito
Non funziona con la formattazione condizionale. Imposta xRqPre = Niente dà errore: variabile non definita (cancellata la riga). Lo schermo oscilla anche qui, usando 2010. Altrimenti è uno strumento interessante ..
Questo commento è stato fatto dal moderatore sul sito
usa solo colori standard ;)
Questo commento è stato fatto dal moderatore sul sito
Fantastico, ma ora se riempio alcune celle e premo Ctrl + Z per annullare, non funzionerà. Non annullerà.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Andrea,
Sì, il codice sopra non può supportare la funzione Annulla, non dovresti riempire manualmente il colore per annullare il tuo lavoro.
.
Questo commento è stato fatto dal moderatore sul sito
Un'altra soluzione, se non vuoi pasticciare con il codice:
Per prima cosa scopri quale colore grigio corrisponde alle linee predefinite e tienilo a mente.
Nella scheda Home fai clic su Stili cella, fai clic con il pulsante destro del mouse su Normale, fai clic su Modifica -> Formato -> Bordo. Per Colore linea, seleziona quel grigio. Per Preimpostazioni, seleziona Contorno. Fatto.
Ora potresti dover selezionare tutto (CTRL+A / Comando+A) e fare clic su Stili cella -> Normale per assicurarti che sia applicato a tutte le celle. Quando riempi una cella, i bordi rimarranno.
Questo commento è stato fatto dal moderatore sul sito
Grazie!!
Questo commento è stato fatto dal moderatore sul sito
Alissa , ho avuto lo stesso problema , non sono riuscito a risolverlo ma la tua risposta mi ha aiutato molto , quindi grazie mille , sei geniale .
Questo commento è stato fatto dal moderatore sul sito
Questo mi ha aiutato MOLTO. Ho letteralmente cercato così tanti posti e questa è l'unica spiegazione che ha funzionato! Grazie!!!
Questo commento è stato fatto dal moderatore sul sito
Grazie! Stavo strappando i capelli cercando di ottenere i bei bordi grigi che rimanessero dopo la colorazione. Non posso credere che Microsoft non l'abbia già implementato.
Questo commento è stato fatto dal moderatore sul sito
Funziona alla grande. (Grazie) Ma ecco la vera domanda: perché Excel consente alle linee della griglia di scomparire quando si riempiono le celle con il colore in primo luogo? Solo un altro stupido problema tecnico nel mondo tecnologico a cui i cosiddetti sviluppatori intelligenti non hanno mai pensato. Voglio dire, le linee della griglia, per impostazione predefinita, dovrebbero comunque essere lì... quindi...
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0  Personaggi
Posizioni suggerite