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

Hur håller man alltid ett diagram i sikte när man rullar i Excel?

Om det finns ett diagram infogat i ett ark, medan du rullar ner arket för att se data, kan diagrammet inte visas samtidigt som skärmdumpen nedan visas, vilket måste vara otäckt. I den här artikeln introducerar jag en VBA-kod för att hålla ett diagram alltid i sikte även om du rullar arket nedåt eller uppåt.

doc hålla diagram i vy 1
doc pil ner
doc hålla diagram i vy 2

Håll alltid ett diagram i sikte


pil blå höger bubbla Håll alltid ett diagram i sikte

För att behålla ett diagram i vyn medan du rullar ark kan du använda nedanstående VBA-kod för att lösa det.

1. Högerklicka på arkfliken som du vill hålla diagrammet synligt och klicka på Visa kod bilda snabbmenyn. Se skärmdump:
doc hålla diagram i vy 3

2. I popping Microsoft Visual Basic för applikationer klistra in under koden i det tomma skriptet.

VBA: Håll kartan alltid i sikte

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 hålla diagram i vy 5

3. Spara och stäng dialogrutan, sedan flyttas diagrammet nedåt eller uppåt när du klickar på valfri cell.
doc hålla diagram i vy 6

Anmärkningar:

(1) I VBA-koden är diagram 2 det diagramnamn du vill ha i sikte, du kan ändra det efter behov.

(2) Denna VBA kan inte alltid hålla en grupp diagram i sikte.


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (14)
Klassad 4.75 av 5 · 2 betyg
Denna kommentar minimerades av moderatoren på webbplatsen
Det här var bra men jag önskar att det fanns ett sätt att det bara kunde röra sig med rullningshjulet, som rubriklinjer. Om jag vill markera en cell tar det två klick. Det första klicket flyttar diagrammet men väljer också diagrammet så jag måste klicka igen för att markera cellen.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag la till "activecell.select" på den sista raden i den här koden och det fixade problemet med dubbelklick. Den kommer automatiskt att välja den sista aktiva cellen, som kommer att vara den du klickade på för att flytta diagrammet. Hoppas det här hjälper.
Denna kommentar minimerades av moderatoren på webbplatsen
DETTA ÄR VAD JAG BEHÖVDE! GYLLENE!
Denna kommentar minimerades av moderatoren på webbplatsen
Detta makro gjorde precis vad jag ville. Men det skapade ett annat problem som jag undrade om du kanske har en lösning på.

Medan det här makrot är aktivt kan jag inte välja celler för andra ändamål som att formatera eller slå samman dem. Klicka och dra, skift eller ctrl fungerar för att välja en grupp celler. Jag kan bara välja den ena cellen jag klickade på. Jag vill ofta ändra formatering (bakgrund, fylla i en formel, etc.) Det enda sättet jag har kunnat göra detta är att ta bort makrot, spara, göra mina formateringsändringar, klistra in makrot igen och spara.

Finns det ett enklare sätt att göra detta? Kanske:

1. (föredraget) En enkel tangenttryckning som tillfälligt skulle inaktivera makrot och sedan återaktivera det.

2. Viss kod har lagts till i makrot för att tillåta val av en grupp celler.

Dennis
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det en liknande formel som kan byggas för Google Sheets?
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att begränsa hur högt upp på arket sjökortet kommer att flyttas till? Jag vill inte att den ska fästas ovanför rad 8
Denna kommentar minimerades av moderatoren på webbplatsen
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? por ejemplo, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Klassad 5 av 5
Denna kommentar minimerades av moderatoren på webbplatsen
kan jag använda Kutools för att automatiskt använda den VBA för mina diagram??
Denna kommentar minimerades av moderatoren på webbplatsen
Tyvärr, Wangnuli, Kutools har inte stöd för detta hittills.
Denna kommentar minimerades av moderatoren på webbplatsen
Kan någon hjälpa. när jag följer dessa steg


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


jag får följande fel

Run-Time error '-2147024809 (80070057)':
Objektet med det angivna namnet hittades inte

när jag felsöker
ActiveSheet.ChartObjects("Diagram 2"). Aktivera
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Christo, du måste ändra sjökortsnamnet "Chart 2" till ditt diagramnamn i skriptet. Du kan klicka på diagrammet och se dess namn i namnrutan. Se skärmdump:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Denna kommentar minimerades av moderatoren på webbplatsen
Ja tack. efter att ha ställt frågan insåg jag att mitt diagramnamn var fel
tack

ps.
vet du kanske hur jag kan få diagrammet att se när jag rullar utan att klicka där det ska följa
Denna kommentar minimerades av moderatoren på webbplatsen
Jag stötte på ett problem med att avmarkera cellen och behövde två diagram, så jag gjorde några ändringar och det verkar fungera nu.
För att använda den anger du rätt diagramnamn.
*Obs: Den här är för två diagram


Private Subworksheet_selectionchange(ByVal target As Range)
Dim kartposition som dubbel

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

ActiveSheet.ChartObjects("Chart 3").Top = diagramposition + 250

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
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?
Klassad 4.5 av 5
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL