Telefonszámunk: 1-472-0679

.xlam-ban vlookup használata

Kezdőlap Fórumok Excel programozás .xlam-ban vlookup használata

15 bejegyzés megtekintése - 1-15 / 15
  • Szerző
    Bejegyzés
  • #3709
    Titok
    Felhasználó

      Sziasztok!

      Van egy bajom: nem akar menni ez a függvény, amit zy.xlam függvénybe írtam:

      Public Function besor1(hirdszektkod As String)
      Dim tabla As Range

      Set ws = Sheets(“Besor”)
      ws.Activate
      Set tabla = Range(“A1:D10000”)

      besor1 = ws.Application.WorksheetFunction.VLookup(hirdszektkod, tabla, 2, False)

      End Function

      #ÉRTÉK! hibát ír ki?

      Mi lehet a baja?

      #3710
      horvimi
      Adminisztrátor

        Szia!

        Ha jól sejtem, akkor UDF-ként akarod használni.
        Így a fókuszt nem viheted el az aktív celláról.
        Tehát a ws.Activate lehet az egyik a baja.
        A másik, hogy olyan nincs, hogy ws.Application.worksheetfunction. ws nélkül kell használni.

        Harmadik gondolatom, hogy vajon ennek mi az isten értelme van azzal szemben, hogy beírsz egy VLOOKUP függvényt a cellába? Hacsak nem mégsem UDF. DE akkor nem írhat ki #ÉRTÉK hibát.

        Imre

        • A hozzászólás módosításra került: 6 years, 10 months telt el-horvimi.
        #3716
        Titok
        Felhasználó

          Szia!

          Értelme az lenne, hogy a leggyakrabban használt keresésekhez nem kellene nyitogatni fájlokat, hanem függvényként jelen lennének. És ez 1 helyen lenne, amit több felhasználó használna bővítményként. (A listát kell frissíteni rendszeresen, így viszont mindenkinél naprakész lenne.)

          #3717
          horvimi
          Adminisztrátor

            OK.
            És a fentiek szerint próbáltad javítani?

            #3720
            Titok
            Felhasználó

              Szia!

              Igen, kipróbáltam, de nem megy így se.
              Azért kérdem, hogy lehet-e így megcsinálni, hogy ne ciklusokkal kelljen keresni a táblákban.
              Egyéb ötlet esetleg?

              #3725
              horvimi
              Adminisztrátor

                Szia!

                Kipróbáltam, nekem így működik:

                Public Function kikeres(id) As Variant
                Dim tabla As Range
                
                    Set tabla = Sheets("nevsor").Range("A1:D10000")
                    kikeres = Application.WorksheetFunction.VLookup(id, tabla, 2, False)
                End Function
                

                Ebben nincs most hibakezelés, azaz hogy ha nincs találat, akkor mi van.

                imre

                • A hozzászólás módosításra került: 6 years, 10 months telt el-horvimi.
                #3731
                Titok
                Felhasználó

                  Köszi!!!!!!!!!!!!
                  Így már megy.
                  Majd még .xlamként is kipróbálom, de xlsm-ben már jó!
                  Mégegyszer köszi!

                  #3733
                  Titok
                  Felhasználó

                    Szia!

                    Sajnos, ha lementem .xlam-ban, már nem működik.
                    Mi lehetne a megoldás?

                    #3743
                    horvimi
                    Adminisztrátor

                      Nekem simán megy.

                      A bővítményt bekapcsoltad?
                      A teszt munkafüzetben létezik „nevsor” nevű lap? (Ez ugye bele van drótozva.

                      Imre

                      #3756
                      Titok
                      Felhasználó

                        Szia!

                        Tehát .xlsm formátumban működik.
                        Ha lementem bővítményként, aktiválom a bővítményt, akkor #ÉRTÉK hibát ad.
                        A függvények neve is megjelenik, csak nem működnek.
                        Az adatvédelmi központban is engedélyezve vannak a makrók, a bővítmények sincsennek letiltva.
                        Na, még megpróbálom másik gépről is, lehet, hogy az Excelem nem jól telepedett.
                        Valami ötlet még? 🙂

                        #3757
                        Titok
                        Felhasználó

                          Nem lehet, hogy az a baja, hogy ha bővítményként mentem, akkor meg kellene adni az útvonalat is a munkalaphoz?
                          Ugyanis ha bemásolok egy ugyanolyan nevű munkalapot valamelyik fájlba, akkor már működik a .xlam függvény!
                          Azt hiszem, ez lesz a megoldás!

                          #3758
                          Titok
                          Felhasználó

                            Hogyan kellene hivatkozni a xlam függvényre?
                            Beégessem? Mert így nem jó:

                            Public Function fioknev(id) As Variant
                            Dim tabla As Range
                            Dim hossz As Integer
                            id = id & „”
                            wb = ActiveWorkbook.Path
                            wbn = wb & „\Function2.xlam”

                            hossz = Len(id)

                            If hossz = 2 Then
                            Set wbb = wbn
                            Set tabla = Sheets(„Fiok”).Range(„C1:L200”)
                            fioknev = Application.WorksheetFunction.VLookup(id, tabla, 2, False)
                            End If

                            If hossz = 8 Then
                            Set wbb = wbn
                            Set tabla = Sheets(„Fiok”).Range(„A1:L200”)
                            fioknev = Application.WorksheetFunction.VLookup(id, tabla, 4, False)
                            End If

                            If hossz > 8 Then
                            id = Left(id, 8)
                            Set wbb = wbn
                            Set tabla = Sheets(„Fiok”).Range(„A1:L200”)
                            fioknev = Application.WorksheetFunction.VLookup(id, tabla, 4, False)
                            End If

                            End Function

                            #3759
                            horvimi
                            Adminisztrátor

                              Szia!

                              Jól elvagy itt magaddal 🙂
                              A bővítmény függvényei natív függvénynek látszódnak, nem kell semmilyen útvonal vagy ilesmi.
                              A fenti kódban a wb=, wbn=, set wbb= sorok nem kellenek, nem is használod semmire őket.

                              Ezt a mondatot nem értem:
                              „Ugyanis ha bemásolok egy ugyanolyan nevű munkalapot valamelyik fájlba, akkor már működik a .xlam függvény!”

                              A függvénybe bele van drótozva, hogy a munkafüzet, emiben fut, tartalmaz egy „Fiok” nevű lapot. Itt fontos, hogy számít a kis és nagybetű különbség.

                              Imre

                              #3760
                              Titok
                              Felhasználó

                                Szia!

                                JA, elvan a gyerek… Igen, mert jó lenne pontot tenni erre, csak nem sikerül.
                                Szóval kezdem elölről, mert lehet, hogy nem is bővítmény lesz a jó megoldás.
                                Tehát a cél az lenne, hogy több felhasználónak legyen egy függvény, ami elérhető.
                                Gyakorlatilag egy FKERES, csak egyszerűsíteni szeretném nekik.
                                És a másik, hogy a mögöttes táblában csak egy valakinek kellene frissíteni az adatokat, de mindig kéznél lenne.
                                Egyszerűbb lenne, ha átpakolnám nekik az egészet Querybe, és csak a lekérdezésfájlokat kellene nyomkodniuk, dehát, majd.

                                #3761
                                horvimi
                                Adminisztrátor

                                  Ha bővítmény, akkor is fel kell tenni minden gépre.
                                  Sima xlsm-ben működik igaz?
                                  Akkor miért nem teszed mindenkinek a Personal.XLSM-be?

                                15 bejegyzés megtekintése - 1-15 / 15
                                • Be kell jelentkezni a hozzászóláshoz.