Telefonszámunk: 1-472-0679

Irányított szűrő makrózva

Kezdőlap Fórumok Excel programozás Irányított szűrő makrózva

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • #2619
    hundtt
    Felhasználó

      Kedves Imre!

      Ha az irányított szűrést makróval szeretném automatizálni, akkor az vajh miért nem hajlandó a működésre?
      Manuálisan csinálva hozza az eredményeket, de ha makró-rögzítővel felveszem a lépéssorozatot és újra futtatom, semmilyen eredményt nem jelenít meg. 🙁
      A szűrendő adatok egy külön fájlban vannak (legyen Fájl1), a kritérium és az eredménytartomány pedig a Fájl2:

      Workbooks.Open Filename:=”C:\projektek\Fájl1.xlsx”
      Windows(“Fájl2.xlsm”).Activate
      Range(“A1”).Select
      Application.CutCopyMode = False
      Workbooks(“Fájl1.xlsx”).Sheets(“PJz”).Range(“A1:L101”). _
      AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range(“A1:L2”), _
      CopyToRange:=Range(“A4:L4”), Unique:=False
      Range(“A1”).Select

      Mi lehet a hiba?
      Előre is köszönöm válaszod! ?

      Attachments:
      You must be logged in to view attached files.
      #2621
      horvimi
      Adminisztrátor

        Szia Tamás!

        Majdnem biztos voltam benne, hogy dátum mezővel szívsz.
        Ezekkel autofilternél és advanced filternél is csak a baj van.
        Makrófuttatáskor konkrétan nem eszi meg a dátumot dátum formátumban.
        Tehát nem írhatod ezt:

        >=2016.03.24

        Az már eggyel jobb próbálkozás volt, (mert gondolom sejtetted a problémát), hogy megpróbáltad összefűzni a dátumot, de az eredmény továbbra is dátum forma maradt:

        Range("C2").Select
        ActiveCell.FormulaR1C1 = "=""<=""&YEAR(RC[10])&"".""&MONTH(RC[10])&"".""&DAY(RC[10])"

        Az egyik lehetséges megoldás az, hogy megnézed, hogy annak a dátumnak, ami akarsz,
        mi a dátumszáma, és azt írod a feltételbe. Pl.: a 2016.03.29 dátumszáma 42458.

        Tehát ez jó lehet:
        <=42458

        De ez elég béna, ezért számított formában érdemes beírni a cellába a makró futtatás előtt:

        ="<="&DÁTUM(2016;3;27)

        Beírás után különben ez dátumszámkét fog látszódni
        <=42457

        És végül, ha makróval akarod beírni:

        Selection.FormulaR1C1 = "=""<=""&DATE(2016,3,27)"

        Így a dátum egyes részei lehetnek befűzött változók is.

        Kipróbáltam a küldött fájlon, működik, úgyhogy menni fog Nálad is, most nem xcsatolom vissza.

        Minden jót, majd jelezd, hogy rendben van-e!

        Imre

        • A hozzászólás módosításra került: 8 years, 8 months telt el-horvimi.
        #2624
        hundtt
        Felhasználó

          GigaCsúcsSzuper vagy Imre!!!

          A dátumozást is sikerült automatikussá tenni, az alábbival:
          ActiveCell.FormulaR1C1 = _
          „=””<=””&DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))”

          Jövök Neked egy havi sörfogyasztással!
          Köszönöm szépen! 😉

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