logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] VBA Excel. Automatyczne zwiększanie wartość komórki po kliknięciu buttona

psgraf 02 Lis 2022 11:27 660 11
REKLAMA
  • #1 20264103
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    Czy istnieje możliwość dodawania wartości 23% komórki B5 po wciśnięciu buttona?
    Chodzi o to, że jeśli użytkownik wprowadzi kwotę netto do komórki B5, to po wciśnięciu buttona zwiększyła się wartość o 23% w tej komórce, czyli B5?
    Załączniki:
    • kalk vat.zip (9.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #3 20264417
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Pytanie chyba niezbyt przemyślane, a propozycja rozwiązania prosta, ale dość ryzykowna. A co będzie jak użytkownik kliknie dwa lub trzy razy? Nie ma żadnego śladu, co było pierwotnie w komórce, ani możliwości cofnięcia operacji.
    Poza tym, czy w arkuszu będzie tylko jedna taka cena? Jeśli wiecej, to przy każdej będzie przycisk?
    Moim zdaniem lepszym rozwiązaniem jest zrobienie osobnych kolumn na cenę netto i brutto i uzupełnianie makrem brakującej wartości (o ile obie ceny są potrzebne).
  • #4 20264436
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    Maciej Gonet napisał:
    Pytanie chyba niezbyt przemyślane, a propozycja rozwiązania prosta, ale dość ryzykowna. A co będzie jak użytkownik kliknie dwa lub trzy razy? Nie ma żadnego śladu, co było pierwotnie w komórce, ani możliwości cofnięcia operacji.
    Poza tym, czy w arkuszu będzie tylko jedna taka cena? Jeśli wiecej, to przy każdej będzie przycisk?
    Moim zdaniem lepszym rozwiązaniem jest zrobienie osobnych kolumn na cenę netto i brutto i uzupełnianie makrem brakującej wartości (o ile obie ceny są potrzebne).


    Racja. Osobno netto/brutto nie przejdzie. To do mojego dość zaawansowanego formularza musi być. Nie dodam tam następnej komórki już na coś takiego.

    A istnieje możliwość zablokowania kolejnego kliknięcia? Żeby nie pozwalał więcej razy kliknąć, jak tylko raz?
    Aczkolwiek, to jest taka sytuacja, że jak ktoś naklika więcej, to zwyczajnie wydruk się nie będzie zgadzać i to od razu wyjdzie w praniu, więc to nie implikuje jakichś większych problemów.
  • REKLAMA
  • Pomocny post
    #5 20264559
    OJM
    Poziom 17  
    Posty: 133
    Pomógł: 29
    Ocena: 38
    psgraf napisał:

    A istnieje możliwość zablokowania kolejnego kliknięcia? Żeby nie pozwalał więcej razy kliknąć, jak tylko raz?
    Już kiedyś Ci proponowałem w innym temacie, jak wyróżnić komórki, po dodaniu vat-u zmień w "niewidoczny" sposób kolor: tła, czcionki, itp.
    Dla czarnej czcionki
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #6 20264584
    PRL
    Poziom 41  
    Posty: 6944
    Pomógł: 953
    Ocena: 905
    W załączniku.
    Załączniki:
    • kalk vat.zip (16.15 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #7 20265724
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    PRL napisał:
    W załączniku.


    Dziękuję bardzo. To jest super, tylko próbując to zaimplementować do mojego arkusza, uświadomiłem sobie, że mam w sumie 15 pozycji (osób), które pojawiają się w zależności od wprowadzenia ich ilości (wpisując w określonej komórce liczbę mam tyle właśnie pól do wypełnienia. I teraz zrodził mi się problem, że musiałbym mieć 15 buttonów, które się pojawiają lub znikają... Pomijam pracochłonność, ale wizualnie jakoś mi się to nie widzi.
    Kurcze.
    A może coś takiego, jak w załączeniu? Zamiast buttona, po prostu wybierane z listy rozwijanej? Ewentualnie zamiast listy, mógłby być checkbox.
    Załączniki:
    • Zeszyt2.zip (9.43 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #8 20265755
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Ten VAT, to ma dotyczyć łącznej kwoty (w przykładzie 600 zł), czy tylko wynagrodzenia (500 zł)?
    Gdzie będą te inne osoby (obok, poniżej?), bo nie widać z tego przykładu wyglądu całego arkusza.
    Poza tym, po co te komórki w kolumnach D:F są scalone? Czy ma to jakieś uzasadnienie? Scaleń należy unikać, jeśli w arkuszu coś się dzieje, bo one często powodują problemy. W tym przypadku jedną wybraną kolumnę można poszerzyć, by wszystko się zmieściło.
  • #9 20265842
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    Maciej Gonet napisał:
    Ten VAT, to ma dotyczyć łącznej kwoty (w przykładzie 600 zł), czy tylko wynagrodzenia (500 zł)?
    Gdzie będą te inne osoby (obok, poniżej?), bo nie widać z tego przykładu wyglądu całego arkusza.
    Poza tym, po co te komórki w kolumnach D:F są scalone? Czy ma to jakieś uzasadnienie? Scaleń należy unikać, jeśli w arkuszu coś się dzieje, bo one często powodują problemy. W tym przypadku jedną wybraną kolumnę można poszerzyć, by wszystko się zmieściło.


    Noooo ok. Przesyłam znowu te moje wypociny. :-(
    Ten plik zacząłem tworzyć dawno temu, mocno ewoluował w tym czasie. Wcześniej nie wiedziałem, że będzie on tak bardzo rozbudowany, więc śmiało scalałem. Teraz ma tyle funkcji itp., że żeby uniknąć scalania musiałbym to na nowo zrobić.
    Niemniej choć jest w nim spory bałagan, to funkcjonalność jest właściwa i bardzo pomaga nam w pracy.
    To, na czym mi teraz zależy to:
    W momencie gdy komórka D11 będzie zawierała "obrońca/pełnomocnik z urzędu" żeby jakimś magicznym kliknięciem użytkownik miał możliwość zwiększenia kwoty z komórki D53 o 23% (wiem, może to policzyć na kalkulatorku, jednak chodzi mi o maksymalne uproszczenie tego, czyli klik obok kwoty i jest 23% więcej).

    Co ważne, po wpisaniu w komórce D41 liczny w zakresie od 1 do 15 pojawią się dodatkowe wiersze dla pozostałych osób... i analogicznie, żeby można było zwiększyć magicznym kliknięciem D74, D95 itd o 23%.

    Jest jeszcze jedna rzecz, na której mi zależy. Mianowicie zakres D53:D58 musi mieć wpisane zero lub kwotę. Puste pola nie mogą pozwalać na wydruki itd. Póki co buttony są blokowane zależnościami: że jak coś mi tam zwraca np 1 to button wydruku nie pokazuje się (pokazuje się tylko gdy suma zależności zwraca zero).
    Muszę dodać do tych zależności to, że użytkownik w jakiś sposób zmuszony będzie do wprowadzenia zera lub kwoty w zakresie D53-D58 oraz D74-D79 itd... uwzględniając to, czy te wiersze są pokazane lub nie (jeśli nie, to zasada uzupełnienia zakresów musi być wówczas zignorowana).
    Nagmatwałem, co?

    PS. Hasło ochrony to 123123, zresztą widoczne w kodzie.
    PS2. W pozostałych wierszach (dla pozostałych osób od osoby 2 do 15 chyba mi się teraz wysypało autosumowanie kwot, ale to pikuś, bo to taki plik roboczy znowu).
    Załączniki:
    • plik roboczy.zip (320.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #10 20265915
    Maciej Gonet
    Specjalista - VBA, Excel
    Posty: 2207
    Pomógł: 824
    Ocena: 481
    Pozostańmy przy starym pliku, bo nowy jest tak pogmatwany, że trudno się przez niego przebić. W ogóle nie widzę, gdzie są sumowane te pozycje cząstkowe.

    Zakładam, że wystarczy mnożyć przez VAT te pozycje gdzie jest suma, czyli pozycje zawierające formuły. Widziałbym to tak, że po dwukliku na taką komórkę jest ona mnożona przez 1,23 i za pomocą formatowania uzyskuje się informację o tym. Ponowny dwuklik usuwa to mnożenie i można wrócić do kwoty netto.

    Patrz załącznik.
    Załączniki:
    • Suma_zVAT.xls (42 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 20267095
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    @Maciej Gonet Faajne to. Ostatecznie zrobiłem to na zasadzie kilku 'jeżeli', ale wykorzystam ten kod też, do wyświetlania na ekranie dla użytkownika, żeby mieć pewność, ostatecznej kwoty na wydruku.
  • #12 20267097
    psgraf
    Poziom 7  
    Posty: 34
    Ocena: 1
    Częściowo z pomocą użytkowników.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik pyta o możliwość automatycznego zwiększania wartości komórki B5 o 23% po kliknięciu przycisku w Excelu. Odpowiedzi sugerują użycie makra VBA, które mnoży wartość w B5 przez 1.23. Pojawiają się również obawy dotyczące wielokrotnego klikania, co może prowadzić do błędów, oraz propozycje wprowadzenia osobnych kolumn na ceny netto i brutto. Użytkownik rozważa również alternatywne rozwiązania, takie jak użycie list rozwijanych lub checkboxów zamiast wielu przycisków. Dodatkowo, dyskusja dotyczy problemów z formatowaniem i scalaniem komórek w arkuszu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA