Just nu i M3-nätverket
Gå till innehåll

Skattetabell Excel


Bigmc

Rekommendera Poster

Hallå

 

Måste säga att jag fått underbar hjälp med löne kalkylen av pejo. Den är som en dröm. Nu har jag dock stött på ett nytt problem. Jag har tagit hem skattetabell 2010 för excel tiill min dator. Så nu har jag fått denna formel

=LETAUPP($B$36;[skatt.xls]Månadstabell!$C$1616:$C$2102;[skatt.xls]Månadstabell!$E$1616:$E$2102)

att utifrån skattetabellfilen ta fram exact belopp enligt tabell.

 

B36=Bruttolön

skatt.xls**********c1616:c2120 området för tabell 32

Och så plockar den fram värdet från samma rad för kolumn e

 

Det jag vill är att i B37 via data verifiering välja tabell 31;32;33;osv i tabell filen så står alla tabell nummer i kolumn b men på varje rad.

Så det jag skulle vilja matcha är tex 32 i kolumn b och 18400 i kolumn c sedan om det löses ska jag bygga vidare med olika kolumner i skatte tabell beroende av vilken kategori av anställd.

 

Hoppas detta går att lösa har provat massa lösningar med letarad passa index produktsumma. Men inte fått till det alls bra.

 

Tackar för att ni läser detta.

Länk till kommentar
Dela på andra webbplatser

Nej, jag förstår inte exakt vad du vill men lösbart är det nog...

 

eller

 

Du hittar en referens till en tabell (nummer 32) och vill sedan ur denna referens söka efter ett nytt värde?

 

Nej, det är det nog inte.

 

Gör ett nytt försök, beskriv/visa vad du har och vad du vill ha. Som ett enkelt exempel, behöver inte vara exakt den mall som ditt dokument har. Ta ett enkelt exempel där du vill samma sak.

Länk till kommentar
Dela på andra webbplatser

Hallå

 

Måste säga att jag fått underbar hjälp med löne kalkylen av pejo. Den är som en dröm. Nu har jag dock stött på ett nytt problem. Jag har tagit hem skattetabell 2010 för excel tiill min dator. Så nu har jag fått denna formel

=LETAUPP($B$36;[skatt.xls]Månadstabell!$C$1616:$C$2102;[skatt.xls]Månadstabell!$E$1616:$E$2102)

att utifrån skattetabellfilen ta fram exact belopp enligt tabell.

 

B36=Bruttolön

skatt.xls**********c1616:c2120 området för tabell 32

Och så plockar den fram värdet från samma rad för kolumn e

 

Det jag vill är att i B37 via data verifiering välja tabell 31;32;33;osv i tabell filen så står alla tabell nummer i kolumn b men på varje rad.

Så det jag skulle vilja matcha är tex 32 i kolumn b och 18400 i kolumn c sedan om det löses ska jag bygga vidare med olika kolumner i skatte tabell beroende av vilken kategori av anställd.

 

Hoppas detta går att lösa har provat massa lösningar med letarad passa index produktsumma. Men inte fått till det alls bra.

 

Tackar för att ni läser detta.

 

 

Har testat med lite olika passa, index mm. och det är nog bara att lägga ner. Kanske man kan lösa det med en letarad-funktion genom att använda ett namngivet men dynamiskt område? Dock oklart hur :-(

 

Anyway, givet att kombinationen b och c (dvs 32 och 18400) är unik så kan du faktiskt lösa det med EDIT: =SUMMA.OMF(E5:E19;B5:B19;C36;C5:C19;B36) om jag förstått det rätt. Verkar funka på min lilla mini-tabell.

(min test-tabell alltså i range A5:E19).

 

Problemet med min omf-funktion är ju om du då i B36 skriver 18401, då blir det ingen match. Detta kan du kanske hantera med en avrunda() utifrån vad som ter sig lämpligt.

 

 

/M

Länk till kommentar
Dela på andra webbplatser

Shape_sthlm, du lyckades tolka det ovan?

Mer än jag gjorde.

Fast...hur ser grundtabellen ut? I stil med

A____B_____C

1____1

_____2

_____3

2____1

_____2

_____3

 

och det man vill är söka reda på index i A, dvs 1, 2, för att visa de i B och sedan kunna välja ett av dessa för att visa något i C?

 

Det går.

Men säg att det är så innan jag ger mig in på att förklara hur det går till. PASSA och FÖRSKJUTNING och mer PASSA är inblandat.

Länk till kommentar
Dela på andra webbplatser

Shape_sthlm, du lyckades tolka det ovan?

 

haha, nja det återstår att bedömas av frågeställaren.

 

se bifogad bild, uppfattar att principen är enligt denna struktur.

 

vore bra om du kan få till det med FÖRSKJUTNING, är lite osäker på hur jag hanterar den funktionen.

 

 

/M

post-50730-126514504586_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

haha, nja det återstår att bedömas av frågeställaren.

 

se bifogad bild, uppfattar att principen är enligt denna struktur.

 

vore bra om du kan få till det med FÖRSKJUTNING, är lite osäker på hur jag hanterar den funktionen.

 

 

/M

Fast vad är det du/ni vill få fram?

Givet en lön är det väl en given skattetabell och... mmh, vad vill ni söka. Sorry. Har det inte klart för mig just nu.

Länk till kommentar
Dela på andra webbplatser

Hej igen,

 

Få se om jag har fattat dig rätt ...

Var det något sådant här du tänkte dig?

(Bifogad fil är i 2007-format, mest för den smidiga tabell-definitionen, men samma sak går att åstadkomma för 2003. Delstegen för att hitta startrad och antal rader av rätt skattetabell är redovisade av pedagogiska skäl och kan naturligtvis infogas direkt i LETARAD-formeln.)

 

Hälsningar

/Johan

Skattetabell.zip

Länk till kommentar
Dela på andra webbplatser

Hej igen,

 

Få se om jag har fattat dig rätt ...

Var det något sådant här du tänkte dig?

(Bifogad fil är i 2007-format, mest för den smidiga tabell-definitionen, men samma sak går att åstadkomma för 2003. Delstegen för att hitta startrad och antal rader av rätt skattetabell är redovisade av pedagogiska skäl och kan naturligtvis infogas direkt i LETARAD-formeln.)

 

Hälsningar

/Johan

 

 

Hej alla tackar för era insatser Pejos lösnng fungerar kanonbra. Undrar bara om det finns något sätt att komma runt problemet med att man måste ha skatt.xls öppen samtidigt iom att jag har tabellen i en fil som är gemensam för flera. Eller om det i alla faall går att få den att öppna den filen samtidigt som man öppnar en löne bok. Antar att de andra lösningarna hade gått att få ihop oxå.

 

/Marcus

Länk till kommentar
Dela på andra webbplatser

... Eller om det i alla faall går att få den att öppna den filen samtidigt som man öppnar en löne bok. ...

Detta kräver bara följande enkla makro i modulen "ThisWorkbook". (Högerklicka på ThisWorkbook i VBA-editorn och välj Visa kod.):

Private Sub Workbook_Open()
Dim strTemp As String
Dim strPath As String

strTemp = ThisWorkbook.Name
strPath = ThisWorkbook.Path + "\Skatt.xlsx"

Workbooks.Open Filename:=strPath
Windows(strTemp).Activate
End Sub

När boken öppnas letar makrot efter Skatt.xlsx i samma katalog som den själv befinner sig och öppnar den. Så länge inte någon ändrar i Skatt.xlsx borde flera kunna öppna den samtidigt (om än som read-only).

 

Hälsningar

/Johan

 

P.S. Finns ett tillval för att öppna filen som read-only: ReadOnly:=true D.S.

Länk till kommentar
Dela på andra webbplatser

Detta kräver bara följande enkla makro i modulen "ThisWorkbook". (Högerklicka på ThisWorkbook i VBA-editorn och välj Visa kod.):

(snip)

End Sub[/code]

När boken öppnas letar makrot efter Skatt.xlsx i samma katalog som den själv befinner sig och öppnar den. Så länge inte någon ändrar i Skatt.xlsx borde flera kunna öppna den samtidigt (om än som read-only).

 

Hälsningar

/Johan

 

P.S. Finns ett tillval för att öppna filen som read-only: ReadOnly:=true D.S.

 

Bra jobbat Pejo. Jag var vilse, du redde ut det :)

Enkla svaret på frågan du svarar på är att boken måste vara öppen för att LETARAD, PASSA och liknande formler ska kunna arbeta med den.

Enklaste lösningen är då givetvis att kopiera in dessa data i boken som behöver dem eller fixa så att boken som behövs öppnas med lite kod som ovan.

 

Baka bara in koden i lite felhanterare som användaren kan begripa, gärna med en fildialog som användaren kan använda för att peka var filen som behövs finns om den inte hittas.

Länk till kommentar
Dela på andra webbplatser

Bra jobbat Pejo. Jag var vilse, du redde ut det smile.gif

Enkla svaret på frågan du svarar på är att boken måste vara öppen för att LETARAD, PASSA och liknande formler ska kunna arbeta med den.

Enklaste lösningen är då givetvis att kopiera in dessa data i boken som behöver dem eller fixa så att boken som behövs öppnas med lite kod som ovan.

 

Baka bara in koden i lite felhanterare som användaren kan begripa, gärna med en fildialog som användaren kan använda för att peka var filen som behövs finns om den inte hittas.

 

 

Halloj testade med vba koden men den hänvisar till att filen inte finns av någon anl letar den i c:\document&settings\m&s\lokalainställningar\temp\skatt.xls

 

Om jag kopierar in skatt filen där öppnas den men returnerar ett fel tack vare att sökvägen mellanfilerna inte stämmer i kalkylbladet.

 

 

Edit

Får öppningen att fungera med följande text men då med precis sökväg

Private Sub Workbook_Open()

Application.Workbooks.Open ("d:\excel\skatt.xls")

End Sub

 

Skulle även vilja stänga och bara öppna i bakgrund om möjligt.

Får ett meddelande vid öppning att denna arbetsbok innehåller formelreferenser till andra arbetsböcker det går inte att uppdatera de här länkarna med den här versionen av excel.

 

 

Är detta en kollision mellan 2003 som jag kör nu i laptopen och 2007 som jag använder stationärt.

 

Skulle dessutom vilja minimera skatt filen denna kommer i nuläget upp överst

Länk till kommentar
Dela på andra webbplatser

Lite modifierad kod som nästan gör det du vill. Anropa den första rutinen ned från Workbook_Open eller liknande:

Private Sub OpenActions()
	Dim strPath As String
	Dim rnData As Range
	Dim wbSkatt As Workbook
	Set rnData = Range("lastFileName")
	If rnData <> "" Then
	If Dir(rnData) <> "" Then
	strPath = rnData
	End If
	End If
	If strPath = "" Then
	strPath = GetFileName
	If strPath = "" Then Exit Sub
	End If

	On Error Resume Next
	Set wbSkatt = Workbooks.Open(Filename:=strPath, ReadOnly:=True)
	If Not wbSkatt Is Nothing Then rnData = strPath
	Windows(wbSkatt.Name).WindowState = xlMinimized
	ThisWorkbook.Activate
End Sub


Function GetFileName() As String
	With Application.FileDialog(msoFileDialogOpen)
	.Title = "Öppna skattetabell"
	.InitialFileName = "Skatt.xls"
	.Show
	If .SelectedItems.Count = 0 Then
	GetFileName = ""
	Else
	GetFileName = .SelectedItems(1)
	End If
End With


End Function

Fönstret som öppnas minimeras. Det går även dölja det helt men då får du se till att stänga det med kod när du stänger arbetsboken annars kommer det ligga kvar dolt.

Koden ovan kontrollera inte om det är rätt bok som öppnas eller om boken måhända redan är öppen.

 

Fildialogen kan du skippa om du vill, lägga bara in korrekt sökväg i en cell med namnet som används i koden. Ja, en sådan cell måst du definiera/namnge. Annars fungerar inte koden.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...