Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - kłopot z blokowaniem wklejania i wstawianiem - makro

o-w-c-a 18 Lut 2012 16:27 4948 10
  • #1 18 Lut 2012 16:27
    o-w-c-a
    Poziom 13  

    Witam.

    Od dłuższego czasu szukam i nie znalazłem nic co w pełni spełniałoby moje oczekiwania.
    Poszukuję opcji (pewnie makra) które działałoby i blokowało możliwość wklejania wyciętej komórki/komórek. O ile to możliwe najlepiej było by aby w chwili wyboru opcji "wytnij" zadziałała opcja "kopiuj" i wartości z kolumn zostały by skopiowane i wstawione "jako wartości" (bez zmian w formatowaniu). Chciałbym aby w wstawianie zostało zastąpione zawsze na formę "jako wartości", ponieważ na pliku na którym pracuje kilka osób często dochodzi do przypadkowego przeklejenia formatowania...
    Również opcja pod prawym przyciskiem myszki żeby miała taką samą funkcję i jeśli się da to w obrębie konkretnego arkusza.

    Druga sprawa dotyczy wstawiania konkretnych wartości do konkretnych komórek na podstawie informacji z innych komórek (w której podawany jest nr wiersza) i drugiej komórki (w której jest nr kolumny).
    Potrzebuje aby po wstawieniu do kilku komórek nazw ceny tych elementów przyporządkowywał na podstawie pomocniczych informacji (nr wiersza i kolumny) - te elementy już mi działają.

    W miarę możliwości proszę o przykłady ponieważ na tworzeniu makr nie znam się za bardzo i tylko nieznacznie umiem je poprawiać.

    Z góry dzięki
    Pozdrawiam

    0 10
  • Pomocny post
    #2 19 Lut 2012 02:28
    walek33
    Poziom 28  

    Nie wiem, czy akurat tego szukasz, ale...

    Kod: vb
    Zaloguj się, aby zobaczyć kod
    ... ten kawałek kodu uruchamiany w momencie otwarcia pliku trochę utrudni operacje wycinania i wklejania. Trzeba tylko pamiętać, żeby przed zamknięciem pliku zresetować modyfikowane paski.
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 19 Lut 2012 14:56
    o-w-c-a
    Poziom 13  

    Dzięki wielkie za propozycje.
    W praktyce dalej da się myszką, lub przy użyciu przycisków offica dalej źle wkleić nie jako wartości.
    czy wogóle możliwe jest stałe przypisanie działania przycisków w obrębie pracy z tym plikiem?
    Jeszcze pytanie czy ten kod aktywuje się automatycznie z uruchomieniem pliku w którym to makro będzie?
    Opcja wyłączenia jego przy wyłączeniu pliku jest możliwa?
    Znalazłem coś takiego:

    Code:
    [syntax=vb]Private Sub Workbook_BeforeClose(Cancel As Boolean)[/syntax]
    i czy jak wstawię te moduł dezaktywacji tego co sugerujesz będzie ok?

    I drugie pytanie o możliwość wklejania wartości z jednej komórki do drugiej na podstawie otrzymanych "namiarów" na komórkę.
    Jako wartości będę miał:
    towar1 - dzięki porównaniu nazw będę wiedział że ten towar1 jest 30 na liście więc nr wiersza jest 30 i teraz towar1 otrzymaliśmy dnia np 10 i potrzeba żeby koszt zakupy tego towaru wpisał w komórkę o wierszu odczytanym przy wpisanej nazwie - tzn 30, 10. W jednym dniu może być wprowadzanych w postaci listy powiedzmy 10 towarów. Da rade coś takiego stworzyć co po naciśnięciu przycisku wpisywało by dane w właściwe komórki?

    0
  • Pomocny post
    #4 19 Lut 2012 15:20
    walek33
    Poziom 28  

    Cytat:
    ...czy ten kod aktywuje się automatycznie z uruchomieniem pliku w którym to makro będzie?...

    To zależy od Ciebie. Ja zrobiłbym to na zasadzie umieszczenia tych trzech procedur w module i odwołań do nich w ThisWorkbook:
    Kod: vb
    Zaloguj się, aby zobaczyć kod
    Wtedy przy otwieraniu pliku włączy blokadę a przy zamykaniu wyłączy. Nie jest to jednak zabezpieczone przed użytkownikami posiadającymi choć minimalną wiedzę o aplikacji. Dla tych należałoby zablokować możliwość:
    - uruchomienia bez makro
    - modyfikacji pasków narzędzi
    - modyfikacji kodu VBA

    1
  • #5 19 Lut 2012 16:33
    o-w-c-a
    Poziom 13  

    Świadomej złośliwości i wyłączenia opcji nie zakładam jeśli działanie po zmianach nie wpłynie bardzo na utrudnienie użytkowania pliku.
    Dlatego najlepszym w moim mniemaniu rozwiązaniem było by stałe przypisanie zamiast opcji wklej funki wklej jako wartości, a opcji wytnij jako kopiuj... - tylko nie wiem czy jest to realne i żeby wszystkie elementy miały takie funkcje (przyciski, menu pod prawym przyciskiem myszy, czy skróty klawiatury)...

    0
  • #6 19 Lut 2012 18:12
    walek33
    Poziom 28  

    A wypróbowałeś już moje rozwiązanie? W założeniach jest zablokowanie kopiowania i wklejania przez skróty klawiaturowe ctr x, ctr v i usunięcie tych opcji z menu i paska edycji.

    0
  • #7 20 Lut 2012 01:23
    o-w-c-a
    Poziom 13  

    Wypróbowałem i ono ogranicza działanie tylko skrótów klawiatury, a jeden z kolegów używa myszki i klika. W Office 2010 niestety przyciski w menu tez występują więc tylko wyświetlany jest monit w trakcie użycia Ctrl x i v.

    Dzięki za pomysł jednak jak wspomniałem o ile to możliwe zależy mi na szerszym rozwiązaniu...

    0
  • #8 21 Lut 2012 02:37
    walek33
    Poziom 28  

    Cytat:
    W Office 2010 niestety przyciski w menu tez występują
    To makro było pisane pod Office 97. :cry: W nim wszystkie przyciski wycinania i wklejania znikają. Myślę, że przy odrobinie chęci da się to podrasować na 2010, ale to już może ktoś inny spróbuje?

    0
  • Pomocny post
    #9 21 Lut 2012 19:07
    Aldrin
    Poziom 22  

    Może więc takie rozwiązanie jak w załączniku?
    Menu kontekstowe PPM jest zablokowane, ale jeśli nawet ktoś je wywoła, to nie może wykorzystać wklejania:

    Excel - kłopot z blokowaniem wklejania i wstawianiem - makro


    Na wstążce zablokowane są funkcje przycisków:
    Excel - kłopot z blokowaniem wklejania i wstawianiem - makro

    Cały czas jednak mam wrażenie, że takie całkowite blokowanie nie sprzyja wygodnej pracy z arkuszem.

    3
  • #10 21 Lut 2012 22:17
    o-w-c-a
    Poziom 13  

    Kurde - takiego kombajnu nie spodziewałem się...

    Super, ale jest tak rozbudowany że przeszedł moje oczekiwania dlatego chciałem zapytać - czy byłby kłopot dodać opcję blokowania wybranych arkuszy?

    Sprawa druga (wklejanie danych w miejsca które chciałem) mam już zrobione więc ta część pytania nieaktualna.

    0
  • #11 29 Lut 2012 14:19
    o-w-c-a
    Poziom 13  

    Dzięki Wam wielkie za okazaną pomoc.
    Fajnie że chciało Wam się pobawić z tym o co prosiłem, szkoda że nie działa na wybrane arkusze, ale nie można mieć wszystkiego... ;)

    Uznaje za rozwiązane w 90% przekazuje słowa uznania i zamykam.
    Pozdrawiam

    0