excel - lista rozwijana, jak przypisac indywidualne wartości
jareqp - 17 Lis 2008 21:40
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ę
dsg - 17 Lis 2008 22:19
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
marek003 - 17 Lis 2008 22:25
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.
powerm - 17 Lis 2008 22:40
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.
jareqp - 17 Lis 2008 22:56
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ć.
przesyłam arkusz w załączniku
adamas_nt - 17 Lis 2008 23:02
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.
jareqp - 17 Lis 2008 23:09
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.
adamas_nt - 17 Lis 2008 23:25
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)?
marek003 - 18 Lis 2008 13:33
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" )
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.
adamas_nt - 18 Lis 2008 16:27
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:
------------------
Zastanawiam się jeszcze nad czymś takim:
To jest wyzwanie...
jareqp - 18 Lis 2008 18:00
w arkuszu dodałem dwa słowa o kładzeniu blach.
adamas_nt - 18 Lis 2008 19:07
Hmmm
To w przypadku "niebieskich" blach odpad jest wykorzystywany.
I jeszcze coś takiego:
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.
jareqp - 18 Lis 2008 19:21
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ć?
adamas_nt - 18 Lis 2008 23:31
Ż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.
marek003 - 19 Lis 2008 10:15
... Dla lepszego zobrazowania i wpisywania wymiarów można wykorzystać formularz excela. Np. coś takiego:
...
Tak na marginesie się zapytam:
Czy ten rysunek w oknie userform1 jest aktywny?
Możesz dołączyć arkusz z tym userform'em?
adamas_nt - 19 Lis 2008 13:30
:arrow:marek003
Trochę to "oszukane", bo to nie jest obrazek tylko zmodowany i zablokowany przycisk polecenia
Kawałek kodu do analizy:
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.
marek003 - 19 Lis 2008 14:19
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.
adamas_nt - 19 Lis 2008 14:43
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...
marek003 - 20 Lis 2008 12:53
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
adamas_nt - 20 Lis 2008 16:47
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