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: 63747 Skopiuj do schowka Makropolecenia zdarzeniowe + gra z wykorzystaniem ActiveX
Autor Wiadomość
roninq6
forumowicz


Posty: 13
Wysłany: 09-01-2019, 11:46   Makropolecenia zdarzeniowe + gra z wykorzystaniem ActiveX

Witam.
Mam problem z kilkoma kwestiami związanymi m.in. z makro i grą w Excelu. W pliku, który stworzyłem nie mogę sobie poradzić z następującymi rzeczami. Chodzi o makra:

1. dodające nowy arkusz do skoroszytu przy podwójnym kliknięciu w obszarze
arkusza 2,
2. zmieniające widok tryb pełnoekranowy przy przejściu do arkusza 3 (tu pewnie będzie kwestia z nagraniem makro)
3. wyświetlające automatycznie po otwarciu pliku komunikat
4. odczytujące na głos wartość wpisaną do komórki (po jej zatwierdzeniu przyciskiem
ENTER)
5. dodające klawisz skrótu Ctrl+Shift+q do makropolecenia suma_liczb po otwarciu
arkusza 1, tak aby po zamknięciu arkusza 1 klawisz skrótu został dezaktywowany (tutaj kombinowałem z funkcją Application.OnKey)

Jeśli chodzi o grę w Arkuszu 5, chciałbym ją rozbudować tak aby:
1. aby Pasek Przewijania, który umieściłem zwiększał poziom trudności i aby przesunięcie suwaka na pasku przewijania Poziom trudności zmieniało rozmiar przycisku: wysokość (w zakresie od 10 do 100), szerokość (w zakresie od 20 do 200),
2. aby kliknięcie przycisku Nowa gra spowodowało wyczyszczenie listy wyników, ustawienie
pozycji startowej przycisku (Top=100, Left=0) oraz ustawienie wielkości przycisku na
maksimum.
3. podwójnie kliknięcie przycisku Złap mnie powodowało wpisanie do kolumny Lp. numeru
kolejnego kliknięcia, do kolumny Czas bieżącego czasu a do kolumny Poziom (poziomu
trudności - wysokości przycisku)

Byłby ktoś w stanie pomóc w tych kwestiach? Byłbym bardzo wdzięczny.
Poniżej zamieszczam plik z tym co aktualnie udało się zrobić.

makrazdarzeniowe.xlsm
plik roboczy
Pobierz Plik ściągnięto 12 raz(y) 30.14 KB

ID posta: 360073 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 258 razy
Posty: 1395
Wysłany: 09-01-2019, 14:05   

Ad "Gra" - p. 1,2:
Kod:
Private Sub ScrollBar1_Change()
Przycisk.Height = ScrollBar1.Value
Przycisk.Width = ScrollBar1.Value * 2
Przycisk.Font.Size = ScrollBar1.Value / 5
End Sub
+ ustawienia "min - max" ScrollBar1 (Properties).
Kod:
Private Sub CommandButton1_Click()
Przycisk.Left = 0
Przycisk.Top = 100
Przycisk.Height = 100
Przycisk.Width = 200
Przycisk.Font.Size = 20
Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row + 1).ClearContents
End Sub


Kopia makrazdarzeniowe-1.xlsm
Pobierz Plik ściągnięto 8 raz(y) 31.15 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
ID posta: 360090 Skopiuj do schowka
 
 
keri85 
Fan Excela


Pomógł: 28 razy
Posty: 60
Wysłany: 09-01-2019, 15:27   

Makra:
ad 1, ad 2, ad 3 powinno działać

ad 4 to kwestia ustawień
Poczytaj

ad 5 nie wiem o co Ci dokładnie chodzi

Gra:
ad 1 Wysokość i szerokość przycisku nie zawsze ustawia się do pełnych wartości. Czasem zamiast wysokości 10 ustawia się wysokość 9,75 (nie wiem jak to obejść)
ad 2 działa
ad 3 działa ale przyznawanie punktów na podstawie wysokości przycisku nie ma sensu dostajemy więcej punktów za kliknięcie w większy przycisk.

makrazdarzeniowe.xlsm
Pobierz Plik ściągnięto 9 raz(y) 37.7 KB

ID posta: 360097 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Pomógł: 258 razy
Posty: 1395
Wysłany: 09-01-2019, 16:13   

Ponieważ twój wątek jest "zabawowy" - to ja też się bawiłem > zał. (w zasadzie masz wszystko - tylko odpowiednio "poprzerzucać") ;-)

Uwaga: odwróciłbym poziom na suwaku - "w prawo: trudniejszy". Taka konwencja.
.


---
edit: dołożyłem funkcjonalność j.w.

Kopia makrazdarzeniowe-1.xlsm
Pobierz Plik ściągnięto 11 raz(y) 33.36 KB

_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
I dbajmy - proszę - o poprawną polszczyznę.
ID posta: 360106 Skopiuj do schowka
 
 
roninq6
forumowicz


Posty: 13
Wysłany: 10-01-2019, 14:09   

Dzięki Panowie, spora część działa tak jak powinna. Pozwolę sobie jednak wrzucić jeden "plik roboczy" i uporządkować trochę. Chciałbym aby wszystko działało w tym jednym pliku. Na chwilę obecną wygląda to tak:

Makra:

1. Działa
2. Nie działa
Cytat:
makro zmieniające widok tryb pełnoekranowy przy przejściu do arkusza 3 (tu pewnie będzie kwestia z nagraniem makro)

3. Działa
4. Nie działa (Nie da się tego zrobić za pomocą makro?)
Cytat:
makro odczytujące na głos wartość wpisaną do komórki (po jej zatwierdzeniu przyciskiem
ENTER)

5. Nie działa (Tutaj na pewno będzie coś z funkcją Application.OnKey)
Cytat:
makro dodające klawisz skrótu Ctrl+Shift+q do makropolecenia suma_liczb po otwarciu
arkusza 1, tak aby po zamknięciu arkusza 1 klawisz skrótu został dezaktywowany


Gra:

1. Nie działa? (umiejead, w pliku który wrzucałeś ustawione były pełne wartości? jeśli tak to dałoby się to przerzucić do pliku roboczego?)
Cytat:
aby Pasek Przewijania, który umieściłem zwiększał poziom trudności i aby przesunięcie suwaka na pasku przewijania Poziom trudności zmieniało rozmiar przycisku: wysokość (w zakresie od 10 do 100), szerokość (w zakresie od 20 do 200)

2. Działa
3. Lp. - Działa
Czas - Działa
Punkty - Nie działa (za łatwy daje 100 punktów, a chyba powinno byc odwrotnie?)
Poziom - Nie działa (w pliku od umiejead niby działało, ale chyba odwrotnie (?) z tym, że nie udaje mi się tego przerzucić tak aby działało w tym pliku...)

Będę bardzo wdzięczny za pomoc.

plik roboczy.xlsm
Pobierz Plik ściągnięto 8 raz(y) 37.39 KB

ID posta: 360192 Skopiuj do schowka
 
 
keri85 
Fan Excela


Pomógł: 28 razy
Posty: 60
Wysłany: 10-01-2019, 18:21   

Jak już zacząłem to się jeszcze trochę pobawię.

Makro:
Ad 2 Jak wiesz co trzeba zrobić to dlaczego tego nie zrobisz ? Poza tym nie jesteś precyzyjny w formułowaniu wymagań. Wcześniejsza wersja pliku po aktywowaniu "Arkusz3" maksymalizował widok okna aplikacji i okna skoroszytu, obecna wersja działa na przemiennie raz maxymalizuje a raz widok normalny (dotyczy okna aplikacji i okna skoroszytu)
Ad 4 Czytałeś artykuł ? Po przeczytaniu też mógłbyś nagrać makro i przypisać je do odpowiedniego makropolecenia. Działa
Ad 5 Pisałem że Cię nie rozumiem oznaczało to żeby rozszerzyć opis działania a nie ponownie cytować pierwotne założenia.

Gra:
Wcześniej działało zgodnie z twoimi założeniami lub z tym co sobie autorzy wymyślili bo nie było założeń.

Obecnie suwak zmienia wielkość przycisku zmieniając jednocześnie poziom trudności (w zakresie od 0 (przycisk największy) do 10 (przycisk najmniejszy) przeskok poziomów co 1).
Podwójne kliknięcie w przycisk zapisuje wyniki: kolejną liczbę , czas, punkty (w zakresie od 0 do 100 (zgodnie z ustawieniami suwaka) przeskok punktów co 1), Poziom (wcześniej o tym nie pisałeś, że miał się zapisywać).

plik roboczy.xlsm
Pobierz Plik ściągnięto 9 raz(y) 37.77 KB

ID posta: 360197 Skopiuj do schowka
 
 
roninq6
forumowicz


Posty: 13
Wysłany: 10-01-2019, 20:36   

keri85, nie odbieraj mojego poprzedniego posta jako jakiegoś ataku, że coś nie działało - po prostu chciałem wszystko uporządkować, a że miałem odpalone 3 różne pliki (niektóre jeszcze w starszej wersji) to coś rzeczywiście mogłem pominąć.

Co do makr, doprecyzowując:

w 2. chodzi tylko o to aby po przejściu do Arkusz 3 z trybu normalnego przechodziło do pełnoekranowego, w starszej wersji excela pamiętam, że było to View -> Fullscreen, w swojej aktualnej wersji tego nie widzę.
w 5. aby po wejściu tylko do arkusza 1 pod ctrl+shift+q było przypisane makro suma_liczb (które sumuje liczby z np. dwóch zaznaczonych komórek) a po wyjściu z arkusza 1 ten skrót klawiszowy już nie działał (czyli ctrl+shift+q działający jedynie w arkuszu 1) - i tu musi być koniecznie użyta funkcja Application.OnKey

Reszta jest super.

Co do gry:
1. Jeśli aktualnie przesunięcie suwaka na pasku przewijania "Poziom trudności" zmienia rozmiar przycisku o takie wartości:
wysokość (w zakresie od 10 do 100)
szerokość (w zakresie od 20 do 200)
To wszystko jest okej, bo tylko o to chodzi.

A co do takich szczegółów to jeśli byłaby możliwość zmiany formatu czasu aby zamiast np. ósmej pokazywał dwudziestą (reszta okej) i aby nie było zerowego poziomu i punktów, a zamiast tego przy maksymalnie łatwym było po prostu "1". (czyli z tego co widzę Punkty od 1 do 100 / poziom od 1 do 10) to byłoby idealnie.
ID posta: 360202 Skopiuj do schowka
 
 
keri85 
Fan Excela


Pomógł: 28 razy
Posty: 60
Wysłany: 11-01-2019, 11:07   

Nie odbieram Twojej wiadomości jako ataku, chodzi mi o to żebyś zrozumiał, że jeżeli czegoś nie opisałeś dokładnie to nie możesz mówić że nie działa, bo działa tylko nie zgodnie z Twoimi założeniami.
Ad 2. Wcześniej się nie zrozumieliśmy, ja miałem na myśli maksymalizacje okna Ty coś innego, teraz powinno działać zgodnie z Twoimi założeniami.
Ad 5. W projekcie nie było makra suma_liczb napisałem takie które sumuje wartości z zaznaczonych komórek i wyświetla wynik w komunikacie. Makro uruchamia się tylko w Arkuszu1 poprzez skrót CTRL+SHIFT+Q
Co do gry, pisałem wcześniej, że wielkość przycisku nawet jak wyliczę go jako 10/100 to i tak samoistnie zmienia się na 9,75/99,75
Punktacja i poziomy - zakresy możesz zmienić w Module1

plik roboczy.xlsm
Pobierz Plik ściągnięto 12 raz(y) 40.61 KB

ID posta: 360224 Skopiuj do schowka
 
 
roninq6
forumowicz


Posty: 13
Wysłany: 11-01-2019, 19:54   

Wielkie dzięki keri85! Wszystko działa jak należy ;-)

Temat można usunąć/zamknąć.
ID posta: 360256 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