Cześć wszystkim przyszło mi zmierzyć się na studiach z czymś takim jak Visual Basic i utknąłem podczas robienia zadania, zdaje sobie sprawę, że to jest na pewno bardzo proste ale totalnie nie wiem jak zacząć, zadanie do zrobienia jest następujące:
Zdefiniuj nową funkcję obliczającą średnią ważoną trzech liczb. Funkcja taka wymaga podania aż sześciu wartości, dlatego użyjemy zmiennej tablicowej typu Range.
a. Zadeklaruj funkcję zależącą od jednego argumentu typu Range i o wartościach typu double
b. Ustal, że pierwsza kolumna to liczby a druga to wagi (należy tę informację umieścić później w opisie funkcji).
c. Wykorzystaj wzór analogiczny do średniej ważonej 2 liczb (do różnych wartości odnosimy się zmieniając odpowiednio numery w Cells.
d. Dodaj opis funkcji
e. Przejdź do Excela i wypełnij stosowny blok komórek liczbami i wagami.
f. Sprawdź działanie funkcji.
kompletnie nie wiem co z tym zrobić ponieważ nie mam żadnych innych informacji podanych w opisie do zadania.
Z góry dzięki za pomoc i naprowadzenie co z tym zrobić, zapewne to jest jakieś 10 min roboty albo i mniej...
Forum > Software > VBA dla opornych
Wysłane 2017-03-06 22:44
Wysłane 2017-03-07 07:36 , Edytowane 2017-03-07 07:37
Nie za bardzo rozumiem co to znaczy, że nie masz informacji? Wydaje się, że wszystko jest czarno na białym. Chodzi o napisanie makra do Excela, które ma liczyć średnią ważoną, czyli:
SUM {i: 1->N} Ai*Bi / N
Dla ścisłości Visual Basic for Applications, czyli tzw. VBA to coś innego niż Visual Basic (technologia z lat 90' pozwalająca tworzyć aplikację x86 za pomocą jednego z pierwszych środowisk RAD) i Visual Basic .NET (czyli wersję VB na CLR .NET).
Wysłane 2017-03-07 14:15
Wysłane 2017-03-07 14:55 , Edytowane 2017-03-07 15:47
Może to być pomocne :)
[LINK]
i Więcej o funkcjach etc. http://www.123office.pl/2013/07/kurs-vba-cz-6-funkcje-i-procedury.html
A tutaj masz o funkcji Range. https://www.youtube.com/watch?v=1eAW1x1h9KA
To Ty chodzisz na wykłady czy ćwiczenia i tam powinni Ciebie nauczyć podstaw, co to są marka, VBA czy jak się je tworzy.
Wysłane 2017-03-07 18:04 , Edytowane 2017-03-07 18:07
@ kowgli dobra VBA ;P
@adir z tego akurat mam tylko ćwiczenia ale gość się rozchorował wysłał nam na platformie do zrobienia zadania dał 2 tygodnie na oddanie i po temacie.
Wysłane 2017-03-08 22:09
@alii
bardzo prymitywny kod poniżej, niestety nie znam się na tym, więc nie dałem rady z najbardziej eleganckim podejściem, mimo wszystko działa ok. założyłem, że są tylko 2 kolumny, nie testowałem z większą ilością. wrzuć w nowy moduł i możesz używać funkcji w komórkach excela.
Function sredniawazona(dane As Range) As Double
col = dane.Column
Row = dane.Row
lastrow = dane.Rows.Count
j = lastrow - 1 + Row
For i = Row To j
sredniawazona = sredniawazona + Cells(i, col).Value * Cells(i, col + 1).Value
waga = waga + Cells(i, col + 1).Value
Next
sredniawazona = sredniawazona / waga
End Function
Wysłane 2017-03-09 18:34 , Edytowane 2017-03-09 18:34
dzięki, nie mam zupełnie pojęcia czy to tak ma być najwyżej będzie źle, dzięki za pomoc :)
Kto jest online: 1 użytkowników, 549 gości
frac ,