webForumDet fria alternativet

Hjälp med excel-Hämta info

2 svar · 485 visningar · startad av Johnson

JohnsonMedlem sedan juli 20082 inlägg
#1

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

MindreVetandeMedlem sedan okt. 2005371 inlägg
#2

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
#3

Tack så mycket, skall se om jag kan få det att funka.

135 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)