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: 76147 Skopiuj do schowka 2 poziomowe dynamiczne Context Menu
Autor Wiadomość
Tajan


Pomógł: 5548 razy
Posty: 12042
Wysłany: 07-10-2024, 07:47   

kloszuu napisał/a:
tak aby nie bral pod uwage wielosci liter.

Wystarczy po:
Kod:
With CreateObject("System.Collections.ArrayList")

wstawić:
Kod:
.CompareMode = vbTextCompare
ID posta: 437244 Skopiuj do schowka
 
 
kloszuu
Stały bywalec Excelforum


Pomógł: 1 raz
Posty: 253
Wysłany: 07-10-2024, 19:58   

@ple4 dzieki za pomoc, masz racje ze warunki na jaich ma dzialc procedura powinny byc jasno okreslene na poczatku bo inaczej pozniej wychodza rozne dziwne kombinacje, natomiast nie zawsze jestesmy wstanie wszysto przewidziec.

Nawet obecnie zaproponowany kod ma jedna wada z ktora udalo mi sie uprac samemu i odnosi sie ona do tej czesci kodu:
Kod:

If b(j) Like a(i) & "*" Then

w momencie gdy jedna z kadegorii bedzie czescia drugiej, czysto hipotetyczny przyklad:
pierwsza z kadegorii "Pieczywo" a druga "Piecz" wowczas procedura nie bedzie juz dziala prawidlowo. Zeby uporac sie z tym problemem powyzsza linie kodu zamienilem na:
Kod:

If Split(b(j), ",")(0) = a(i) Then


@Tajan staralem sie dodac zaproponowany przez ciebie kod do orginalnego kodu napisanego przez ple4 natomiast ta zmiana powoduje wystapienie bledu wiec chyba nie do konca udaloby sie poprawic te procedure w tak prosty sposob albo ja robie cos nie do konca poprawnie.
Kod:

With CreateObject("System.Collections.ArrayList")
      .CompareMode = vbTextCompare


Tak czy inaczej jestem Wam bardzo wdzieczny za czas ktory poswieciliscie na rozwiazanie mojego problemu. Jeszcze raz dzieki.


Pozdrawiam

Piotrek
ID posta: 437253 Skopiuj do schowka
 
 
Tajan


Pomógł: 5548 razy
Posty: 12042
Wysłany: 07-10-2024, 21:12   

kloszuu napisał/a:
staralem sie dodac zaproponowany przez ciebie kod do orginalnego kodu napisanego przez ple4 natomiast ta zmiana powoduje wystapienie bledu

Niestety, ale to ja pokręciłem. Pomyliłem obiekt ArrayList z obiektem Dictionary. Zatem - sorry za wprowadzenie w błąd!
ID posta: 437255 Skopiuj do schowka
 
 
ple4
ExcelSpec


Wersja: Win Office 2003
Pomógł: 128 razy
Posty: 518
Wysłany: 08-10-2024, 14:44   

kloszuu napisał/a:
nie zawsze jestesmy wstanie wszysto przewidziec ...
...
... gdy jedna z kadegorii bedzie czescia drugiej, czysto hipotetyczny przyklad:
pierwsza z kadegorii "Pieczywo" a druga "Piecz" wowczas procedura nie bedzie juz dziala prawidlowo

W tej konkretnej sytuacji jesteś .... i właśnie co chwila "stopniujesz" i wymyślasz kolejne scenariusze ... dorzucając się tu jeszcze, można by powiedzieć także, że procedura nie działa prawidłowo, bo gdy wpiszemy "Nabiał" oraz "Nabial" to rozróżnia, to jako dwie różne kategorie, to samo przy "Bułkach" i "Bulkach", a nawet "Bółkach/Bólkach/Bolkah/Bółkah", itd. ... w ten sposób można ciągnąć prawie w nieskończoność ... a spójrz na swój wpis inicjujący ... :->
Proponuję, aby "użytkownik" po prostu wpisywał "Pieczywo" zamiast "Piecz", czyli po prostu nie sabotował swojej własnej pracy ... :->
ID posta: 437258 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 365
Pomógł: 3545 razy
Posty: 10461
Wysłany: 08-10-2024, 15:00   

W przypadku takiej kategoryzacji lepiej zrobić listę wyboru i nie pozwolić na wpisywanie czegokolwiek z ręki, bo wtedy tych błędów nie da się w ogóle opanować.
ID posta: 437259 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.wip.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