Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[VBA] Makro, kopiowanie kolorów

Ewa2301 11 Feb 2011 21:19 2944 9
  • #1
    Ewa2301
    Level 9  
    Witam wszystkich;

    Mam pewien problem jeżeli chodzi o moje makro:
    Działa następująco, plik ma zawarte 3 arkusze...
    1-zawiera słowa kluczowe,które pobiera z ark2 i miejsce do filtracji danych
    2-baza danych (każdy dział będzie miał swój kolor,dla przykładu są dwa)
    3-ostateczne zamówienie (tutaj mam kilka pomysłów jak to rozwiązać jednak nie potrafię sobie poradzić z kodem), ale głownie chodzi o segregacje danych...
    Każdy dział ma swój kolor,i pod każdym działem wklejane są wybrane elementy z ark1.Najlepszym rozwiązaniem byłoby,żeby zamiast ark3 zapisywało mi w nowym osobnym pliku...

    Bardziej czytelne będzie jak wyśle plik,z załączona instrukcją

    Poprawiłem tytuł. - arnoldziq
  • #2
    marcinj12
    Level 40  
    Jeżeli chodzi o kopiowanie kolorów, to najpierw na początku porządnie wyczyść arkusz celu z kolorów:
    Code: vb
    Log in, to see the code

    Sam kolor jest zaszyty w zmiennej Range(...).Interior.ColorIndex, zatem kopiuj go razem z danymi w ten sposób:
    Code: vb
    Log in, to see the code


    Kopiowanie za pomocą klawisza uzyskasz, jeżeli w module utworzysz publiczną procedurę:
    Code: vb
    Log in, to see the code

    potem w Excelu wejdziesz zieloną strzałkę uruchamiającą makro, wybierzesz makro Kopiuj, opcje i tam jest klawisz skrótu.

    Jeżeli chodzi o kopiowanie, to skoro wiesz już gdzie jest przechowywana informacja o kolorze, stwórz sobie pusty arkusz - szablon, wstaw w nim wszystkie działy z odpowiednimi kolorami w wierszu 1, a potem sprawdzaj kopiowany indeks w ten deseń:
    Code: vb
    Log in, to see the code

    Oczywiście trzeba by dodać jakiś kod sprawdzający, czy znaleziono pozycję docelową.

    Usuwanie wiersza ze zmianą pozycji w górę - użyj rejestratora makr podczas usuwania wiersza i podejrzyj kod.
  • #3
    Ewa2301
    Level 9  
    Tylko problem w tym,że przenosząc z arkusza2 do arkusza1 zmieniają się kolory i nie każdy wyraz ma tło takie jak w bazie... Może źle zapisałem kod. Prosiłbym o prawidłowe i pełne zapisanie kodu, ponieważ nie mogę sobie z tym poradzić ;/ Dziękuje i pozdrawiam
  • #5
    Ewa2301
    Level 9  
    Dzięki bardzo mi ułatwiłeś pracę:) Jeszcze jeden mały problem... W tym przykładzie,który podałeś jest "Boczek" w hasłach kopiowanych jedno nie ma tła... A boję się,że jeżeli będzie więcej haseł w bazie nie połapie się w działach,jak zacznie mi gubić kolory ;/

    Dodano po 4 [minuty]:

    Przepraszam,jednak wszystko ok :P Po prostu słowo,które sie wyświetliło nie miało przydzielonego koloru w bazie:P Jeszcze raz wielkie dzięki, pozdrawiam;)
  • #6
    marcinj12
    Level 40  
    Przykład masz tylko dla 4 pierwszych działów. Musisz "pokolorować" pozostałe w bazie oraz dodać odpowiadające im kolorami kolumny w Arkuszu3. :)
  • #7
    Ewa2301
    Level 9  
    Tak wiem;) Już sobie wszystko ułożę jak należy:D Dziękuje i pozdrawiam.
  • #8
    Ewa2301
    Level 9  
    A mam jeszcze taka małą prośbę, chciałbym aby w arkuszu3 dopisać dodatkowo po dwie kolumny do każdego z działów... Ilość i Cena łącznie. Gdy dodaje te dwie kolumny np w pierwszym dziale to już do pozostałych działów system nie przenosi... Proszę o rozwiązanie. Dziękuje
  • Helpful post
    #9
    marcinj12
    Level 40  
    Bo jesli dodasz dwie kolumny do każdego działu, to w makrze Kopiuj() musisz poprawić krok wyszukiwania z 4 na 6:
    Code: vb
    Log in, to see the code

    i, ewentualnie, tam gdzie teraz kopiujesz komórki od C do E zwiększyć od C do G i kol+5:
    Code: vb
    Log in, to see the code
  • #10
    Ewa2301
    Level 9  
    Działa bez zarzutów, Dziekuję i pozdrawiam ;)