Sitter med ett problem här på jobbet. Har en funktion som jag vill använda och jag vill kunna samla ihop informationen i cellerna precis som man kan göra annars i excel (alltså använda sig av ctrl för att kunna välja olika celler på olika platser i bladet) Men detta funkar inte och det blir bara value-fel. Tror iofs inte att detta hjälper men vill ändå att du provar detta. tack för tipset :) funkar dock inte riktigt...vetesjutton hur man ska göra.... Inte helt uppenbart vad du vill göra, men det ser ut som att du behöver ta in många fler argument, funkar det om du bara anger en enda cell? det fungerar när man väljer enstaka celler, hela rader, kolumner och områden. Men sen när man väljer enstaka celler på olika ställen i bladet så går det inte att läsa in alla celler - blir valuefel.... Om du deklarerar din parameter som parameter array, som Niklas föreslår, så kan du använda celler på olika platser. hm okej, så den här summeringsfunktionen lagrar värdena från olika celler i arrayen utan att summera dem innan? Funktionen går igenom värdena. Värdena summeras när den anropas, t.ex. en av cellerna uppdateras.Visual basic - läsa in celler till en funktion
Vill ju att funktionen ska läsa av värdena i cellerna och utföra uträkningen och returnera detta... men det blir fel någonstans i inläsningen av cellerna när man läser in från olika ställen i bladet (obs, funkar fint när man endast läser in t.ex. en rad )
Har någon förslag på hur man kan skriva eller kanske en aning om hur programmet kan läsa cellerna... ?
tack på förhand! :)
Function db_add(cell2add As Object)
Application.Volatile
X = 0
For Each cell In cell2add
X = X + 10 ^ (cell.Value / 10)
Next cell
db_add = 10 * Log(X) / Log(10#)
End FunctionSv: Visual basic - läsa in celler till en funktion
<code>
Option Explicit
Function db_add(cell2add As Object) As Double
Dim X As Double
X = 0
For Each cell In cell2add
X = X + 10 ^ (cell.Value / 10)
Next 'cell
db_add = 10 * Log(X) / Log(10#)
Application.Volatile
DoEvents
End Function
</code>Sv:Visual basic - läsa in celler till en funktion
Sv: Visual basic - läsa in celler till en funktion
I så fall får du antingen slänga upp en rad optional arguments eller en paramarray (vet dock inte om det funkar från Excel).Sv:Visual basic - läsa in celler till en funktion
och eftersom jag precis har börjat lära mig vb så vet jag inte riktigt hur man gör för att läsa in varje cell har fått koden av en arbetskompis som använder denna i sitt jobb och han tyckte att jag kunde försöka mig på att lösa problemet.... inte alltför lätt enligt mig :) Sv: Visual basic - läsa in celler till en funktion
Här är ett exempel på en summerings funktion:
Public Function MySum(ParamArray Values())
Dim X, Y
For Each X In Values
For Each Y In X
MySum = MySum + Y
Next
Next
End Function
Sv:Visual basic - läsa in celler till en funktion
så att man kan summera dem sedan mha av funktionen?
ni får ursäkta om jag är lite oförstående till allt o ställer frågor - är som sagt nyligen introducerad till detta :) men massor med tack till att ni kommer med förslag!Sv: Visual basic - läsa in celler till en funktion