Új hozzászólás Aktív témák

  • Fferi50

    őstag

    válasz botond187 #22788 üzenetére

    Szia!

    Paraméterezheted is a makrót.
    Csinálsz egy táblázatot, amelybe berakod egy-egy oszlopba a "főcikk" tól-ig cikkszámokat, a másik 2 oszlopba pedig a hozzátartozó "kiegészítő" cikkek tól-ig határait.
    Ezután a makródnak azt kell megnéznie, hogy az adott cikkszám mely határok közé esik és onnan kivenni a hozzátartozó határértékeket.
    Kicsit csúnya mert még egy for ciklus van benne, de most hirtelen nem jut jobb eszembe (pedig biztosan van).

    For xx= 1 to 200
    cikkszam=cells(xx,1).value
    kiegalso=""
    kiegfelso=""
    for zz=1 to főcikkfeltételszám
    if cikkszam>=cells(zz,10).value and cikkszam<=cells(zz,11).value then
    kiegalso=cells(zz,12).value
    kiegfelso=cells(zz,13).value
    exit for
    endif
    next
    if kiegalso<>"" then
    kieg=""
    for yy=1 to 200
    if cells(yy,1).value>=kiegalso and cells(yy,1).value<=kiegfelso then
    if kieg="" then
    kieg=cells(yy,1).value
    else
    kieg=kieg & elválasztó & cells(yy,1).value
    endif
    endif
    next
    if kieg<>"" then
    cells(xx,2).value=kieg
    endif
    endif
    next

    A határokat tartalmazó táblázat a 10-12. oszlopban van. A ciklushatárokat igazítsd a feltöltött sorokhoz.
    A belső yy-os ciklus elvileg indulhat xx -től egy (1) helyett, ha a kiegészítő termékek cikkszáma nagyobb, mint a főtermékeké és a cikkszámok sorba vannak rendezve. A működéshez ez nem szükséges, akkor marad az 1, mint cikluskezdő (hiszen lehet, hogy az első cikkszám nem főtermék, hanem kiegészítő).

    Üdv.

Új hozzászólás Aktív témák