Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 63760 Skopiuj do schowka Dynamiczny grafik
Autor Wiadomość
danjelw 
Fan Excela


Posty: 87
Wysłany: 09-01-2019, 22:02   Dynamiczny grafik

Cześć wszystkim, proszę o pomoc w następującym problemie -
czy jest możliwe, aby wypełniając grafik w danym miesiącu był on zapisywany (zapamiętany) tj. mam styczeń 2019 r i zaznaczone komórki G11 i K11.
Czy po zmianie miesiąca na np. Luty 2019 zostanie wyświetlony pusty grafik z możliwością uzupełniania danego miesiąca i po powrocie do stycznia były zapisane dane w komórkach które wcześniej wpisaliśmy?

Dla zobrazowania problemu załącznik.

Dynamiczny grafik .xlsx
Pobierz Plik ściągnięto 19 raz(y) 19.83 KB

_________________
Pozdrawiam
Daniel
ID posta: 360144 Skopiuj do schowka
 
 
maxaa 
ExcelSpec



Pomógł: 192 razy
Posty: 919
Wysłany: 10-01-2019, 08:53   

Zrób sobie kopie tego grafiku 12 arkuszy od stycznia do grudnia i masz cały rok. W każdej chwili możesz wracać do poprzedniego miesiąca.
ID posta: 360169 Skopiuj do schowka
 
 
Tajan


Pomógł: 4363 razy
Posty: 9692
Wysłany: 10-01-2019, 12:06   

W załączniku masz proste rozwiązanie oparte na procedurze zdarzeniowej. Poszczególne miesiące są zapisywane arkuszu Archiwum i automatycznie wczytywane w razie zmiany daty:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim aktGrafik As Variant
Dim aktRok As Long, aktMiesiac As String
Dim grafik As Range
Dim arch As Worksheet
Dim w As Long, k As Long

Set arch = Worksheets("Archiwum")
   
If (Target.Address = "$C$1" Or Target.Address = "$C$2") And _
   [c1] & "_" & [c2] <> arch.[a1] Then
   
   Set grafik = [b6:ai30]
   
   With Worksheets("Archiwum")
       
        aktGrafik = Split(.[a1].Value, "_")
        aktMiesiac = aktGrafik(0)
        aktRok = Val(aktGrafik(1))
       
        w = Application.Match(aktMiesiac, .[a:a], 0)
        k = Application.Match(aktRok, .[1:1], 0)
       
        .Cells(w, k).Resize(grafik.Rows.Count, grafik.Columns.Count).Value = grafik.Value
       
        aktMiesiac = [c1].Value
        aktRok = [c2].Value
       
        w = Application.Match(aktMiesiac, .[a:a], 0)
        k = Application.Match(aktRok, .[1:1], 0)
       
        Application.EnableEvents = False
        grafik.Value = .Cells(w, k).Resize(grafik.Rows.Count, grafik.Columns.Count).Value
        Application.EnableEvents = True
       
        .[a1].Value = [c1] & "_" & [c2]
   
   End With
       
End If

End Sub
Dla uproszczenia kodu każdy miesiąc ma na arkuszu Archiwum zarezerwowany stały obszar więc nie należy go modyfikować i z tego powodu powinien być ukryty. W przypadku zmiany struktury arkusza z grafikiem, na przykład poprzez dodanie wierszy, należy dokonać modyfikacji struktury arkusza Archiwum.

Dynamiczny grafik .xlsm
Pobierz Plik ściągnięto 32 raz(y) 148.47 KB

ID posta: 360187 Skopiuj do schowka
 
 
danjelw 
Fan Excela


Posty: 87
Wysłany: 11-01-2019, 16:10   

Dziękuję maxaa i Tajan oba rozwiązania jak najbardziej prawidłowe :-D jednak chodziło mi bardziej o rozwiązanie jakie zaproponował Tajan.
_________________
Pozdrawiam
Daniel
ID posta: 360246 Skopiuj do schowka
 
 
danjelw 
Fan Excela


Posty: 87
Wysłany: 12-01-2019, 16:59   

Panowie mam jeszcze prośbę, jak sprawić aby również tytuł grafiku zmieniał się dynamicznie. Czyli jak zmienię miesiąc to będę mógł wpisać swój tytuł. I gdy wrócę do poprzedniego grafiku będzie tam zapisany tytuł.
W załączniku komentarz.

Dynamiczny grafik_v1 .xlsm
Pobierz Plik ściągnięto 16 raz(y) 149.42 KB

_________________
Pozdrawiam
Daniel
ID posta: 360302 Skopiuj do schowka
 
 
Tajan


Pomógł: 4363 razy
Posty: 9692
Wysłany: 12-01-2019, 18:46   

Poprawka w załączniku.

Dynamiczny grafik_v1 .xlsm
Pobierz Plik ściągnięto 25 raz(y) 139.82 KB

ID posta: 360309 Skopiuj do schowka
 
 
danjelw 
Fan Excela


Posty: 87
Wysłany: 12-01-2019, 19:14   

Dziękuję Tajan :-D o to chodziło.
_________________
Pozdrawiam
Daniel
ID posta: 360313 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe