Er igang med at finde summen af alle betalinger i det seneste 14 dage. hvis antal dage er under eller lig med 14 og beløbet er > 4000 kr, så skal den ganges med infonr. og 0,6. hvis antal dage er under eller lig med 14 og beløbet er < 3000 kr, så skal den ganges med infonr. og 1,6
Sub ny()
Dim antalDage As Double Dim beløbet As Double Dim infonr As Double
If (antalDage < 14 And beløbet > 4000 ) Then Range("E2:E").Formula = "=B2*C2*0.6" ElseIf (antalDage = 14 And patientensAlder > 7000) Then Range("E2:E").Formula = "=B2*C2*0.6" End If
If (antalDage < 14 And beløbet < 3000) Then Range("F2:F").Formula = "=B2*C2*1.6" ElseIf (antalDage = 14 And patientensAlder < 3000) Then Range("F2:F").Formula = "=B2*C2*1.6" End If
If (antalDage < 14 And beløbet > 4000 ) Then Range("E2:E").Formula = "=B2*C2*0.6" ElseIf (antalDage = 14 And patientensAlder > 7000) Then Range("E2:E").Formula = "=B2*C2*0.6" End If
If (antalDage < 14 And beløbet < 3000) Then Range("E2:E").Formula = "=B2*C2*1.6" ElseIf (antalDage = 14 And patientensAlder < 3000) Then Range("E2:E").Formula = "=B2*C2*1.6" End If
If (antalDage < 14 And beløbet > 4000 ) Then Range("E2:E162").Formula = "=B2*C2*0.6" ElseIf (antalDage = 14 And patientensAlder > 7000) Then Range("E2:E162").Formula = "=B2*C2*0.6" End If
If (antalDage < 14 And beløbet < 3000) Then Range("E2:E162").Formula = "=B2*C2*1.6" ElseIf (antalDage = 14 And patientensAlder < 3000) Then Range("E2:E162").Formula = "=B2*C2*1.6" End If
Er i gang med at finde summen af alle betalinger for de seneste 14 dage. (Det skal beregnes til sidst) Først har jeg beregnet forskellen mellem de to dage, og alle de værdier står i Worksheets("Hjem").Range("A1").End(xlDown).Row.
hvis antal dage er under eller lig med 14 og beløbet er > 4000 kr, så skal jeg gange beløbet med infonr. og 0,6. hvis antal dage er under eller lig med 14 og beløbet er < 3000 kr, så skal jeg gange beløbet med infonr og 1,6
Jeg har mange arks med nogle info, og nemlig dato og tidspunkter står i arket "Dato".
Jeg har beregnet forskelen mellem i dag og den sidste betalingsdato, og forskellen af de to dato har jeg indsat i et nyt ark, som hedder "Hjem"(A2:A168).
"Har værdier fra celle 2 til celle 168 i alle kolonner, nemlig A1, B1, C1"
Så vil: antalDage = Worksheets("Hjem").Range("A1").End(xlDown).Row være =168 beløbet = Worksheets("Hjem").Range("B1").End(xlDown).Row være =168 infonr =Worksheets("Hjem").Range("C1").End(xlDown).Row være =168
#17 hvis er der forskellige værdier, såsom forskellige beløb og infonr. samt betingelser, så hvordan skal den samme formel køres fra celle 2 til celle 168.
har nogle datoer, hvor forskellen mellem idag og betalingsdag er over 160 dag, som betyder, at jeg skal ikke have det med.
når jeg kører makroen, så kommer en messagbox frem med den første værdi i celle A2, og når jeg trykker på ok, så kommer den næste værdi frem nemlig A3 osv. Det samme gentages 5 gange
If (antalDage < 14 And beløbet > 4000) Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er > 4000" ElseIf (antalDage = 14 And beløbet > 7000) Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er > 7000" End If
If (antalDage < 14 And beløbet < 3000) Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er < 3000" ElseIf (antalDage = 14 And beløbet < 3000) Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er < 4000" End If
#46 det skal beregne det, idet hvis antal dag mellem (i dag og betalingsdag ) er < eller = 14, og beløbet er >end 4000 eller <3000, så skal beløbet ganges med infonr og dermed ganges med 0,6 eller 1,6.
If antalDage < 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er < 3000" End If If beløbet > 4000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er > 4000" End If End If
If antalDage = 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er < 4000" End If If beløbet > 7000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er > 7000" End If End If
Der er kun to beløbsbegrænsninger: nemlig hvis beløbet ligger mellem 3000 eller 4000, så skal der skrives kun 0.
Jeg siger, tak for hjælpen. Jeg prøver at kigge på det igen og igen, for at se om det virker. Hvis det lykkes ikke, vil jeg muligvis forstyre dig igen. På forhånd tak
#51 hvis antal dage er over 14, så skal der indsættes 0 i de celler hvor antal dag er over 14.
Har allerede prøvet koden. Den viser ikke noget debug, men værdier kommer ikke frem. Da jeg har tastet informationen forkert, så vil jeg ændre det lidt og indsætte den her igen:
Sub test()
Dim c Dim antalDage Dim beløbet Dim infonr Dim p
For Each c In Worksheets("Hjem").Range("A2:A6").Cells
If antalDage < 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er < 3000" End If If beløbet > 4000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er < 14 og Beløbet er > 4000" End If End If
If antalDage = 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er < 3000" End If If beløbet > 4000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 c.Offset(0, 6) = "Antal dage er = 14 og Beløbet er > 4000" End If End If
Hvis Antal dage < 14 og Beløb < 3000 ganges med 1,6 Hvis Antal dage < 14 og Beløb > 4000 ganges med 0,6 Hvis Antal dage = 14 og Beløb < 3000 ganges med 1,6 Hvis Antal dage = 14 og Beløb > 4000 ganges med 0,6
Så hvis beløbet er > 3000 og < 4000 sker der ikke en skid ;-) Hvis Antal dage er > 14 sker der heller ikke en skid ;-)
If antalDage < 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 End If If beløbet > 4000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 End If
'Hvis beløbet er mellem 3000 og 4000 If beløbet > 3000 And beløbet < 4000 Then c.Offset(0, 5) = 0 End If End If
If antalDage = 14 Then If beløbet < 3000 Then c.Offset(0, 5) = beløbet * infonr * 1.6 End If If beløbet > 7000 Then c.Offset(0, 5) = beløbet * infonr * 0.6 End If End If
'Hvis antalDage > 14 skrives: 0 If antalDage > 14 Then c.Offset(0, 5) = 0 End If
kan jeg ikke skrive celle nr. her i stedet for fx c.Offset(0, 0). Dermed vil jeg meget derne at beregninger skal indsættes nemlig i Kolonne E2:E168 Da jeg kommer til at indsætte nogle ekstra informationer i kolonne D og H
'Hvis antalDage > 14 skrives: 0 If antalDage > 14 Then c.Offset(0, 4) = 0 GoTo Næste End If
'Hvis beløbet er mellem 3000 og 4000 If beløbet > 3000 And beløbet < 4000 Then c.Offset(0, 4) = 0 GoTo Næste End If
If antalDage < 15 Then If beløbet < 3000 Then c.Offset(0, 4) = beløbet * infonr * 1.6 End If If beløbet > 4000 Then c.Offset(0, 4) = beløbet * infonr * 0.6 End If End If Næste: Next c End Sub
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.