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 VBA - Zobrazowanie obramowań

keszybz 26 Lip 2017 07:47 564 8
  • #1 26 Lip 2017 07:47
    keszybz
    Poziom 5  

    Witam,

    mam problem ze zobrazowaniem obramowań ostatniej kolumny - załączony arkusz jest wycięty z większej całości - tak by można było użyć go jako załącznika na Forum.
    Poruszając się po kolumnie np. "B" lub "D" formatowanie warunkowe + kody w arkuszu powodują wyróżnienie szukanych wartości. Wszystko prawie "gra" oprócz tego, że zawsze w ostaniej kolumnie brakuje obramowania. Co zrobiłem nie tak ?

    Pozdrawiam:

    Keszybz

    0 8
  • #2 26 Lip 2017 09:18
    r3w4rd
    Poziom 14  

    Witam
    Masz zablokowane okienka oraz ukrywasz kolumny od D i dalej. Wyłączenie jednego z tych rozwiązań nadal powoduje, że koniec obszaru jest bez obramowania. Dopiero po wyłączeniu obu tych rozwiązań widać, że obramowania są poprawnie wyświetlane.
    Pozdrawiam

    1
  • #3 26 Lip 2017 19:34
    lanzul
    Poziom 25  

    keszybz napisał:
    Wszystko prawie "gra" oprócz tego, że zawsze w ostaniej kolumnie brakuje obramowania. Co zrobiłem nie tak ?

    Pomijając fakt, że w procedurach "Worksheet_Change" i "Worksheet_SelectionChange", zrobiłeś parę rzeczy rzeczywiście "nie tak" ... :D ... to akurat w tym przypadku, "dziwnej" kolumny, nic nie zrobiłeś "nie tak" - zeszyt excelowy jest "uszkodzony". Zrób próbę:
    1. Uruchom zeszyt bez włączania makropoleceń
    2. Odkryj wszystkie kolumny
    3. Przejdź do ostatniej kolumny "IV" i zaznacz począwszy od niej wszystkie kolumny do np. "B" włącznie
    4. Wybierz spod prawego kalwisza myszy opcję "Usuń"
    5. To samo zrób dla wierszy zaznaczając od ostatniego do np. 10

    W nieuszkodzonym zeszycie/pliku cały czas będziesz mieć 256 kolumn i 65536 wierszy, zaś w uszkodzonym "cóś" ci zniknie, co sam zobaczysz.

    Ps: załączony filmik spod ex2k, jak się zachowuje twój plik - w "normalnym" zeszycie takie coś nie występuje - do odtworzenia przez MPC-HC

    https://filmy.elektroda.pl/8_1501069927.mp4

    Dodano po 6 [godziny] 8 [minuty]:

    keszybz napisał:
    Co zrobiłem nie tak ?

    :D :D :D
    keszybz ... już wszystko jasne ... ustaw standardową szerokość kolumny 'G' na wartość inną jak "0" .... :D :D :D :D :D :D :D :D ... i będzie kratkowe formatowanie w niej .... :D :D :D :D :D :D ...
    Sprawdź, czy inne kolumny też tak mają i im też przywróć odpowiednią szerkość, jaką uważasz, a nie "zerową" ... :D :D :D ... to nie jest kwestia "uszkodzonego" pliku excela ... :D :D :D

    Excel VBA - Zobrazowanie obramowań

    1
  • #4 26 Lip 2017 21:59
    keszybz
    Poziom 5  

    Witam,

    wszystko się wyjaśniło - opisywany efekt istnieje tylko w office 2003 na który jestem skazany w pracy, w 2007 czy 2012 wszystko jest OK.
    Pozdrawiam:

    Keszybz

    0
  • #5 26 Lip 2017 23:01
    lanzul
    Poziom 25  

    keszybz napisał:
    ... efekt istnieje tylko w office 2003 ...

    Pytanie skąd się wziął ?
    Domyślnie w 2003 standardowa szerokość kolumn to 8,43 a tu skądś wzięło się 0.
    Sprawdź swoje makra, może one coś gdzieś rzeźbią, samo się to nie zrobiło, a szkoda by było stracić wyniki swojej pracy, przez być może drobnutki błąd w zapisie kodu.

    1
  • #6 27 Lip 2017 08:59
    keszybz
    Poziom 5  

    Witam,

    określiłem szerokość kolumny "IV" i teraz mam obramowania tylko w wierszach gdzie w kolumnach "C" i "D" są wartości większe od zera, w przypadku wartości "0" jest "po staremu.

    Pozdrawiam:

    Keszybz

    0
  • #7 27 Lip 2017 15:40
    lanzul
    Poziom 25  

    keszybz napisał:
    jest "po staremu.

    A zwróciłeś może uwagę, że po wykonaniu takich czynności jak poniżej wszystko jest "w porządku" (?) ... :) ... :

    1. Kolumny w arkuszu wciąż mają nieokreśloną szerokość w opcji Format\Kolumna\Szerokość
    Zaznacz cały arkusz i nadaj kolumnom jakąś wartość - domyślnie to 8,43
    2. W opcji Format\Kolumna\Standardowa szerokość wciąż jest '0' ... nie zmienialeś (?)
    Zaznacz cały arkusz i nadaj kolumnom jakąś wartość - domyślnie to 8,43
    3. Następnie wybierz Okno\Odblokuj okienka

    Teraz, przynajmniej u mnie, wszystko jest w porządku

    1
  • #8 27 Lip 2017 20:34
    r3w4rd
    Poziom 14  

    Lanzul a czym Twoje rady różnią się od moich? Dokładnie o tym samym pisałem. Ukrywane są kolumny od D (w vba jest makro które je ukrywa) czyli mają szerokość "0" oraz zablokowane są okienka. Powoduje to że w arkuszu wstawiana jest pionowa jak i pozioma czarna linia, która zakrywa obramowanie komórek.

    1
  • #9 27 Lip 2017 22:14
    lanzul
    Poziom 25  

    r3w4rd napisał:
    Lanzul a czym Twoje rady różnią się od moich? Dokładnie o tym samym pisałem. Ukrywane są kolumny od D (w vba jest makro które je ukrywa) czyli mają szerokość "0" oraz zablokowane są okienka. Powoduje to że w arkuszu wstawiana jest pionowa jak i pozioma czarna linia, która zakrywa obramowanie komórek.

    Ad 1.
    Jeśli przywróci się wartości liczbowe tym dwóm opcjom szerokości kolumn i usunie blokadę okienka to formatowanie jest widoczne
    https://filmy.elektroda.pl/12_1501187766.mp4

    Ad 2.
    Od kiedy to ukrywanie kolumn polega na "zabieraniu im rozmiaru" ?
    Kod: vba
    Zaloguj się, aby zobaczyć kod

    1