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 .
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
|
|
|
 |
|
|
|
Wormsek


Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy Posty: 5281
|
|
 | ID posta:
135677
|
|
|
 |
|
|
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
|
|
|
 |
|
|
Wormsek


Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy Posty: 5281
|
|
 | ID posta:
135684
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
Dodam, że w firmie na Excelu 2010 wszystko gra, na innych wersjach nie testowałem.
No jestem ciekaw
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
Wormsek


Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy Posty: 5281
|
|
 | ID posta:
135694
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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. |
dla dociekliwych
Czyli ja dodaje zwykłe:
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
|
|
|
 |
|
|
hurgadion
ExcelSpec


Pomógł: 1080 razy Posty: 2447
|
Wysłany: 04-11-2011, 12:10
|
|
|
Kto wygrał ? :) |
_________________ miasto nauki |
|
 | ID posta:
135724
|
|
|
 |
|
|
Wormsek


Zaproszone osoby: 2
Wersja: Win Office 2016
Pomógł: 919 razy Posty: 5281
|
|
 | ID posta:
135727
|
|
|
 |
|
|
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 należą się wszelkie zaszczyty i pochwały. |
_________________ Szkolenia z Excela, Power Query, Power Pivot, wizualizacje danych w Excelu, szkolenia online |
|
 | ID posta:
135741
|
|
|
 |
|
|
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
|
|
|
 |
|
|
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
|
|
|
 |
|
|
|
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
|
 |
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
|