Moi,
Alla oleva laskee excelissä desibelejä yhteen
(esim. 10dB + 10dB = 13dB)
kokdb(A1;A2;A3;A4;A5)
Tarkoitus olisi saada funktio toimimaan siten, että summan voisi laskea samaan tyyliin kuin tavallisenkin summan eli
kokdb(A1:A5)
Onko mahdollista ja miten... en ole koodaajaguru, joten toivottavasti en kysy ihan simppeliä asiaa... googlella tms. löytyy vain tuo puolipistenotaatio.
-------------
Function kokdb(ParamArray dB()) For n = LBound(dB) To UBound(dB) If Val(dB(n)) > 0 Then S = S + 10 ^ (dB(n) / 10) Next n kokdb = 10 * (Log(S) / Log(10#)) End Function
-------------
Piizz
Hmm...
Eli tuo Excelissä voidaan kirjoittaa summa(A1:A3), joka on sama kuin summa(A1;A2;A3). Tahtoisin tuon oman kaavani toimimaan tuon (A1:A3) tyyliin (ei tällä hetkellä toimi niin, vaan ainoastaan siten, että annetaan nuo kaikki solut yksitellen).
Yksi vaihtoehto alla...
Private Sub Jotain(alue As String) Dim solu As Range For Each solu In Range(alue) 'Käydään läpi solut annetulta alue:lta 'Lisätään soluun arvo "bar", jos arvo on "foo", muuten "foo" solu.Value = IIf(solu.Value = "foo", "bar", "foo") Next solu End Sub 'Lisätään Workbook:iin nappula, jolla demota "hienoa" ohjelmaamme... Private Sub CommandButton1_Click() Jotain "A1:B3" 'alue A1:stä B3:een End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.