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

Jak zawsze wyświetlać wykres podczas przewijania w programie Excel?

Jeśli w arkuszu znajduje się wykres, podczas przewijania arkusza w dół, aby wyświetlić dane, wykresu nie można wyświetlić w tym samym czasie, co pokazano na poniższym zrzucie ekranu, co musi być nieprzyjemne. W tym artykule przedstawiam kod VBA, aby wykres był zawsze widoczny, nawet podczas przewijania arkusza w dół lub w górę.

doc zachowaj wykres w widoku 1
strzałka doc w dół
doc zachowaj wykres w widoku 2

Zawsze miej na oku wykres


strzałka niebieski prawy bąbelek Zawsze miej na oku wykres

Aby zachować wykres w widoku podczas przewijania arkusza, możesz zastosować poniższy kod VBA, aby go rozwiązać.

1. Kliknij prawym przyciskiem myszy kartę arkusza, w której chcesz zachować widoczność wykresu, i kliknij Wyświetl kod tworzą menu kontekstowe. Zobacz zrzut ekranu:
doc zachowaj wykres w widoku 3

2. W poppingu Microsoft Visual Basic for Applications okno, wklej poniższy kod do pustego skryptu.

VBA: trzymaj wykres zawsze w widoku

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 zachowaj wykres w widoku 5

3. Zapisz i zamknij okno dialogowe, a po kliknięciu dowolnej komórki wykres będzie przesuwany w dół lub w górę.
doc zachowaj wykres w widoku 6

Uwagi:

(1) W kodzie VBA Chart 2 to nazwa wykresu, którą chcesz zachować, możesz ją zmienić w razie potrzeby.

(2) Ten język VBA nie zawsze może wyświetlać grupę wykresów.


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (15)
Znamionowy 4.75 z 5 · 2 oceny
Ten komentarz został zminimalizowany przez moderatora na stronie
To było dobre, ale żałuję, że nie ma sposobu, aby poruszał się po prostu za pomocą kółka przewijania, jak linie nagłówków. Również jeśli chcę wybrać komórkę, zajmuje to dwa kliknięcia. Pierwsze kliknięcie przesuwa wykres, ale także zaznacza wykres, więc muszę kliknąć ponownie, aby zaznaczyć komórkę.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dodałem "activecell.select" w ostatniej linii tego kodu i naprawiłem problem z podwójnym kliknięciem. Automatycznie wybierze ostatnią aktywną komórkę, którą kliknąłeś, aby przenieść wykres. Mam nadzieję że to pomoże.
Ten komentarz został zminimalizowany przez moderatora na stronie
TEGO POTRZEBUJĘ! ZŁOTY!
Ten komentarz został zminimalizowany przez moderatora na stronie
To makro zrobiło dokładnie to, czego chciałem. Stworzyło to jednak kolejny problem, który zastanawiałem się, czy możesz znaleźć rozwiązanie.

Gdy to makro jest aktywne, nie mogę wybierać komórek do innych celów, takich jak formatowanie lub łączenie ich. Kliknij i przeciągnij, Shift lub Ctrl działają, aby wybrać grupę komórek. Mogę wybrać tylko jedną komórkę, którą kliknąłem. Często chcę zmienić formatowanie (tło, wypełnić formułę itp.) Jedynym sposobem, w jaki mogłem to zrobić, jest usunięcie makra, zapisanie, wprowadzenie zmian w formatowaniu, wklejenie makra z powrotem i zapisanie.

Czy jest na to prostszy sposób? Być może:

1. (preferowane) Proste naciśnięcie klawisza, które tymczasowo wyłączy makro, a następnie włączy je ponownie.

2. Dodano trochę kodu do makra, aby umożliwić wybór grupy komórek.

Dennis
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje podobna formuła, którą można zbudować dla Arkuszy Google?
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób na ograniczenie wysokości arkusza, do której przeniesie się wykres? Nie chcę, aby był umieszczony nad wierszem 8
Ten komentarz został zminimalizowany przez moderatora na stronie
Hola muchas gracias por el código, użyj este código ¿Hay alguna manera de limitar qué tan alto en la hoja se reubicará el grafico? por ejemplo, no quiero que se coloque encima de la fila 9. Ayuda por favor.
Znamionowy 5 z 5
Ten komentarz został zminimalizowany przez moderatora na stronie
czy mogę używać Kutools, aby automatycznie używać tego VBA do moich wykresów?
Ten komentarz został zminimalizowany przez moderatora na stronie
Przepraszamy, Wangnuli, Kutools do tej pory nie obsługuje tego.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy ktoś może pomóc. kiedy wykonam te kroki


Private Sub Worksheet_SelectionChange (ByVal Target As Range)
„Aktualizuj do”Extendoffice20161111
Dim CPos jako podwójne
Application.ScreenUpdating = Fałsz
CPos = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.ChartObjects("Wykres 2").Aktywuj
ActiveSheet.Shapes("Wykres 2").Top = CPos
ActiveWindow.Visible = Fałsz
Application.ScreenUpdating = True
End Sub


otrzymuję następujący błąd

Błąd wykonania „-2147024809 (80070057)”:
Nie znaleziono elementu o podanej nazwie

kiedy debuguję
ActiveSheet.ChartObjects("Wykres 2").Aktywuj
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Christo, musisz zmienić nazwę wykresu „Wykres 2” na nazwę wykresu w skrypcie. Możesz kliknąć wykres i zobaczyć jego nazwę w polu nazwy. Zobacz zrzut ekranu:
https://www.extendoffice.com/images/stories/comments/sun-comment/do_chart_name.png
Ten komentarz został zminimalizowany przez moderatora na stronie
Tak, dziękuję. po zadaniu pytania zdałem sobie sprawę, że moja nazwa wykresu jest błędna
dzięki

ps.
czy może wiesz, jak mogę sprawić, by wykres był widoczny podczas przewijania bez klikania miejsca, w którym musi podążać
Ten komentarz został zminimalizowany przez moderatora na stronie
Napotkałem problem z odznaczeniem komórki i potrzebowałem dwóch wykresów, więc wprowadziłem kilka zmian i wygląda na to, że teraz działa.
Aby go użyć, wpisz właściwą nazwę wykresu.
* Uwaga: ten dotyczy dwóch wykresów


Private Sub worksheet_selectionchange(ByVal target As Range)
Słaba pozycja wykresu jako podwójna

pozycja wykresu = ActiveWindow.ScrollRow * ActiveCell.RowHeight
ActiveSheet.Shapes("Wykres 2").Top = pozycja wykresu

ActiveSheet.ChartObjects("Wykres 3").Top = pozycja wykresu + 250

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
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 abrir el archivo y volver a pegar el script en VBA. ¿Alguna solución?
Znamionowy 4.5 z 5
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, zapisz skoroszyt jako skoroszyt włączania makr programu Excel, vba będzie działać przy następnym otwarciu.https://cdn.extendoffice.com/images/stories/comments/sun-comment/doc-macro-enable.png
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL