10. februar 2014 - 20:15Der er
2 kommentarer og 1 løsning
Makro til en udregning, - betinget af værdien i en celle
Jeg har en del eksterne projektmapper om måneden, hvorfra jeg importerer data til et destinationsark. Kildearkene har altid samme opbygning, men der skal foretages nogle ændringer før jeg eksporterer data. Til det formål er jeg ved at lave en makro der udfører nogle af handlingerne.
Der skal bl.a. fortages en udregning i området A2:K100, som jeg gerne vil fortage med makroen.
Eksempel: Hvis værdien i B2 er større end 0 skal følgende udregning foretages: D2+F2+K2+(K2*$F$1) - Resultatet skal vises i A2. Hvis B2 er 0, skal A2 være tom.
Og tilsvarende hvis B3 er større end 0: D3+F3+K3+(K3*$F$1) - Resultatet skal vises i A3
Udregningen skal foretages i hele området (99 rækker)
Er der nogen der har et bud på hvordan man laver sådan en makro ?
Noget i denne stil Den læser området ind i hukommelsen, laver udregninger og skriver kolonne A med udregnede værdier . NB. Ikke testet
Public Sub Udregn() Dim Data As Variant, UdData As Variant, Faktor As Double, I As Long Data = Range("A2:K100") UdData = Range("A2:A100") Faktor = Range("K1") ' A B C D E F G H I J K ' 1 2 3 4 5 6 7 8 9 10 11 For I = 1 To UBound(Data) If Data(I, 2) > 0 Then ' D + F + K + (K * $F$1) UdData(I, 1) = Data(I, 4) + Data(I, 6) + Data(I, 11) + (Data(I, 11) * Faktor) Else UdData(I, 1) = "" End If Next Range("A2:A100") = UdData End Sub
Makroen laver lige præcis den udregning som den skal. Resultatet kommer i kolonne A og udregningen blive kun udført hvis værdien i kolonne B er større end 0.
Super godt arbejde, - og endnu en gang mange tak for din hjælp.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.