Telefonszámunk: 1-472-0679

[Resolved] Korábbi és új cellatartalom összehasonlítása

Kezdőlap Fórumok Excel témák [Resolved] Korábbi és új cellatartalom összehasonlítása

Topic Resolution: Resolved
5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #3863
    roznar
    Felhasználó

      Sziasztok!
      Létezhet-e az Excelben olyan függvény, amely képes egy cella korábbi tartalmát összehasonlítani az esetlegesen megváltoztatott tartalommal. Ha tehát egy cellában a fájl megnyitásakor „Pista” volt, és átírom „Józsira”, akkor legyen a függvény értéke 1, ha pedig „Pistára írom át, vagy pedig hozzá sem nyúlok, akkor maradjon a függvény értéke 0. Vajon lehetséges ezt megcsinálni?

      #3864
      horvimi
      Adminisztrátor

        Szia!

        Ilyen lehetőség alapból nincs az Excelben. Két fájl vagy munkalap esetén lehetne összehasonlítást csinálni, de ugyan annak a cellának a változását detektálni függvényekkel nem lehet.

        Eseménykezelő makrókkal lehet ilyesmit csinálni, hogy ha változik egy figyelt cella vagy tartomány valamely cellája, akkor egy rejtett lapra, vagy általad megadott helyre beírja, hogy mi volt z érték, és mi lett az új.

        Mindezt viszont minden módosításra megteszi, hacsak nem még azt is leprogramozod, hogy megnyitás után csak az első módosítást figyelje.

        Ehhez bele kell ásnod magad a VBA-ba, azon belül az eseménykezelésbe. Ha rákeresel, akkor fogsz találni megoldásokat a neten ilyesmire.

        Pl. ha ezt írod a keresőbe, akkor kapsz lehetséges megoldásokat vagy olyat, amin el tudsz indulni.

        excek vba detect cell change

        Imre

        #3865
        roznar
        Felhasználó

          Kösz a segítséget. Szóval a VBA-ba most valószínűleg nem fogom beleásni annyira magamat, találtam viszont egy számomra elfogadható – bár kissé körmönfont – áthidaló megoldást.

          A változtatni kívánt cellák oszlopa mellé létrehoztam 2 oszlopot (lásd:mellékelt fájl). Az első a változtatni kívánt cellára hivatkozik, a másodikban lévő függvény pedig 0 vagy 1 értékeket ad vissza, attól függően, hogy az előző két cella tartalma megegyezik egymással vagy sem. Megnyitáskor természetesen minden esetben 0 értéket ad.

          Megnyitás után aztán a második oszlopban lévő cellák hivatkozását megszüntetem, (Ezt csak úgy tudom megcsinálni, hogy az oszlopot lemásolom, majd ugyanoda irányított beillesztéssel beillesztem, hogy csak az értékeket illessze be. Lehet, hogy van erre valamilyen más megoldás is, de én azt nem ismerem.) Ezzel elérem azt, ezek a cellák megőrzik a megnyitáskori értékeket, és amennyiben az első oszlopban valamit megváltoztatok, a 3. oszlopban 1-es jelenik meg.

          Most már csak arra lenne szükségem, hogy azokat a sorokat el tudjam törölni, ahol megmaradt a 0. Természetesen nem akarom a sorokat egyenként törölgetni, de nem tudom, hogyan lehetne az összes 0-t tartalmazó sort egyszerre kijelölni.

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

            Hát, ha ez így jó neked, akkor ok.
            A nullák törlése már egyszerű. Csak autoszűróvel rászűrsz abban az oszlopban a nullákra, majd a kapott sorokat törlöd.

            imre

            #3868
            roznar
            Felhasználó

              Köszönöm.

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