jeg bruger i dag et LOPSLAG da det er den eneste måde jeg kender for at søge på et vare nummer og så få oplyst vare beskrivelsen jeg kan sende dig et eksempel jeg har strikke sammen så kan du se hvad jeg mener. hvis det er ok. så send din email til mig på jat@vanpee.dk
Prøv evt at se her: www.kronsell.net/opslag.htm specielt omkring opslag i en matrix. Her kan du med udgangspunkt i noget du søger efter finde ting, der ligger over, under, til hæjre, venstre for osv. Du Leder fx efter VareID, som findes i E4, og formlen kan så returnere det, som står i E3, F3, B2 osv, ved at specificere et nærmere angivet antal rækker og kolonner fra udgangspunktet.
Hvis du fx indtaster Vare1 i F1, vil denne formel returnere det, som står to celler over og en celle til højre for den celle, der indeholder Vare1 (matrixen her er ganske lille men det ændrer ikke ved princippet).:
tak for dit bud, jeg har kikket lidt på den takst der er på dit link og som jeg forstår det er det så kun de 3 celler der vises altså den der bliver fundet med et LOPSLAG og så de to der kan justeres.
er det ikkke rigtigt.
jeg skal bruge alle cellerne der i mellem også.
forestil dig at det er en vare på en meter man har søgt på og så for oplyst vare nummer og bestillings nummer samt div. data.
jeg vil også kunne se alle di tilsvarende data på de to vare der er minder fx 0,75m 0g 0,5m samt de to der er støre fx 1,25m og 1,5m. giver det mening.
Min formel giver en information. Den skal så indsættes i alle de celler, hvor du ønnsker de andre informationer. Derefter skal hver formel tilrettes, så den returnerer information i forhold til udgangspunktet. Forestil dig at Varen på 1 meter står i e4, bestillingsnummeret i d4. I e3 står varen på 0,75 cm. Bestillingsnummeret på denne står i d3, I f3 står nogle data om varen på 0,75. For at få disse informationer skal du have nogle formler, der returnerer data i forhold til varen på 1 meter: Denne formel returnerer bestillinsnummeret på varen på en meter:
Og så fremdeles skal du tilpasse formelen for alle de data, du ønsker at returnere. Hvis du ønsker at returnere en celle med bestillingsnummer og 1 celle med varedata for varen, du leder sant de to varer lige større og lige mindre end den, du leder efter, har du altså brug for 8 formler i alt. Nenmlig de otte, der ligge lige rundt om den oprindelige matrixen.
Du kan ikke lave en formel, der returnerer alle data samtidigt på en menngsfuld måde.
Const ark1Navn = "Ark1" 'Kan ændres efter behov Const ark2Navn = "Ark2" '-"- Dim antalVareData Private Sub worksheet_change(ByVal Target As Excel.Range) Dim vNr, vNrRække, ark1 As Worksheet, ark2 As Worksheet Rem Opsætning af ark Set ark1 = ActiveWorkbook.Sheets(ark1Navn) Set ark2 = ActiveWorkbook.Sheets(ark2Navn)
Application.ScreenUpdating = False
Rem Indtastes der nyt varenr If Not Intersect(Target, Range("D6:D6")) Is Nothing And _ Target.Address = "$D$6" Then If Target.Value <> "" Then vNr = Target.Value vNrRække = findVarenr(vNr)
ark1.Activate
If vNrRække > 0 Then opbygOversigt vNrRække Else MsgBox ("Varenr.: " & vNr & " kunne ikke findes") End If End If End If End Sub Private Function findVarenr(vNr) ark2.Activate
With ark2.Range("A2:A" & CStr(antalVareData)) Set c = .Find(vNr, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findVarenr = c.Row Else findVarenr = 0 End If End With End Function Private Sub opbygOversigt(vNrRække) Rem Ryd gammelt indhold i celleOmrådet ark1.Activate Range("B11:F15").Select Selection.ClearContents
Rem Placer data for valgte varenr i række 13 hentVareData vNrRække, 13
Rem 2 næste hentVareData vNrRække + 1, 14 hentVareData vNrRække + 2, 15
Rem 2 forgående hentVareData vNrRække - 1, 12 hentVareData vNrRække - 2, 11 End Sub Private Sub hentVareData(fraRække, TilRække) If fraRække <= antalVareData And fraRække >= 2 Then For kolonne = 1 To 5 ark1.Cells(TilRække, kolonne + 1) = ark2.Cells(fraRække, kolonne) Next kolonne End If End Sub
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.