Temat: Znikanie funkcji

Witam.
Napisałem funkcję która pięknie działa. Ale gdy napisałem następną poprzednia zniknęła. Gdzie jest "pies pogrzebany" ?
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Znikanie funkcji

No to tyle wiemy ile nam powiedziałeś.
Coś napisałeś, cieszyłeś się sukcesem dzięki czemu powstało drugie coś i potem to pierwsze Ci zniknęło.

Co to było - zapewne UDF (jak ta funkcja wyglądała, do czego się odwoływała, jakie miała parametry wejściowe, gdzie była użyta)?
Dodatkowo: jak się nazywała, może nazywała się tak samo jak poprzednia?

Temat: Znikanie funkcji

Witam
Niżej zamieszczam obie funkcje. Po ich zapisaniu w edytorze VBA zapisuję je w "Zdefiniowane przez użytkownika".

Function Zp(z01, z02, z)
'
' Funkcja Zp dla z1 > z > z2 daje 0 (ZERO)
' a dla z1 <= z <= z2 daje "Ząb piły"
' o wzorze: Zp = (z - z01) / (z02 - z01)
'
If z < z01 Then
Zp = 0
Else
If z > z02 Then
Zp = 0
Else
Zp = (z - z01) / (z02 - z01)

End If
End If
End Function

Function Zs(z1, z2, z)
'
' Funkcja Zs dla z1 > z > z2 daje 0 (ZERO)
' a dla z1 <= z <= z2 daje 1 (JEDEN)
'
If z < z1 Then
Zs = 0
Else
If z > z2 Then
Zs = 0
Else
Zs = 1

End If
End If
End Function

Funkcje są podobne ale robią co innego
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Znikanie funkcji

Oczywiście logikę zostawiam po twojej stronie, ponieważ sam nie znam się na piłach i ich zębach. Niemniej jednak z punktu widzenia informatyka to obydwie funkcje są poprawne. Brakuje im co prawda odpowiednich deklaracji typów danych, ale bez nich zmienne traktowane są jako Varianty więc nie możesz używać bardzo małych liczb jak i bardzo wielkich.

Dodatkowo dobrze jest nauczyć się od razu formatować zapis kodu aby był czytelny robiąc wcięcia tabulacją lub korzystać z dodatków które to zapewniają. Ja akurat robię to sam - ale to raczej porada nie mająca wpływu na wynik funkcji.

W arkuszu wpisałem
=zp(1;3;2) 'co dało mi wynik 0,5
=zs(2;3;3) 'co dało mi wynik 1

Temat: Znikanie funkcji

Na arkuszu zaznaczam komórkę, wybieram polecenie "wstaw funkcję". Otwiera mi się okno "wybierz funkcję". Zaznaczam "zdefiniowane przez użytkownika". A tam jest tylko funkcja Zp.
I problem polega na tym, że jeśli napiszę funkcję Zs to w tym skoroszycie znika funkcja Zp.
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Znikanie funkcji

A ja widzę obydwie funkcje w oknie Wstaw funkcję/Zdefiniowane przez użytkownika
A co do pisania w Arkuszu to zwieksz boie nazwę funkcji np na "Funkcja_Zp" i "Funkcja_Zs" to po wpisaniu pierwszej litery nic ci nie będzie znikać.


Obrazek

Temat: Znikanie funkcji

Witam ponownie.
Spróbowałem jeszcze innej metody. W VBA w skoroszycie VBAProject (PERSONAL.XLSB) wstawiam (Insert-> Module) Module1. W tym module definiuję wszystkie potrzebne mi funkcje zapisuję to wszystko. W menu wyboru funkcji są wszystkie. Na koniec zmieniam nazwę Module 1 na Funkcje_.._.._.. itd żeby wiedzieć co tam jest.

Mam nadzieję, że nasza dyskusja przyda się innym fanom Excela.

Programowaniem zacząłem zajmować się już 1975 roku (kiedy to było?) od Algolu(taśmy perforowane), potem był Fortran (karty perforowane), i dalej Basic, Pascal, trochę C oraz C dla procesorów. No i na razie jestem w Excelu. Co będzie dalej życie pokaże.

Dzięki za podpowiedzi i jednocześnie proszę o ew. przyszłe.

Pozdrawiam Zbych
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Znikanie funkcji

Ok czyli działa i się pokazuje.

Zwykle jak nie widać to może być zbieżność nazw. tzn nie mogą istnieć w VBA 2ie takie same nazwy procedur lub funkcji. może gdzieś miałeś dubla, a po przeniesieniu do innego/nowego modułu sprawa się rozwiązała.

p.s.
w '75-tym to mnie mało interesowały karty perforowane, ale fakt, walało się tego mnóstwo po osiedlu. Mi jakoś nie wchodzą inne języki do głowy. Wmawiam sobie że może to składania nie taka :P Pozdrawiam.

Temat: Znikanie funkcji

Szkoda,że Borland zniknął z Pascalem bo to był dobry język . Teraz można użyć Free Pascal.
Jest też C ale to są stare wersja Borlanda. Obraz nie jest na całym ekranie.

Temat: Znikanie funkcji

Dzień dobry
Jak Pan zauważył interesuje mnie głównie zastosowanie Excela do celów matematyczno-fizycznych.
Excel zawiera dodatek Solver. Opanowałem aproksymację funkcji, z równaniami (układami równań) nieliniowych poradzę sobie ale jak podejść do rozwiązywania równań różniczkowych (układów równań) nie mam pojęcia. Z innych źródeł wiem ,że Solver to może zrobić.

Niedawno kupiłem książkę Microsoft EXCEL 2016 BIBLIA napisaną przez Pana John'a Walkenbach"a. Książka jest napisana ogólnikowo. Przykłady są najprostsze jak to tylko jest możliwe(żeby coś działało i można to pokazać). Można z niej dowiedzieć się w ogólnych zarysach o Excelu.
Nie ma tam nic o problemach które mnie interesują.
Dla zastosowań biurowo, księgowo , pracowniczo, magazynowych itp godna polecenia lecz dla ludzi o podobnych do moich zainteresowaniach nie polecam.
Wracając do tematu. Jeśli zna Pan godną polecenia książkę bardzo prosiłbym o podpowiedź.
I oczywiście w jaki sposób wykorzystać Solver do równań różniczkowych.
Pozdrawiam
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Znikanie funkcji

Tak, Walkenbach to dość popularny autor literatury, polecony we wcześniejszym stadium przyswajania wiedzy. Oczywiście "im dalej w las" tym bardziej wymóg oraz przykłady muszę reprezentować konkretne zagadnienie i poziom skomplikowania czego już nie można doświadczyć w wydaniu Biblia. Mogę polecić kolegę Macieja Goneta, którego poznałem osobiście na zlotach Excelach zajmującego się analizą danych. Jest on autorem kilku dzieł dedykowanych uczniom wyższej uczelni.
https://helion.pl/autorzy/maciej-gonet Zapewne mielibyście panowie wiele wspólnych tematów.
Andy L.

Andy L. ITM, VUB

Temat: Znikanie funkcji

Witam Pana Oskara.
Poczytałem spis treści poleconej przez Pana książki Pana Macieja Goneta i już ją zamówiłem.
Sądzę, że rozszerzę swoją wiedzę nt. Excela. Dzięki za polecenie.

Następna dyskusja:

Abc excela - instalacja d...




Wyślij zaproszenie do