JohnsonMedlem sedan juli 20082 inlägg Jag har en lista med två typer av artikelnummer, dessa är uppdelade i kolumner, så att ex artikelnummer 1 i cell A1 motsvaras av artikelnummer 2 i cell B1, alltså två artikelnummer för samma produkt, vårat nummer och kundens.
Det jag undrar är hur man skulle göra ett makro så att när man skriver i ett av numren som finns i listan i en rad i en tabell kan få det motsvarande numret automatiskt ifyllt i en annan rad? Alltså att makrot kollar i listan och fyller i kundens art# om man skrev in vårat art# (och tvärtom) för en speciell artikel.
Vårat art# Kunds art#(för samma artikel)
9876x 12345xx
9875x 12346xx
Hoppas det blev hyfsat förståeligt ;)
Tack
Tror det räcker med en gammal hederlig formel, typ =letarad()
Nehej. Du vill kunna fylla i vilket som. Det var ju besvärligare.
Antag att din "matchningslista" ligger i koulmn A och B i blad1.
Din offert (whatever) finns i blad 2. Där vill du antingen fylla i vårt_art_nummer i RAD1 och Kunds_art i RAD3 (samma kolumn) och automagiskt få in det andra numret
Då går du till Blad2, högerklicka på fliknamnet och välj "visa kod" och skriv in någonting i stil med:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count <> 1 Or Target.Value = "" Or (Target.Row <> 1 And Target.Row <> 3) Then Exit Sub
Application.EnableEvents = False
If Target.Row = 1 Then
Target.Offset(2, 0).Formula = "=INDEX(Blad1!C2,MATCH(R[-2]C,Blad1!C1,0))"
Target.Offset(2, 0).Value = Target.Offset(2, 0).Value
ElseIf Target.Row = 3 Then
Target.Offset(-2, 0).Formula = "=INDEX(Blad1!C1,MATCH(R[+2]C,Blad1!C2,0))"
Target.Offset(-2, 0).Value = Target.Offset(-2, 0).Value
End If
Application.EnableEvents = True
End Sub
Eller vill du alltid skriva in i rad 1 och få ut någonting i rad3? Då måste du ju skapa ett vilkor som förstår om du har skrivit in ett kund-eller företagsnr. Ett exempel på formel där vi antar att 7 tecken betyder kund och 5 tecken betyder ert eget.
=OM(LÄNGD(A1)=5;INDEX(Blad1!$B:$B;PASSA(A1;Blad1!$A:$A;0));OM(LÄNGD(A1)=7;INDEX(Blad1!$A:$A;PASSA(A1;Blad1!$B:$B;0))))
JohnsonMedlem sedan juli 20082 inlägg Tack så mycket, skall se om jag kan få det att funka.