PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelär detta rätt kod för att räkna ut karensär detta rätt kod för att räkna ut karens
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2022-12-03 15:44
 
For i =4 To 1000
 
If Blad1.Cells(i, "a") = "" Then
 
Blad1.Cells(i,"d") = Blad1.Cells(i,"c") *12,2/2080 Blad1.Cells(4,"d")
End Sub
 
 
 
lönen står  c4 och svaret skall komma i d4
 
hoppas på svar
Nytt inlägg
 2022-12-05 11:58
 

 har ingen aning om vad du vill göra men:

Decimaltal i VBA anges med punkt "." inte komma ",". Så det här:

*12,2/2080 skall ändras till *12.2/2080 

Om om du använder cells() så matar du in siffror, inte bokstäver.

Blad1.Cells(i, "a") skall vara Blad1.Cells(i, 1)

Blad1.Cells(i,"d")  skall vara Blad1.Cells(i, 4)

 

Eller också kör du

Range("a"&i)

etc

 

osv

 

 

Nytt inlägg
 2022-12-06 15:45
 

 det jag vill uppnå är att testa att skriva kod för karens och se hu den räknar

så det jag vill  är har lön i c4 trycker på knapp då skall uträkning för karens komma i d4 och dag 2 i e4

kan du skriva den rätta koden så  kan jag klistra in den

tack så länge

Nytt inlägg
 2022-12-06 18:37
 

 jag skrev koden så här

Blad1.Cells(i,4)= Blad1.Cells(i,1) *12.2/2080 Blad1.Cells(i,4) men den blev röd

Nytt inlägg
 2022-12-07 09:13
 

 den sista Blad1.Cells(i,4) gör ingenting. Den förstör bara koden: 

Blad1.Cells(i, 4) = Blad1.Cells(i, 1) * 12.2 / 2080 Blad1.Cells(i,4)

om du kör fulkoden

Blad1.Cells(i, 4) = Blad1.Cells(i, 1) * 12.2 / 2080

så bör den fungera. Även om det skulle vara snyggare (lättare att förstå om några år) att skriva

Worksheets("Blad1").Cells(i, 4).Value = Worksheets("Blad1").Cells(i, 1).Value * 12.2 / 2080

Om det nu är det du faktiskt vill göra

Nytt inlägg
 2022-12-07 09:33
 

 Ok kollar när jag kommer hem att klistra in din kod

Nytt inlägg
 2022-12-07 17:12
 

 så här ser koden ut 

Private Sub CommandButton1_Click()

 
Blad1.Cells(i, 4) = Blad1.Cells(i, 3) * 12.2 / 2080            men den blir gul
 
End Sub
 
lönen är cell c4 och resultat i d4
Nytt inlägg
 2022-12-07 19:44
 

 nu har jag testat lite här är koden 

Private Sub CommandButton1_Click()

 

Blad1.Cells(4, "d") = Blad1.Cells(4, "c") * 12.2 / 2080

Blad1.Cells(4, "e") = Blad1.Cells(4, "d") * 8

Blad1.Cells(4, "f") = Blad1.Cells(4, "c") * 80 * 12.2 / 2080 * 8

 

End Sub

se nedan ser du dag 2 där finns det inte kommatecken  på första raden
dom nedre talen ör dom rätta
kan du hjälpa mig med en avrundnig så att det blir samma som raden under
 
 
 
lön per tim per dag dag 2
25000 146,63 1173,08 93846
       
  146,63 1173,04 938,48
Nytt inlägg
 2022-12-08 10:09
 

Får se om jag förstår det du vill göra

12,2*månadlön= årslön (eller?)

2080=52*40=antal arbetstimmar på ett år.

Så första raden beräknar bara timlön (i det märkliga 12,2 månaders året som jag antar är något slags standard inom löneadministration om du har hittat den siffran )

 

Nästa rad är en hel dagslön (timlön*8)? 

och sen vill du ta 80% av det för att få ut sjuklön?

då borde det här ge rätt svar:

Blad1.Cells(4, "d") = Blad1.Cells(4, "c") * 12.2 / 2080
Blad1.Cells(4, "e") = Blad1.Cells(4, "d") * 8
Blad1.Cells(4, "f") = Blad1.Cells(4, "e") * 0.8

Och om du vill räkna fel genom att avrunda till två decimaler hela tiden måste du helt enkelt avrunda på varje rad

Blad1.Cells(4, "d") = Round(Blad1.Cells(4, "c") * 12.2 / 2080, 2)
Blad1.Cells(4, "e") = Round(Blad1.Cells(4, "d") * 8, 2)
Blad1.Cells(4, "f") = Round(Blad1.Cells(4, "e") * 0.8, 2)

Men du kommer fortfarande inte att få 938,48

Om du vill ha karensavdraget istället för sjuklönen i F-kolumnen skall du ta 20% (*0.2) istället för 0.8 för dag2

Nytt inlägg
 2022-12-08 16:47
 

 men du kan man göra en knapp som bara skriver talet  per tim i raden under

  c d e f g  
  lön per tim per dag dag 2 dag 2 per tim
  25000 146,63 1173,08 938,46 117,31  
             

 

allså i d kolumn 146,63 att den komer på raden under och  g kolumn 117,31 enbart sifrorna då kan man ta det*8 då blir det rätt

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelär detta rätt kod för att räkna ut karensär detta rätt kod för att räkna ut karens

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter