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
Przesunięty przez: bodek
06-07-2014, 20:53
Konkurs #15 - Dodawanie formatowania warunkowego przez VBA
Autor Wiadomość
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 03-11-2011, 15:25   Konkurs #15 - Dodawanie formatowania warunkowego przez VBA

Załączam pliczek z przykładowym kodem dodawania formatowania warunkowego kodem VBA.
Dodawanie jest specyficzne, ponieważ zakresy mają względne zakresy i zmienną w funkcji.

I teraz pytanie. Czemu zakres zamiast przybrać wartość jaką dajemy, to zmienia np na 65500 etc.

Odpowiedzi podawajcie do jutra (piątek 2011-11-04) do godziny 12:00 w południe :mrgreen: .
Nie psujmy innym zabawy więc odpowiedzi proszę wysyłać na PW do mnie :-).

Have fun :-)

EDIT: Sorka podałem zahasłowany plik, bo pozostałość z pracy. Już dobry załącznik.

EDIT2: Okazuje się, że problem jest tylko w excelu 2003. Więc na nim testujcie ;-)

FW a VBA.zip
bez hasła
Pobierz Plik ściągnięto 369 raz(y) 18.44 KB

_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
Ostatnio zmieniony przez Wormsek 04-11-2011, 10:24, w całości zmieniany 1 raz  
ID posta: 135623 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-11-2011, 07:11   

No proszę, najlepszy czas (i na razie jedyny ;-) ) -> leda
Gratulacje :-) .

Do roboty reszta ;-) :mrgreen:
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 135677 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3133 razy
Posty: 10378
Wysłany: 04-11-2011, 09:22   

Worm, z wiadomości na SB wynika, że nie tylko mi przedstawiony w załączniku kod generuje prawidłowe odwołania (widzimy, że przed uruchomieniem makra odwołania w załączonym pliku są nieprawidłowe).
Jak więc mamy badać co jest nie halo?
Choć jak widać ledzie się udało.

Artik
ID posta: 135681 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-11-2011, 09:41   

Dziwne.

Ściągam plik, otwieram, klikam przycisk, sprawdzam odwołania powiedzmy w F7 i widzę:
Kod:
=$E65534>0

Kod:
=ORAZ(NIE(CZY.PUSTA($F65534));DŁ(PODSTAW($F65534;";";""))=DŁ($F65534))


Ja nie wiem jak wy testujecie :-P

PS. bodek też to rozgryzł już ;-)

PS2. Zauważcie, że kod wrzuca 2 formuły do komórki, są to formuły, które są przed zakończeniem działania procedury. Po zakończeniu działania one się zmieniają same z siebie ;-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 135684 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3133 razy
Posty: 10378
Wysłany: 04-11-2011, 10:02   

Dobra, już widzę kiedy nie działa. :-)

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 135687 Skopiuj do schowka
 
 
Zbiniek 
Excel Expert



Zaproszone osoby: 2
Wersja: Win Office 2013
Pomógł: 417 razy
Posty: 2677
Wysłany: 04-11-2011, 10:07   

Kurcze - u mnie cały czas działa :roll:

Dodam, że w firmie na Excelu 2010 wszystko gra, na innych wersjach nie testowałem.

No jestem ciekaw :lol:

przed.jpg
przed zastosowaniem kodu
Plik ściągnięto 40 raz(y) 210.06 KB

po.jpg
po zastosowaniu kodu
Plik ściągnięto 47 raz(y) 195.58 KB

_________________
pozdrawiam
Zbiniek

Pisz po polsku! Jest różnica czy siedzisz w sadzie czy w sądzie. "Język polski jest ą-ę" :-)

Prawdopodobieństwo otrzymania satysfakcjonującej odpowiedzi jest proporcjonalne do właściwego sformułowania problemu (popartego załącznikiem).

Jest załącznik - jest impreza

http://rtfm.killfile.pl/
ID posta: 135688 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3133 razy
Posty: 10378
Wysłany: 04-11-2011, 10:22   

Początkowo testowałem na 2K10, było wszystko OK.
Na 2K3 wariuje.

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 135693 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-11-2011, 10:23   

zbiniek,
Dla komórki F7 masz porównanie komórki F3. A miało być F7. Coś inaczej to wygląda w 10? Czy ja czegoś nie rozumiem? :-P A sprawdziłeś inne komórki po uruchomieniu? :->
Artik,
O no proszę, czyli poprawili to w późniejszych wersjach. Czyli końkurs tylko dla ex2003 ;-)
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 135694 Skopiuj do schowka
 
 
Zbiniek 
Excel Expert



Zaproszone osoby: 2
Wersja: Win Office 2013
Pomógł: 417 razy
Posty: 2677
Wysłany: 04-11-2011, 10:40   

Potwierdzę, że wspomniane wcześniej problemy miałem na Excelu 2003 - taki jeszcze wtedy miałem w firmie (piękne czasy to były :-) )
_________________
pozdrawiam
Zbiniek

Pisz po polsku! Jest różnica czy siedzisz w sadzie czy w sądzie. "Język polski jest ą-ę" :-)

Prawdopodobieństwo otrzymania satysfakcjonującej odpowiedzi jest proporcjonalne do właściwego sformułowania problemu (popartego załącznikiem).

Jest załącznik - jest impreza

http://rtfm.killfile.pl/
ID posta: 135697 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-11-2011, 12:05   

leda napisał/a:
Zauważyłam, że zadeklarowałeś zmienne jako Integer oraz zwróciłam uwagę na liczbę wierszy w Excelu2003 czyli 65536. Zaraz sobie przypomniałam o zawijaniu zakresu w formułach i spostrzegłam, że formuła jest wstawiana od tego miejsca (wiersza) gdzie znajduje się aktywna komórka (stąd to zjawisko zawijania). Zakresy nie będą szalały jeżeli dopiszemy jedną linijkę kodu:
Kod:
With Worksheets("Arkusz1")
        .Cells(w , 1).Activate

Pozdrawiam :)

leda


bodek napisał/a:
W Excelu 2003 format warunkowy typu "formuła jest" powinien być zastosowany do formatowania pojedynczej komórki a następnie dopiero potem przekopiowany na inne komórki w zakresie.
Tutaj, kodem VBA, próbuje się nadać taki format warunkowy dla większej niż jedna liczby komórek co jest, jak powyżej napisałem, niewskazane.
W takim przypadku, bez względu na określenie zakresu do formatowania, Excel jako formatowaną komórkę przyjmuje aktywną (zaznaczoną) zaś komórki w zakresie określonym kodem formatuje z zachowaniem kopiowania odwołań w stosunku do komórki aktywnej.
Rozwiązanie (może mało eleganckie, ale co tam)
Instrukcja .Select po With.. załatwi problem.


:clap dla dociekliwych :-P

Czyli ja dodaje zwykłe:
Kod:
.Cells(1).Select

I po sprawie.

Chociaż to nie zmienia faktu, że mimo, iż dajemy sztywny zakres, to excel wie swoje :-/

Chciałem podpowiedzieć, abyście zaznaczali różne komórki i klikali przycisk, ale wtedy by było za łatwo ;-) .
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 135722 Skopiuj do schowka
 
 
hurgadion 
ExcelSpec



Pomógł: 1080 razy
Posty: 2447
Wysłany: 04-11-2011, 12:10   

Kto wygrał ? :)
_________________
miasto nauki
ID posta: 135724 Skopiuj do schowka
 
 
Wormsek 



Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy
Posty: 5281
Wysłany: 04-11-2011, 12:12   

Jedyne 2 poprawne odpowiedzi na PW podałem jako cytat :-) . leda była pierwsza, więc myślę, że dla niej większe gratulacje się należą :-) . (bodku mam nadzieję, że nie gniewasz się ;-) :mrgreen: )
_________________
Pozdro
Worm

FAQ - Najczęściej zadawane pytania.
JAK KORZYSTAĆ Z SZUKAJKI
Słownik funkcji

Znajdź nas na Facebook'u

A może fajny dodatek do excela?
ID posta: 135727 Skopiuj do schowka
 
 
bodek 


Wersja: Win Office 2019
Pomógł: 994 razy
Posty: 2900
Wysłany: 04-11-2011, 13:11   

Po jakimś czasie przesłałem Wormskowi, na pw korektę interepretacji o następującej treści:

Jak sobie o tym myślę, to lekko jest to (co napisałem) naciągane. Musiałbym potestować żeby uzasadnić lub zmienić uzasadnienie.
Niewątpliwie formatuje (domyślnie nie faktycznie) lewy górny róg zaznaczonego zakresu a potem przenosi odwołania w FW na obszar wskazany kodem. Dlaczego - wymaga chyba głebszej analizy niż to co napisałem.

Nie mam teraz czasu na testy dla innych przypadków.

Oczywiście leda była pierwsza i to jak najbardziej jej :tak należą się wszelkie zaszczyty i pochwały.
_________________
Szkolenia z Excela, Power Query, Power Pivot, wizualizacje danych w Excelu, szkolenia online
ID posta: 135741 Skopiuj do schowka
 
 
leda 
ExcelSpec



Pomogła: 132 razy
Posty: 267
Wysłany: 05-11-2011, 16:24   

Z tymi zaszczytami i pochwałami dla mnie to przesada. Ja tylko zaobserwowałam zachodzące zależności. Niestety moja wiedza jest tak niewielka, że nie jestem wstanie, w przeciwieństwie do bodka, zinterpretować tego zjawiska i go sklasyfikować przez co moje rozwiązanie jest tylko połowiczne. Już sam fakt, że mogłam uczestniczyć z Wami w tym konkursie jest dla mnie nagrodą i z tego się niezmiernie cieszę.

Pozdrawiam :)

leda
_________________
LEDA
ID posta: 135859 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3133 razy
Posty: 10378
Wysłany: 05-11-2011, 20:22   

leda napisał/a:
nie jestem w stanie, (...), zinterpretować tego zjawiska i go sklasyfikować
Najważniejsze, że szare komórki pobudziłaś do działania. Reszta się wyjaśniła dzięki bodkowi i Wormskowi.

Przypomnę hasło z SB:
"wiosłuj piękna, wiosłuj..." :-)

Artik
ID posta: 135883 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