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 SubAihe on jo aika vanha, joten et voi enää vastata siihen.