Tema: Re: rimux dar reikia tavo pagalbos :)
Autorius: rimux
Data: 2015-09-08 08:18:53
Galvoju, kad paprasciausias sprendimas butu vba funkcija pasirasyti, bet su vba fuunkcijomis toks trukumas yra, kad jos zymiai ilgiau skaiciuoja nei
standartines funkcijos. Zemiau imetu funkcijele kuri daro lygiai ta pati ka ir INDEX/MATCH funkciju kombinacija:

Public Function Paieska(ko, kur, rez_stulp)
  'ieskom ko reindze kur, ir jei randam grazinam reiksme is stulpelio rez_stulp
  'jeigu rasta daugiau nei 1, grazinam kiek yra vienodu reiksmiu
  
  On Error GoTo klaida
  
  n = Application.WorksheetFunction.Match(ko, kur, 0)
    
  C = Application.WorksheetFunction.CountIf(kur, ko)
    
  If C > 1 Then
    Paieska = "rasta " + str(C)
  Else
    Paieska = Application.WorksheetFunction.Index(rez_stulp, n)
  End If
  
  Exit Function
  
klaida:
  Paieska = "-"
End Function

Tada reiktu i C2 cele irasyti:
=Paieska(B2;'kodai barkodai'!$A:$A;'kodai barkodai'!$B:$B)


Issibandyk sita funkcija ant savo duomenu, ir jeigu jos veikimo greitis tenkina, tada ja galima pamodifikuoti kad ji generuotu atsakyma toki kokio
reikia.
Dar vienas patarimas - naudojant tokia ir panasias ilgai veikiancia sfunkcija,s galima Excelio opcijose isjungti automatini formuliu perskaiciavima,
ir formuliu skaiciavima daryti rankiniu budu su F9.


On Fri, 4 Sep 2015 10:18:19 +0300, "BURRIS" <burris@gmail.com> wrote:

>dar šiek tiek prie to pačio excel.
>nepastebėjau kad yra vienodų kodų ir skirtingų barkodų tam pačiam kodui:
>POP99011CBR    325 10 BG2
>POP99011CBR    4587DR
>POP99011CBR    8031006020312
>POP99011CBR    GD4587DR
>POP99011CBR    HF-OP11012-G1
>POP99011CBR    OP08-000G-A1
>POP99011CBR    OP080000G-1R00
>POP99011CBR    OP99016CAR
>POP99011CBR    POP99011CBR
>POP99011CBR    UOE04-34312
>
>ar galima kaip nors tuos barkodus sukisti i viena cele skiriant tuos
>kabliataskiu? nes dabar atkelia tik pirma barkoda.