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

Hoe houd je een diagram altijd in het oog tijdens het scrollen in Excel?

Als er een diagram in een blad is ingevoegd, terwijl u het blad naar beneden scrolt om de gegevens te bekijken, kan het diagram niet tegelijkertijd worden bekeken zoals onderstaand screenshot, wat vervelend moet zijn. In dit artikel introduceer ik een VBA-code om een ​​grafiek altijd in het zicht te houden, ook al scrol je door het blad naar beneden of naar boven.

doc grafiek in beeld houden 1
doc pijl naar beneden
doc grafiek in beeld houden 2

Houd altijd een kaart in het oog


pijl blauw rechts bel Houd altijd een kaart in het oog

Om een ​​grafiek in beeld te houden tijdens het scrollen, kunt u onderstaande VBA-code toepassen om het op te lossen.

1. Klik met de rechtermuisknop op de bladtab waarvan u de grafiek zichtbaar wilt houden, en klik Bekijk code vormen het contextmenu. Zie screenshot:
doc grafiek in beeld houden 3

2. In het knallen Microsoft Visual Basic voor toepassingen venster, plak onderstaande code in het lege script.

VBA: houd de grafiek altijd in zicht

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 grafiek in beeld houden 5

3. Sla het dialoogvenster op en sluit het, waarna het diagram naar beneden of naar boven wordt verplaatst terwijl u op een cel klikt.
doc grafiek in beeld houden 6

Opmerkingen:

(1) In de VBA-code is Grafiek 2 de kaartnaam die u in beeld wilt houden, u kunt deze naar behoefte wijzigen.

(2) Deze VBA kan niet altijd een groep grafieken in zicht houden.


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (15)
Rated 4.75 uit 5 · 2 ratings
Deze opmerking is gemaakt door de moderator op de site
Dit was goed, maar ik wou dat er een manier was waarop het gewoon met het scrollwiel zou bewegen, zoals koplijnen. Ook als ik een cel wil selecteren, duurt het twee klikken. De eerste klik verplaatst de grafiek, maar selecteert ook de grafiek, dus ik moet opnieuw klikken om de cel te selecteren.
Deze opmerking is gemaakt door de moderator op de site
Ik heb "activecell.select" toegevoegd aan de laatste regel van deze code en het probleem met dubbelklikken is opgelost. Het selecteert automatisch de laatste actieve cel, de cel waarop u hebt geklikt om de grafiek te verplaatsen. Ik hoop dat dit helpt.
Deze opmerking is gemaakt door de moderator op de site
DIT IS WAT IK NODIG HEB! GOUDEN!
Deze opmerking is gemaakt door de moderator op de site
Deze macro deed precies wat ik wilde. Het zorgde echter voor een ander probleem waarvan ik me afvroeg of je misschien een oplossing hebt.

Terwijl deze macro actief is, kan ik geen cellen selecteren voor andere doeleinden, zoals opmaak of samenvoegen. Klik en sleep, verschuif of Ctrl-werk om een ​​groep cellen te selecteren. Ik kan alleen de ene cel selecteren waarop ik heb geklikt. Ik wil vaak de opmaak wijzigen (achtergrond, een formule invullen, enz.) De enige manier waarop ik dit heb kunnen doen, is door de macro te verwijderen, op te slaan, mijn opmaakwijzigingen aan te brengen, de macro er weer in te plakken en op te slaan.

Is er een eenvoudigere manier om dit te doen? Misschien:

1. (bij voorkeur) Een eenvoudige toetsaanslag die de macro tijdelijk uitschakelt en vervolgens weer inschakelt.

2. Er is wat code aan de macro toegevoegd om een ​​groep cellen te kunnen selecteren.

Dennis
Deze opmerking is gemaakt door de moderator op de site
Is er een vergelijkbare formule die kan worden gebouwd voor Google Spreadsheets?
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om te beperken tot hoe hoog op het blad de kaart wordt verplaatst? Ik wil niet dat het wordt aangebracht boven rij 8
Deze opmerking is gemaakt door de moderator op de site
Hola muchas gracias por el código, utilizando este código ¿Hay alguna manera de limitar qué tan alto en la hoja se reubicará el gráfico? door ejemplo, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Rated 5 uit 5
Deze opmerking is gemaakt door de moderator op de site
kan ik Kutools gebruiken om die VBA automatisch voor mijn grafieken te gebruiken ??
Deze opmerking is gemaakt door de moderator op de site
Sorry, Wangnuli, Kutools heeft dit tot nu toe niet ondersteund.
Deze opmerking is gemaakt door de moderator op de site
Kan iemand helpen. wanneer ik deze stappen volg


Privé subwerkblad_SelectionChange (ByVal-doel als bereik)
'Bijwerken door'Extendoffice20161111
Dim CPo's als dubbel
Application.ScreenUpdating = False
CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.ChartObjects("Grafiek 2").Activeren
ActiveSheet.Shapes("Grafiek 2").Top = CPos
ActiveWindow.Visible = Onwaar
Application.ScreenUpdating = True
End Sub


ik krijg de volgende foutmelding

Runtime-fout '-2147024809 (80070057)':
Het item met de opgegeven naam is niet gevonden

wanneer ik debug
ActiveSheet.ChartObjects("Grafiek 2").Activeren
Deze opmerking is gemaakt door de moderator op de site
Hallo, Christo, je moet de kaartnaam "Grafiek 2" wijzigen in je eigenlijke kaartnaam in het script. U kunt op de grafiek klikken en de naam ervan in het naamvak zien. Zie screenshot:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Deze opmerking is gemaakt door de moderator op de site
Ja bedankt. nadat ik de vraag had gesteld, realiseerde ik me dat mijn kaartnaam verkeerd was
bedankt

ps.
weet u misschien hoe ik ervoor kan zorgen dat de grafiek in beeld blijft terwijl ik scrol zonder te klikken waar deze moet volgen
Deze opmerking is gemaakt door de moderator op de site
Ik ondervond een probleem met het deselecteren van de cel en had twee grafieken nodig, dus ik heb wat wijzigingen aangebracht en het lijkt nu te werken.
Om het te gebruiken, zet u de juiste kaartnaam.
*Opmerking: deze is voor twee kaarten


Private Sub worksheet_selectionchange (ByVal-doel als bereik)
Dim grafiekpositie As Double

grafiekpositie = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.Shapes("Grafiek 2").Top = kaartpositie

ActiveSheet.ChartObjects("Grafiek 3").Top = grafiekpositie + 250

End Sub
Deze opmerking is gemaakt door de moderator op de site
Als ik weet dat de volgende keer dat ik het archief heb geopend, het script niet werkt. Tengo que copiarlo, borrarlo, cerrar el archivo tras guardarlo, volver abrir the archivo en volver a pegar el script in VBA. ¿Alguna-oplossing?
Rated 4.5 uit 5
Deze opmerking is gemaakt door de moderator op de site
Hallo, sla de werkmap op als Excel-werkmap voor het inschakelen van macro's, de vba zal werken wanneer deze de volgende keer wordt geopend.https://cdn.extendoffice.com/images/stories/comments/sun-comment/doc-macro-enable.png
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL