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

excel - lista rozwijana, jak przypisac indywidualne wartości

17 Lis 2008 20:40 15659 19
  • Poziom 11  
    chciałem stworzyć prosty arkusz do obliczania, ilości blachy na dany dach, ponieważ blach jest kilka zrobiłem listę rozwijaną, jak mogę przypisać dla każdej blachy w liście rozwijanej jej szerokość?
    chyba że ktoś ma lepszy pomysł lub program do obliczania ilości blachy na konkretny wymiar dachu.


    z góry dziękuję

    excel - lista rozwijana, jak przypisac indywidualne wartości
  • Poziom 17  
    Wystarczy że do listy przypiszesz komórkę wynikową (LinkedCell) np A10 a w arkuszu zastosujesz formułę warunkową: jeśli A10 = T18 to np A11=1,15 i A12=1,12
  • Poziom 40  
    Wykorzystaj funkcję indeks lub szukaj.poziomo.
    Jeżeli sobie nie poradzisz załącz ten zeszyt excela jako załącznik.

    Ale z drugiej strony mogą się zdążyć przypadki kiedy trzeba będzie więcej blach niż wynika z samej powierzchni dachu.
    Np zostaje ci z każdej blachy po ułożeniu jednego rzędu na dachu resztka o powierzchni np ok 0,2 przy długości dachu np na 6 blach masz odpadu 1,4 czyli jedną blachę. Z wyliczeń wyjdzie ci że jest dobrze ale przecież nie będziesz sztukował z 6 kawałków całej blachy tylko wykorzystasz dodatkową blachę.

    Dlatego uważam że do takich obliczeń wykorzystywanie tylko zwykłej powierzchni dachu i blach to trochę za mało.
  • Poziom 23  
    marek003
    Do rozwiązania problemu sztukowania wystarczy użyć zaokr.w.gore (roundup). Trzeba sprawdzić oprócz powierzchni także krotność wymiarów geometrycznych samej blachy.
  • Poziom 11  
    Najlepszym programem byłby jakiś jakiś bardziej graficzny który po podaniu wymiarów dachu i i blachy pooblicza wszystko sam coś w tym stylu jak na tym nieudolnym rysunku poniżej, ale nie mam pojęcia w jakim programie można coś takiego zrobić.
    excel - lista rozwijana, jak przypisac indywidualne wartości

    przesyłam arkusz w załączniku
  • Moderator Programowanie
    Do autora:
    Te części ponumerowane od 1 do 10 w kolumnie A odpowiadają wymiarowi blachy?
    Chodzi mi o np. (trójkątną) trapezową powierzchnię i o to, czy w każdym wierszu chcesz wyliczać ile arkuszy potrzeba na szerokość a długość określa wymiar blachy?
    -----------------
    Jest tłumaczenie. Spóźniłem się z pytaniem.
  • Poziom 11  
    1,2,3,4... do 10 to miały być poszczególne części dachu, ale tak sobie myślę ze ciężko będzie obliczyć ilość blach np jeśli dach będzie trójkątny lub trapezowy.
    w wierszach 1 - 10 u chce wyliczać ilość blach na poszczególną część dachu.
  • Moderator Programowanie
    Pójdzie. Przecież trapez, nawet niesymetryczny, to prostokąt i dwa trójkąty prostokątne. Nie znam się na kryciu dachów ale tak sobie myślę, że najpierw należałoby pokryć (obliczyć) prostokąt, a potem doliczyć te dwa trójkąty.
    Do wszystkich:
    Co myślicie? Moim zdaniem:
    Potrzebne będą 2 wymiary poszczególnych typów blach i nieco inne parametry rozmiaru dachu. Nie brałbym pod rozwagę powierzchni a właśnie rozmiar.
    -------------------
    Do Autora:
    Czy długość blachy jest ograniczona. To jest arkusz, rolka (jak papa)?
  • Poziom 40  
    dsg napisał:
    Wystarczy że do listy przypiszesz komórkę wynikową (LinkedCell) np A10 a w arkuszu zastosujesz formułę warunkową: jeśli A10 = T18 to np A11=1,15 i A12=1,12


    Autor topiku zastosował sprawdzanie poprawności "Lista". Tam nie można zastosować komórki z celem. Ale i tak w takim przypadku trzeba by było zastosować pod komórka z celem formułe szukającą.
    Więc:
    Najprościej to wyszukaj.poziomo lub wyszukaj.pionowo (w zależności od ułożenia danych w "słowniku" )


    powerm napisał:
    marek003
    Do rozwiązania problemu sztukowania wystarczy użyć zaokr.w.gore (roundup).


    To dla niektórych przypadków może być za mało.


    Rozbicie dachu na 10 oddzielnych "dachów" jest jakimś wyjściem tak jak podział na prostokąt i ewentualne trójkąty.

    W chwili obecnej nie mam zbyt dużo czasu ale pomyśli się nad tym :)
    Podaj wymiary tych blach może być w tym pliku obok słownika z powierzchnią (oczywiście najbardziej potrzebne są te efektywne [wiadomo że są zakładki a to zmniejsza powierzchnię krycia]).

    Przydało by się też trochę więcej wiedzieć z techniki kładzenia blach. Np przy planowaniu krycia gdy jak zostaje do położenia w ostatnim rzędzie 20 cm to czy kładzie się te 20 cm czy może żeby to jakoś wyglądało każdą z blach się przycina aby na dachu "kostki" blachy były w miarę tej samej wielkości?

    W załączeniu arkusz wykorzystujący jak na razie jedynie obliczenia powierzchni.
  • Moderator Programowanie
    excel - lista rozwijana, jak przypisac indywidualne wartości
    Wyliczenie dla prostokąta jest dość proste. Trójkąt po prawej jest zmniejszony o to, co "wystaje" z prostokąta. Jeżeli obetniemy jedną przyprostokątną, to reszta boków trójkąta zmienia wymiar proporcjonalnie, mamy "nowy" trójkąt prostokątny, którego przyprostokątna = długość paska blachy. Ponownie "obcinamy" o szerokość blachy, wyliczamy itd aż do zera.
    Dla lepszego zobrazowania i wpisywania wymiarów można wykorzystać formularz excela. Np. coś takiego:
    excel - lista rozwijana, jak przypisac indywidualne wartości

    ------------------
    Zastanawiam się jeszcze nad czymś takim:
    excel - lista rozwijana, jak przypisac indywidualne wartości
    To jest wyzwanie...
  • Moderator Programowanie
    Hmmm
    To w przypadku "niebieskich" blach odpad jest wykorzystywany.
    I jeszcze coś takiego:
    excel - lista rozwijana, jak przypisac indywidualne wartości
    Jeżeli b>=c to jako ostatni używamy odpad z przedostatniego kawałka blachy i nie mamy odpadu z ostatniego. Chyba, że obrót o 90/180st nie wchodzi w grę (blachodachówka).
    To zaczyna być coraz bardziej interesujące.
  • Poziom 11  
    W przypadku blach "czerwonych" też da sie użyć ścinków, ale tylko wtedy jeśli ten ostatni trójkąt będzie miał powiedzmy nie więcej niż 1metr wysokości i 0,5 m długości. (te wymiary to tak mniej więcej, zależy pod jakim kontem cięta jest blacha) a poza tym idą jeszcze obróbki wiec jeśli będzie brakowało kilka cm to obróbka to wszystko zakryje.

    A nie da sie tego w jakimś CADzie obliczyć?
  • Moderator Programowanie
    Żeby obliczyć wszystko dokładnie, biorąc pod uwagę wszystkie czynniki, o których tu napisano rzeczywiście potrzebujesz jakiegoś w miarę specjalistycznego programu.
    Znam troszkę AutoCad i można przy jego pomocy wyliczyć powierzchnię praktycznie wszystkich możliwych figur geometrycznych. Jak to się ma do przeliczenia na odcinki blach? Nie wiem, ale tak "automatycznie" też pewnie nie będzie.
    Sądzę, że wykonywanie takich obliczeń dla prostych konstrukcji typu prostokąt, romb, trapez, trójkąt dla jednego rozmiaru (szerokości) blachy z dokładnością powiedzmy 95% na pewno jest możliwe w excelu już na podstawie zamieszczonych tu wypowiedzi i przykładów.
    Inna sprawa to: czy to wystarczy i czy warto Ci zainwestować czas w wykonanie odp. arkusza.
  • Poziom 40  
    adamas_nt napisał:

    ... Dla lepszego zobrazowania i wpisywania wymiarów można wykorzystać formularz excela. Np. coś takiego:
    excel - lista rozwijana, jak przypisac indywidualne wartości

    ...


    Tak na marginesie się zapytam:
    Czy ten rysunek w oknie userform1 jest aktywny?
    Możesz dołączyć arkusz z tym userform'em?
  • Moderator Programowanie
    :arrow:marek003
    Trochę to "oszukane", bo to nie jest obrazek tylko zmodowany i zablokowany przycisk polecenia :)
    Kawałek kodu do analizy:
    Code:
    Private Sub CmbK_Change()
    
       
    Select Case CmbK.ListIndex
        Case 0: cmdImage.Picture = LoadPicture("c:\img\prost.jpg")
               'i wszytkie inne polecenia potrzebne do obliczeń
        Case 1: cmdImage.Picture = LoadPicture("c:\img\trapez1.jpg")
    End Select

    'lub
    'If CmbK.ListIndex = 0 Then cmdImage.Picture = LoadPicture("c:\img\prost.jpg")
    'If CmbK.ListIndex = 1 Then cmdImage.Picture = LoadPicture("c:\img\trapez1.jpg")

    End Sub


    combo o nazwie cmbK
    przycisk o nazwie cmdImage

    ps. Starsze wersje excela nie rozpoznają jpg (tylko bmp, wfm itp)
    --------------
    Och! W tym przypadku ramka (frame) oczywiście. Akurat robiłem coś innego i tak skojarzyłem. Ale z CommandButton też to działa. Arkusza nie mogę załączyć, bo nie zapisałem.
  • Poziom 40  
    Ok.
    Myślałem że jak podajesz różne wymiary (dolne okienka z wymiarami) to zmienia sie rysuneczek.
    Ale dzięki za podzielenie się pomysłem.
  • Moderator Programowanie
    marek003 napisał:
    Myślałem że jak podajesz różne wymiary (dolne okienka z wymiarami) to zmienia sie rysuneczek.

    Hmm. To jest b.dobry pomysł. Na pewno wykonalny. Należałoby tylko znaleźć sposób na grafikę wektorową w VBA. Pomyślimy...
  • Poziom 40  
    W załączeniu obliczenia dla prostokątnego dachu.
    Jest tu założenie, że jeżeli dach jest dłuższy od maksymalnej długości blachy to blachy są tak dobrane aby były tej samej długości (wg. mnie estetyczniej to później wygląda). Czyli ten arkusz nie przewiduje "sztukowania" np. gdy dach ma 9m a max blacha 8m to dosztukuje się blachę o długości 1m plus zakładka.
    "Arkusz" dzieli wtedy dach na dwie równe części i wylicza długość każdej blachy z korektą na wielkość zakładki/dek.

    Przy prostokącie nie było zbyt trudno, ale trójkąt to dopiero wyzwanie. :)
    A jeszcze później połączenie trójkąta z prostokątem.
    Jak będę miał czas to może pomyślę - dla samej zasady :)
  • Moderator Programowanie
    Ode mnie prawy trójkąt na Mikołaja.
    Wylicza tylko długości pasków blachy. Odejmuje boczny odpad części prostokątnej dachu.
    Kawałki ponumerowane (nie ilości sztuk).
    ---------------
    Dodano wieczorem
    ---------------
    Teraz mam chwilę czasu to kilka uwag:
    Rożnica wysokości kolejnych pasków trójkąta i szerokość blach da rozmiar odpadów (łatwo wyliczyć powierzchnię).
    Jeżeli "wystającą" część pokrycia części prostokątnej przyjmiemy jako zero mamy trzecią część trapezu. W przypadku rombu wystarczy wrysować w niego prostokąt i policzyć jak trapez. W przypadku dowolnego trójkąta, przecięcie go od wierzchołka prostopadłą do podstawy da dwa trójkąty prostokątne, które liczymy jak "trapez bez prostokąta". Z tym, że jeżeli trójkąt kryjemy blachą środkiem od wierzchołka to przyjmujemy jako pierwszy pasek połowę szerokości i w drugim trójkącie resztę jako odpad (zmniejszamy powierzchnię o drugą połowę arkusza). Uff, chyba nic nie pokręciłem.
    -------------
    Następnego dnia rano
    -------------
    Dlatego uważam jako zasadne użycie formularza, przy pomocy którego można by wszystkie te parametry wygodnie przekazać do arkusza