30. juni 2022 - 08:12Der er
2 kommentarer og 1 løsning
Stykliste
Jeg vil gerne have lavet en stykliste, hvor du hvis du taster et varenummer, der består af flere dele tager det hele med over.
F.eks
101020 Beslag består af 101021 10 vinkelsbeslag 101022 40 skruer
Jeg har en formel - som jeg har fundet på nettet:
Function FLOPSLAG(ops As Variant, num As Single, rn As Range, ofs As Byte) Dim Taeller As Long Dim i As Long i = 0 For Each c In rn.Columns(1).Cells If c.Value = ops Then i = i + 1 End If Next c If num - CInt(num) <> 0 Or num < 1 Then FLOPSLAG = CVErr(xlErrNum) Exit Function End If If i < num Then FLOPSLAG = CVErr(xlErrNA) Exit Function End If Taeller = 0 For Each c In rn.Columns(1).Cells If c.Value = ops.Value Then Taeller = Taeller + 1 If Taeller = num Then FLOPSLAG = c.Offset(0, ofs - 1).Value Exit Function End If End If Next c End Function
- og den fungerer sådan set ok - den er bare mega langsom
Det er fordi jeg skal have det over på et andet ark , da jeg skal lave tilbud, hvor varenumrene forekommer flere gange. Ellers ville det have været en nem løsning :-))
Function FLOPSLAG(ops As Variant, num As Single, rn As Range, ofs As Byte)
Dim Taeller As Long Dim i As Long Dim va As Variant va = rn Dim Counter As Long i = 0 If num - CInt(num) <> 0 Or num < 1 Then FLOPSLAG = CVErr(xlErrNum) Exit Function End If
For Counter = LBound(va, 1) To UBound(va, 1) If va(Counter, 1) = ops Then i = i + 1 Next
If i < num Then FLOPSLAG = CVErr(xlErrNA) Exit Function End If
Taeller = 0 For Counter = LBound(va, 1) To UBound(va, 1) If va(Counter, 1) = ops Then Taeller = Taeller + 1 If Taeller = num Then FLOPSLAG = va(Counter, ofs) Exit Function End If End If Next
End Function
Synes godt om
Ny brugerNybegynder
Din løsning...
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.