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

Come mantenere sempre in vista un grafico durante lo scorrimento in Excel?

Se è presente un grafico inserito in un foglio, mentre si scorre il foglio verso il basso per visualizzare i dati, il grafico non può essere visualizzato contemporaneamente all'immagine sottostante, che deve essere sgradevole. In questo articolo, introduco un codice VBA per mantenere un grafico sempre in vista anche se si scorre il foglio verso il basso o verso l'alto.

doc mantenere il grafico in vista 1
doc freccia giù
doc mantenere il grafico in vista 2

Tieni sempre un grafico in vista


freccia blu freccia destra Tieni sempre un grafico in vista

Per mantenere un grafico in vista durante lo scorrimento del foglio, è possibile applicare sotto il codice VBA per risolverlo.

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio in cui si desidera mantenere visibile il grafico e fare clic Visualizza codice dal menu contestuale. Vedi screenshot:
doc mantenere il grafico in vista 3

2. Nel popping Microsoft Visual Basic, Applications Edition finestra, incolla sotto il codice nello script vuoto.

VBA: tieni il grafico sempre in vista

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'UpdatebyExtendoffice20161111
    Dim CPos As Double
    Application.ScreenUpdating = False
    CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveSheet.Shapes("Chart 2").Top = CPos
    ActiveWindow.Visible = False
    Application.ScreenUpdating = True
End Sub

doc mantenere il grafico in vista 5

3. Salvare e chiudere la finestra di dialogo, quindi il grafico verrà spostato verso il basso o verso l'alto mentre si fa clic su qualsiasi cella.
doc mantenere il grafico in vista 6

Note:

(1) Nel codice VBA, il grafico 2 è il nome del grafico che vuoi tenere in vista, puoi cambiarlo secondo le tue necessità.

(2) Questo VBA non può sempre tenere in vista un gruppo di grafici.


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-2021 e 365. Supporta tutte le lingue. Facile implementazione 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 ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (15)
Rinomato 4.75 su 5 · Valutazioni 2
Questo commento è stato fatto dal moderatore sul sito
Questo era buono, ma vorrei che ci fosse un modo in cui si muovesse semplicemente con la rotellina, come le linee di intestazione. Inoltre, se voglio selezionare una cella, ci vogliono due clic. Il primo clic sposta il grafico ma seleziona anche il grafico, quindi devo fare di nuovo clic per selezionare la cella.
Questo commento è stato fatto dal moderatore sul sito
Ho aggiunto "activecell.select" nell'ultima riga di questo codice e ho risolto il problema del doppio clic. Seleziona automaticamente l'ultima cella attiva, che sarà quella su cui hai fatto clic per spostare il grafico. Spero questo sia di aiuto.
Questo commento è stato fatto dal moderatore sul sito
QUESTO È QUELLO CHE MI SERVE! D'ORO!
Questo commento è stato fatto dal moderatore sul sito
Questa macro ha fatto esattamente quello che volevo. Tuttavia ha creato un altro problema a cui mi chiedevo se potessi avere una soluzione.

Mentre questa macro è attiva, non posso selezionare le celle per altri scopi come la formattazione o l'unione. Fare clic e trascinare, spostare o ctrl per selezionare un gruppo di celle. Posso selezionare solo la cella su cui ho cliccato. Desidero spesso modificare la formattazione (sfondo, compilare una formula, ecc.) L'unico modo in cui sono stato in grado di farlo è eliminare la macro, salvare, apportare modifiche alla formattazione, incollare nuovamente la macro e salvare.

C'è un modo più semplice per farlo? Forse:

1. (preferito) Una semplice sequenza di tasti che disabiliterebbe temporaneamente la macro e quindi la riattiverebbe.

2. È stato aggiunto del codice alla macro per consentire la selezione di un gruppo di celle.

Giorgio
Questo commento è stato fatto dal moderatore sul sito
Esiste una formula simile che può essere creata per Fogli Google?
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per limitare quanto in alto sul foglio si trasferirà il grafico? Non voglio che venga apposto sopra la riga 8
Questo commento è stato fatto dal moderatore sul sito
Hola muchas gracias por el código, utilizando este código. por ejemplo, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Rinomato 5 su 5
Questo commento è stato fatto dal moderatore sul sito
posso usare Kutools per usare automaticamente quel VBA per i miei grafici??
Questo commento è stato fatto dal moderatore sul sito
Siamo spiacenti, Wangnuli, Kutools non ha supportato questo finora.
Questo commento è stato fatto dal moderatore sul sito
Qualcuno può aiutare. quando seguo questi passaggi


Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Aggiorna entroExtendoffice20161111
Dim CPos come Double
Application.ScreenUpdating = False
CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.ChartObjects("Grafico 2").Attivare
ActiveSheet.Shapes("Grafico 2").Top = CPos
ActiveWindow.Visible = Falso
Application.ScreenUpdating = True
End Sub


ottengo il seguente errore

Errore di runtime '-2147024809 (80070057)':
L'elemento con il nome specificato non è stato trovato

quando eseguo il debug
ActiveSheet.ChartObjects("Grafico 2").Attivare
Questo commento è stato fatto dal moderatore sul sito
Ciao, Christo, devi cambiare il nome del grafico "Grafico 2" con il vero nome del grafico nello script. Puoi fare clic sul grafico e vedere il suo nome nella casella del nome. Vedi schermata:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Questo commento è stato fatto dal moderatore sul sito
Sì grazie. dopo aver fatto la domanda mi sono reso conto che il nome del mio grafico era sbagliato
Grazie

ps.
forse sai come posso fare in modo che il grafico sia tenuto in vista mentre scorro senza fare clic su dove deve seguire
Questo commento è stato fatto dal moderatore sul sito
Ho riscontrato un problema con la deselezione della cella e avevo bisogno di due grafici, quindi ho apportato alcune modifiche e ora sembra funzionare.
Per usarlo, inserisci il nome del grafico corretto.
*Nota: questo è per due grafici


Private Sub worksheet_selectionchange(ByVal target As Range)
Dim chartposition As Double

chartposition = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.Shapes("Chart 2").Top = chartposition

ActiveSheet.ChartObjects("Grafico 3").Top = posizione grafico + 250

End Sub
Questo commento è stato fatto dal moderatore sul sito
Mi è successo che la prossima volta che apri il file, lo script non funziona. Tengo que copiarlo, borrarlo, cerrar el file tras guardarlo, volver a abrir el file y volver a pegar el script in VBA. ¿Alguna soluzione?
Rinomato 4.5 su 5
Questo commento è stato fatto dal moderatore sul sito
Ciao, salva la cartella di lavoro come cartella di lavoro di abilitazione macro Excel, il vba funzionerà quando verrà aperto la prossima volta.https://cdn.extendoffice.com/images/stories/comments/sun-comment/doc-macro-enable.png
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL