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

Cum să păstrați întotdeauna o diagramă la vedere atunci când derulați în Excel?

Dacă există o diagramă inserată într-o foaie, în timp ce derulați foaia în jos pentru a vizualiza datele, diagrama nu poate fi vizualizată în același timp cu imaginea de mai jos prezentată, care trebuie să fie urâtă. În acest articol, introduc un cod VBA pentru a păstra întotdeauna o diagramă, chiar dacă derulați foaia în jos sau în sus.

doc păstrează diagrama în vederea 1
doc săgeată în jos
doc păstrează diagrama în vederea 2

Păstrați întotdeauna o diagramă la vedere


săgeată albastru dreapta balon Păstrați întotdeauna o diagramă la vedere

Pentru a păstra o diagramă în vizualizare în timp ce derulați foaia, puteți aplica mai jos codul VBA pentru ao rezolva.

1. Faceți clic dreapta pe fila foaie pe care doriți să mențineți graficul vizibil și faceți clic pe Afișați codul formează meniul contextual. Vedeți captura de ecran:
doc păstrează diagrama în vederea 3

2. În popping Microsoft Visual Basic pentru aplicații fereastră, lipiți mai jos codul în scriptul gol.

VBA: Păstrați graficul întotdeauna vizibil

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 păstrează diagrama în vederea 5

3. Salvați și închideți dialogul, apoi graficul va fi mutat în jos sau în sus în timp ce faceți clic pe orice celulă.
doc păstrează diagrama în vederea 6

note:

(1) În codul VBA, Graficul 2 este numele graficului pe care doriți să îl păstrați, îl puteți schimba după cum aveți nevoie.

(2) Acest VBA nu poate păstra întotdeauna un grup de diagrame la vedere.


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (15)
Evaluat 4.75 din 5 · evaluări 2
Acest comentariu a fost redus la minimum de moderatorul de pe site
Acest lucru a fost bun, dar mi-aș dori să existe o modalitate prin care să se miște pur și simplu cu rotița de defilare, ca liniile de cap. De asemenea, dacă vreau să selectez o celulă este nevoie de două clicuri. Primul clic mută diagrama, dar selectează și diagrama, așa că trebuie să dau clic din nou pentru a selecta celula.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am adăugat „activecell.select” pe ultima linie a acestui cod și a rezolvat problema dublu clic. Acesta va selecta automat ultima celulă activă, care va fi cea pe care ați făcut clic pentru a muta diagrama. Sper că acest lucru vă ajută.
Acest comentariu a fost redus la minimum de moderatorul de pe site
ASTA AM NEVOIE! DE AUR!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Această macrocomandă a făcut exact ce mi-am dorit. Cu toate acestea, a creat o altă problemă la care m-am întrebat dacă ai putea avea o soluție.

În timp ce această macrocomandă este activă, nu pot selecta celule pentru alte scopuri, cum ar fi formatarea sau îmbinarea lor. Faceți clic și trageți, shift sau ctrl pentru a selecta un grup de celule. Pot selecta doar celula pe care am făcut clic. Doresc frecvent să schimb formatarea (fondul, completarea unei formule etc.) Singura modalitate prin care am reușit să fac acest lucru este să șterg macrocomanda, să salvez, să îmi modific formatarea, să lipim macrocomanda înapoi și să o salvez.

Există o modalitate mai simplă de a face asta? Poate:

1. (de preferat) O simplă apăsare a tastei care ar dezactiva temporar macrocomanda și apoi ar reactiva-o.

2. Un cod adăugat la macro pentru a permite selectarea unui grup de celule.

Dennis
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există o formulă similară care poate fi creată pentru Foi de calcul Google?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există vreo modalitate de a limita cât de sus pe foaia se va muta diagrama? Nu vreau să se lipească deasupra rândului 8
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hola muchas gracias por el código, utilizând acest cod ¿Hay alguna manera de limitar what tan alto en la hoja se reubicará el grafic? de exemplu, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Evaluat 5 din 5
Acest comentariu a fost redus la minimum de moderatorul de pe site
pot folosi Kutools pentru a folosi automat acel VBA pentru diagramele mele?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ne pare rău, Wangnuli, Kutools nu a acceptat acest lucru până acum.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Poate cineva să ajute. când urmez acești pași


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Actualizare deExtendoffice20161111
Dim CPos As Double
Application.ScreenUpdating = Fals
CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.ChartObjects(„Diagrama 2”).Activare
ActiveSheet.Shapes(„Diagrama 2”). Sus = CPos
ActiveWindow.Visible = Fals
Application.ScreenUpdating = Adevărat
End Sub


primesc următoarea eroare

Eroare de rulare „-2147024809 (80070057)”:
Elementul cu numele specificat nu a fost găsit

cand depanez
ActiveSheet.ChartObjects(„Diagrama 2”).Activare
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Christo, trebuie să schimbați numele diagramei „Diagrama 2” cu numele diagramei în script. Puteți face clic pe diagramă și puteți vedea numele acesteia în caseta de nume. Vedeți captura de ecran:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Acest comentariu a fost redus la minimum de moderatorul de pe site
da mulțumesc. după ce am pus întrebarea, mi-am dat seama că numele meu diagramă era greșit
Mulțumiri

ps.
Poate știi cum pot face ca graficul să fie păstrat la vedere în timp ce derulez fără să dau clic unde trebuie să urmeze
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am întâmpinat o problemă la deselectarea celulei și am avut nevoie de două diagrame, așa că am făcut câteva modificări și se pare că funcționează acum.
Pentru a-l folosi, puneți numele diagramei corect.
*Notă: acesta este pentru două diagrame


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

chartposition = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.Shapes(„Diagrama 2”). Sus = poziția diagramei

ActiveSheet.ChartObjects(„Diagrama 3”). Sus = poziție diagramă + 250

End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
A mí me pasa que la siguiente vez que abro el archivo, el script ya no funciona. Tengo que copiarlo, borrarlo, cerrar el archivo tras guardarlo, volver a abrir el archivo y volver a pegar el script en VBA. ¿Alguna solución?
Evaluat 4.5 din 5
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi, save the workbook as excel macro enable workbook, the vba will be work when open next time.https://cdn.extendoffice.com/images/stories/comments/sun-comment/doc-macro-enable.png
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL