Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Excel - Excel VBA - pisanie makra - formatowanie i pętle.

felenk 22 Kwi 2014 14:55 870 0
  • #1 22 Kwi 2014 14:55
    felenk
    Poziom 1  

    Witam, mam mały problem z rozgryzieniem makra.

    Docelowe działanie:

    Komórki B5 i B6 decydują o ilości produktów oraz ilości elementów z których się będzie składał każdy z elementów (w tej wersji każdy z produktów składa się z tej samej liczby elementów). Po wpisaniu odpowiednich wartości i nacisnięciu przycisku GENERUJ (jeszcze go nie ma) tworzony jest kosztorys jak w załączniku. Przykład jest dla produktów 2 i elementów 3. Pola oznaczone na czerwono są dowolnie modyfikowane.

    Komórki D11 i D12 (plus kolejne w kolumnie D jeśli jest więcej produktów) w zależności od ilości produktów decydują jakie jest formatowanie każdego z produktów, czyli zmiana z USD na PLN w D11 powinno automatycznie zmieniać formatowanie dla komórek : C11, C19-C23 (wartość zależna od liczby elementów) i analogicznie kolumna E19-e23 (wartość zależna od liczby elementów) oraz suma E24 (wartość zależna od liczby elementów)

    Docelowe formatowanie: walutowe, PLN, EUR, USD:

    Selection.NumberFormat = "[$€-2] #,##0" dla EUR
    Selection.NumberFormat = "[$$-409]#,##0" dla USD
    Selection.NumberFormat = "#,##0 $" dla PLN

    Zakres pomocy:
    1. Zmiana formatowania komórek w zależności od ilości produktów i elementów.

    W związku z faktem, że zmiana waluty w komórkach D11,D12 itd. ma odbywać się PO generowaniu i po uzupełnieniu pól z wierszy 1.1, 1.2 2.1, 2.2 itd proces ten powinien wykrywać także możliwość dodania wierszy - kolejnych elementów w którymkolwiek z produktów.

    Pętle zatem zależne od ilości produktów i ilości elementów nie mogą mieć miejsca.

    Poszukuję rozwiązania do wybierania zakresu komórek, najlepiej poprzez wyszukiwanie wierszy dla Produktu X --> wybrane są wiersze w których są komórki X.1 X.2 aż do ostatniej wypełnionej czyli X.Y oraz dodatkowe ewentualnie ręcznie dodane wiersze X.Y+1 itd. Dodatkowo wybrana by była komórka z 1 linii niżej i (kolumna E - oznaczająca Sumę).

    2. Dodatkowo oprócz wymaganej funkcji, prośba o informację gdzie ją umieścić? Private Sub Worksheet_SelectionChange(ByVal Target As Range) ?

    Dodatkowe informacje:
    1. Proces generowania już mam rozplanowany więc nie jest on zakresem wymaganym.
    2. Kursy walut są wpisywane ręcznie - nie potrzeba aktualizacji automatycznej :)
    3. W związku z faktem, że nie znam opcji wyszukiwanie pionowe, poziome itd proszę się nie śmiać i wytyczać palcami.
    4. Lwia część makr do tego arkusza jest tworzona poprzez odczyt zarejestrowanych makr - nagrywam działanie i potem analizuję.

 
Black Friday do -15%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
Ferguson