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

Jak zrobić makra w excelu?

t_m_ 18 Jul 2006 10:39 2322 5
  • #1
    t_m_
    Level 12  
    Witam
    Mam pytanie o makra...
    Mozna zrobic makra, jedno takie zeby ukrywalo dane kolumny, a drugie zeby odkrywalo wskazane kolumny.
    Jesli jest taka mozliwosc to prosze o pomoc :)
    Z gory dziekujem i pozdrawiam.
  • #2
    wddf
    Level 18  
    jeżeli chcesz ukryć zawsze te same kolumny, to włączasz "zarejestruj makro" i w czasie nagrywania zaznaczasz kolumne --> prawym --> ukryj, wyłączasz nagrywanie i masz makro, powinno wygladać tak dla kolumny F:

    
     Columns("F:F").Select
        Selection.EntireColumn.Hidden = True
    


    jeżeli maja to być wskazane przez ciebie kolumny to robisz jak poprzednio, tyle że w narzedzia-->makra-->edycja usuwasz pierwsza linijkę wiec zostaje:
    
     Selection.EntireColumn.Hidden = True
    

    w takim przypadku ukrywasz kolumne gdzie aktualnie stoi kursow (wystarczy ze stoi w jakiejś komorce)

    makro odznaczajace jest dokladnie odwrotne, dla stałych:
    
    Columns("E:G").Select
        Selection.EntireColumn.Hidden = False
    


    jeżeli chcesz wskazywać ktore odsłonić, to musisz zaznaczyć dwie sasiednie kolumny, np.: odkryć kolumne F, musisz zaznaczyć dwie komorki w kolumnach E i G, które są sąsiadujące, a kod
    
        Selection.EntireColumn.Hidden = False
    

    no wreszcie zeby niezaznaczac dwuch tylko jedną to musisz dodatkowo zmodyfikować makro, przyznam szczerze że niemam ochoty wracać do VBA, wiec powiem jak to zrobic zamiast kodu gotowego:
    - bierzesz aktualnie zaznaczaną,
    - dodajesz do niej 1, masz dwie kolumny (trzeba format reprezentacji cyfrowej)
    - skladasz do kupy zaznaczenie (pierwsza:pierwsza+1) i dodajesz znana juz linijke odsłaniającą
    mam nadzieje ze to o takie ukrywanie ci chodziło, pozdro
  • #3
    t_m_
    Level 12  
    A jak bym chcial w zaleznosci od zawartosci komorki A1... np. jak w A1 jest 1 to odslania kolumny D E F, albo w A1 jest 2 to odslania kolumny G H I itd. ?? :)
  • Helpful post
    #4
    wddf
    Level 18  
    to wtedy mozesz pokombinowac w ten sposób:
    
    If Range("A1").Value = 1 Then
        Columns("C:G").Select 
        Selection.EntireColumn.Hidden = False
    End If
    

    i tak dla 2 inne wartości itd, możesz też pokombinować że 1 odsłania DEF i jednocześnie zasłania GHI, 2 na odwrót, wszystko zależy od tego co ci jest potrzebne, pozdro:)
  • #5
    t_m_
    Level 12  
    I gitara pokombinuje, jak co to jeszcze bede pytal.
    Dzieki wielkie z pomoc.. ale jak co to jeszcze popytam bo wiem ze beda problemy hehe
    Masz u mnie punkty...bo nagroda byc musi.
    Pozdrawiam i raz jeszcze dziex.
  • #6
    t_m_
    Level 12  
    Oki narazie zamykam topic..co chcialem to zrobilem wddf bardzo mi pomogles.
    Pozdro :)