PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAIndex Passa LoopIndex Passa Loop
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2018-02-22 11:10
 

Hej, följande fråga kommer tydligt påvisa att skaparen besitter begränsade kunskaper i Excel och VBA. Därför vill jag kolla med er här på Excelforum.

Jag behöver skapa en funktion som hämtar data från en kolumn ur två andra flikar "class" och "qty" i arbetsboken och skriver ut data som passar en unik identifierare ur index med en loop som går genom samtliga rader. Varje flik i arbetsboken innehåller runt 55-60.000  rader.

Jag har använt följande kod för att passa data i index:

Sub Index()
Range("G2").Formula = "=Index(class!B2:B$10000,match(A2,class!A2:A$10000,0))"
End Sub

Därefter har jag provat med följande kod och får det inte att fungera bra:

Sub MyIndex()
Range("G2").Formula = "=Index(class!B2:B$10000,match(A2,class!A2:A$10000,0))"
Range("G2:N10000").FillDown
End Sub

 

Bifogar förklarande bilder.

 

Tacksam för hjälp.

 

Vänligen, FS

Nytt inlägg
 2018-02-23 13:52
 
 Ändrad av anonymous  på 2018-02-23 14:53:34

1. Varför FillDown till N1000? borde du inte köra till G1000?

Skapa formeln för G2 och H2 först sen kan du köra fillDown

2. Enligt din bild vill du söka i bladet qty i H2, lägg till en rad som fixar den formeln. 

Sub MyIndex()

Range("G2").Formula = "=Index(class!B2:B$10000,match(A2,class!A2:A$10000,0))"

Range("H2").Formula = "=Index(qty!B2:B$10000,match(A2,qty!A2:A$10000,0))"

Range("G2:H10000").FillDown

End Sub

 

3. Varför flyttar du startpunkten för sökningarna hela tiden? Kan du vara helt säker på att varunummret alltid står på en rad nedanför? Jag skulle nog låsa A2/ B2 i sökområdet

 

Sub MyIndex()

Range("G2").Formula = "=Index(class!$B$2:$B$10000,match(A2,class!$A$2:$A$10000,0))"

Range("H2").Formula = "=Index(qty!$B$2:$B$10000,match(A2,qty!$A$2:$A$10000,0))"

Range("G2:H10000").FillDown

End Sub

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAIndex Passa LoopIndex Passa Loop

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter