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.

[VBA Excel] Bieżąca zmiana wysokości komórek

asdqwerty 15 Cze 2017 19:19 717 11
  • #1 15 Cze 2017 19:19
    asdqwerty
    Poziom 21  

    Proszę o pomoc w stworzeniu makra, które w czasie rzeczywistym (tj. przy zmianie pozycji z dostępnych na liście) zmieniałoby wysokość komórek nagłówka tabeli. Szerokość wszystkich kolumn ma być jednakowa, np. 15,00. Tekst ma być wyśrodkowany i wyrównany pionowo do środka. Nagłówki są w komórkach B1 do G1 w Arkuszu1. Jak miałoby to wyglądać przedstawiłem w Arkuszu2. Jak widać najdłuższa treść determinuje wysokość komórek.

    Pytanie dodatkowe: czy można poszerzyć listę rozwijaną? Po kliknięciu w "trójkącik" nie widać wszak całości opisu nagłówka.

    0 11
  • #4 15 Cze 2017 20:54
    JRV
    Specjalista - VBA, Excel

    A co to mialo by byc?
    A3.[1:1].Width - swoimy slowy?

    Myślę, że w artykule na temat elementu 'listy', Developer - Insert - Forms
    (nie poprawnosc danych)

    0
  • #5 15 Cze 2017 20:59
    asdqwerty
    Poziom 21  

    JRV napisał:
    A co to mialo by byc?
    A3.[1:1].Width - swoimy slowy?


    A3.[A1:D1].Width :?: U mnie pozycje do listy są w jednym wierszu, a nie w jednej kolumnie (jak w przykładzie na podanej stronie).

    0
  • Pomocny post
    #6 15 Cze 2017 21:19
    JRV
    Specjalista - VBA, Excel

    No dobrze, [a1] - to jasne
    co VBA ma rozumiec na A3?

    Dodano po 3 [minuty]:

    Zrob w 'Immediate'
    ?Activesheet.shapes(1).name

    Dodano po 47 [sekundy]:

    i naprosto
    myShp.Width = 200

    Dodano po 7 [minuty]:

    W Twojem Przyklad1.xls nie "Drop Down 1", tylko "Drop Down 5"

    Dodano po 56 [sekundy]:

    Latwiej naprosto Set myShp = ActiveSheet.Shapes(1)

    0
  • #7 16 Cze 2017 10:17
    asdqwerty
    Poziom 21  

    Czy istnieje możliwość zmiany położenia listy? Chodzi o to, że "trójkącik" zawsze jest po prawej stronie od wyświetlanej listy wyboru. Chciałbym, aby był po lewej stronie (patrz obrazek).

    [VBA Excel] Bieżąca zmiana wysokości komórek

    Oprócz tego chciałbym stworzyć dodatkowe makro, które w czasie rzeczywistym sprawdzałoby ilość pozycji do listy wyboru i ją korygowało (np. w przypadku dodania kolejnej pozycji w komórce Arkusz3!E1 lista powinna wydłużyć się o jedną pozycję). Obecny zakres czterech komórek zdefiniowałem nazwą w sposób ręczny.

    0
  • #9 16 Cze 2017 11:29
    asdqwerty
    Poziom 21  

    Nie akceptuje formuły. Co więcej OFFSET i COUNT to odpowiedniki polskich nazw, więc nie wiem dlaczego je podają.

    0
  • #11 16 Cze 2017 14:15
    asdqwerty
    Poziom 21  

    Dzięki, o to mi chodziło.

    Pozostaje kwestia:

    asdqwerty napisał:
    Czy istnieje możliwość zmiany położenia listy? Chodzi o to, że "trójkącik" zawsze jest po prawej stronie od wyświetlanej listy wyboru. Chciałbym, aby był po lewej stronie (patrz obrazek).

    [VBA Excel] Bieżąca zmiana wysokości komórek

    0
  • #12 16 Cze 2017 14:41
    JRV
    Specjalista - VBA, Excel

    chyba, że to wymyślisz siebie swoj formularz poprawności danych, lub swoj Excel :)

    0