Telefonszámunk: 1-472-0679

[Resolved] MOST függvény használata

Kezdőlap Fórumok Excel témák [Resolved] MOST függvény használata

Topic Resolution: Resolved
29 bejegyzés megtekintése - 1-29 / 29
  • Szerző
    Bejegyzés
  • #1981
    irkass2
    Felhasználó

      Hello

      Az lenne a kérdésem, hogy a MOST függvénnyel hogy lehetne azt megcsinálni, hogy ha egy cellába (A1) írok valamit (pl „emailt elküldtem X kft részére”) akkor a mellette lévő cellába (B1) beírja az aktuális dátumot időponttal. Ha A1 üres akkor ne írjon semmit. Ezt a képletet írtam rá B1 cellában állva: =HA(A1;MOST();””)
      A probléma ezzel az ha bezárom a fáljt és újra nyitom akkor az összes B cellában lévő képlet frissül és mindenhol a frissített dátum szerepel.
      Nekem meg olyan kéne, hogy amint az A1 cellába előszőr írok be akkor a képlet az aktuális dátumot és időt hozzárendeli és bezárás újranyitáskor nem frissíti a dátumot, hanem meghagyja a beírás időpontjában lévő dátumot időpontot.
      Gondoltam arra, hogy az adott cellát másolom és irányított beillesztéssel értékként illesztem be, de túl munkaigényes lenne.
      Lényegében egy műveleti listát szeretnék létrehozni, hogy mikor mit végeztem el és visszanézhető lenne, hogy pl egy emailt valóban az adott napon és időben elküldtem, én nem tudnának meghazudtolni, hogy mégsem küldtem el.

      Köszönöm asegítséget.
      Krisztián

      #1985
      horvimi
      Adminisztrátor

        Szia!

        Ez makróval oldható csak meg.
        Eseménykezelőt kell írni ami akkor fut le, amikor egy adott oszlopban lévő cella tartalma megváltozik.

        1. A szóban forgó munkalap nevén jobb klikk -> Kód megjelenítése

        2. A megjelenő ablak jobb oldalának tetején(General) helyett átváltod „Worksheet”-re, mellette válaszd ki a „Change” eseményt.

        3. Megjelenik a Worksheet_Change eseménykezelő Subrutin üresen.

        4. Egészítsd ki erre:

        Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Column = 1 Then
                Application.EnableEvents = False
                Target.Offset(0, 1) = Date
                Target.Offset(0, 2) = Time
                Application.EnableEvents = True
            End If
        End Sub

        5. Ha sikerült, akkor azt fogod tapasztalni, hogy bármit beírsz vagy változtatsz az „A”, azaz az 1. oszlopban, mellé beírja a dátumot, amellé meg az időt.
        Ha nem az „A” oszlopról lenne szó, akkor a kódban módosítsd a
        If Target.Column = 1 részt az annyiadik oszlopra, amit szeretnél.

        6. Mentsd a munkafüzetet makróbarát munkafüzetként (*.xlsm)

        Szólj, hogy sikerült-e!

        Imre

        • A hozzászólás módosításra került: 9 years, 7 months telt el-horvimi.
        #1993
        irkass2
        Felhasználó

          Hello

          Kipróbáltam és működik. Nagyon köszönöm. Rá nem jöttem volna a kódra, mert ilyen mélyen nem értek az excelhez.
          Köszönöm mégegyszer.

          #3006
          A2Lac
          Felhasználó

            Üdv

            Esetleg B1-re:
            =HA(A1<>"";SZÖVEG(MOST();"éééé.hh.nn - óó:pp");"")

            • A hozzászólás módosításra került: 8 years, 1 month telt el-A2Lac.
            #4069
            Lipton
            Felhasználó

              Szia.

              Én is alkalmaztam a fent említett Makró megoldást, végül is sikerült.
              Nálam G11 cellát kell figyelje, a P11 cellában meg is jelent (éééé.hh.nn) , a Q11 cellában meg az (ó.pp). Eddig mind jó ezzel a makróval.

              Private Sub Worksheet_Change(ByVal Target As Range)
              If Target.Column = 7 Then
              Application.EnableEvents = False
              Target.Offset(0, 9) = Date
              Target.Offset(0, 10) = Time
              Application.EnableEvents = True
              End If
              End Sub

              Kérdésem megoldható, hogy a P11 cella adat (éééé.hh.nn) és a Q11 cella (ó.pp) egy cellába kerüljön, pl. C11 egyhelyre (éééé.hh.nn.ó.pp) ??
              C11 =HA(G11;MOST();””) cellaformátuma éééé.hh.nn.ó.pp
              G11 ide kerülne adat, cellaformátuma ‘pénznem’
              P11 a makró által adott dátum, cellaformátuma éééé.hh.nn
              Q11 a makró által adott idő cellaformátum ó.pp

              Egyszerüsitve, ha a G11 be számok kerülnek C11 ben legyen a bevitel dátuma (éééé.hh.nn.ó.pp).
              A többi sorokban is ugyan az a helyzett. Sajnos nálam a makró ellenére is egy dátumot ad G11 cella, holott a P és Q cellák meg örzik az eredeti beviteli dátumot.

              #4070
              delila
              Felhasználó

                Szia!

                Próbáld így

                Private Sub Worksheet_Change(ByVal Target As Range)
                    If Target.Column = 7 Then
                        Application.EnableEvents = False
                        Target.Offset(0, -4) = Format(Date + Time, "yyyy.mm.dd. h:mm")
                        Application.EnableEvents = True
                    End If
                End Sub

                Delila

                #4073
                Lipton
                Felhasználó

                  Szia, köszönöm a gyors választ! 🙂
                  Jól működik, csak egy bibi van ezzel.
                  A ‘C’ oszlopban akkor is meg marad a dátum, ha későbbiekben ‘G’oszlopból törölve van az adat. Meg szűnt a =HA hivatkozás. 🙁
                  Ha jól látom a Makró felülírta a függvényt.

                  #4074
                  delila
                  Felhasználó

                    Megszüntetjük:

                    Private Sub Worksheet_Change(ByVal Target As Range)
                        If Target.Column = 7 Then
                            Application.EnableEvents = False
                            If Target <> "" Then
                                Target.Offset(0, -4) = Format(Date + Time, "yyyy.mm.dd. h:mm")
                            Else
                                Target.Offset(0, -4).ClearContents
                            End If
                            Application.EnableEvents = True
                        End If
                    End Sub
                    #4075
                    Lipton
                    Felhasználó

                      Delila, nagyon szépen köszönöm a segítséget!
                      Tökéletesen működik ! 😀

                      #4076
                      delila
                      Felhasználó

                        Nagyon szívesen, örülök hogy összejött.

                        #4225
                        bandras
                        Felhasználó

                          Sziasztok!

                          Nagy örömmel használom én is ezt a makrót.
                          A problémám az, ha kézzel viszem be az adatokat a meghatározott oszlopba, akkor a kód tökéletesen működik.
                          Ha azonban másolást végzek, akkor a bemásolt karakterek helyett a dátumot írja be.

                          Nálam a kód úgy néz ki, hogy a B oszlopba(2) rögzítek adatot, akkor az A oszlopban (1) megjelenik az
                          aktuális dátum.

                          Private Sub Worksheet_Change(ByVal Target As Range)
                          If Target.Column = 2 Then
                                  Application.EnableEvents = False
                                  Target.Offset(0, -1) = Date
                                  Application.EnableEvents = True
                              End If
                          End Sub
                          

                          Amikor másolást végzek, akkor a B-től I oszlopig másolok be egy sort, ekkor a-h oszlopokban a dátum jelenik meg.

                          Ennek a problémának a megoldásához szeretném kérni a segítségeteket.
                          Egyébként excelben az alap fügvényeket használom, hobbi szinten, egy-két otthoni táblázát elkészítésénél. A tudásom, kicsit több mint nulla 🙂

                          Előre is köszönöm a válaszokat!

                          • A hozzászólás módosításra került: 6 years, 9 months telt el-bandras.
                          #4227
                          delila
                          Felhasználó
                            Private Sub Worksheet_Change(ByVal Target As Range)
                                If Target.Column = 2 Then
                                    Application.EnableEvents = False
                                    Cells(Target.Row, 1) = Date
                                    Application.EnableEvents = True
                                End If
                            End Sub
                            #4228
                            bandras
                            Felhasználó

                              Köszönöm! Tökéletesen működik! 🙂

                              #4229
                              delila
                              Felhasználó

                                Szívesen. 🙂

                                #4243
                                bandras
                                Felhasználó

                                  Szia!

                                  Megnyitottam az excel táblázatomat a Linuxon a Libreoffice-val, de a makró nem fut le rendesen, hanem 91-s hibával leáll
                                  és azt mondja, hogy az objektumváltozó nincs beállítva ennél a sornál If Target.Column = 2 Then

                                  Esetleg erre is van valami megoldásod?

                                  • A hozzászólás módosításra került: 6 years, 9 months telt el-bandras.
                                  #4245
                                  horvimi
                                  Adminisztrátor

                                    Én nem hinném, hogy a LibreOffice makró szinten kompatibilis lenne az Excel-lel.

                                    #4246
                                    bandras
                                    Felhasználó

                                      Oh, ettől tartottam :/

                                      #4984
                                      MCMLXXXII
                                      Felhasználó

                                        sziasztok abban szeretném a segítségeteket kérni hogy csináltam egy anyagleltár táblázatot és szeretném hozzá rendelni az adott időt egy cellához de sehogy nem akar össze jönni amit itt leírtatok tökéletesen működik csak nekem nem jó, nekem vízszintesen kellene

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

                                          Ha jól értem, akkor a MUnka3 lapon azt akarod, hogy ha egymás mellé írják be az értékeket az E oszloptól jobbra, akkor minden beírt adat alá tegye be az aktuális időt.
                                          Ehhez csak annyi módosítás kell, hogy a megfelelő helyen a Target.Offset(0,1) helyett azt írd, hogy
                                          Target.Offset(1,0). Azaz a módosított cellához képest 1 sorral lejjebb s nulla oszloppal arrább írja be az időt.

                                          Private Sub Worksheet_Change(ByVal Target As Range)
                                              
                                                  Application.EnableEvents = False
                                                      
                                                     Target.Offset(1, 0) = Time
                                                  
                                                  Application.EnableEvents = True
                                          End Sub

                                          Visszatöltöttem,
                                          Erre gondoltál?

                                          Imre

                                          • A hozzászólás módosításra került: 6 years, 3 months telt el-horvimi.
                                          Attachments:
                                          You must be logged in to view attached files.
                                          #5122
                                          BaLee
                                          Felhasználó

                                            Szia(sztok),

                                            ez egy nagyon hasznos topic. A cégemnél más makro-t használunk ugyanere a feladatra de mivel mindenre van több megoldás ez részlet kérdés.
                                            Amit én keresek és amiben a segítségeteket kérem, az egy kiegészítése lenne ennek a feladatnak. Azt szeretném megoldani, hogy szereplő megoldások reagáljanak a számított értékváltozásra. Arra gondolok, hogy a Target.Column cellái amennyiben képletet tartalmaz és azok számolnak, ezt az értékváltozást is jó lenne ha tudnánk kezelni.
                                            Kérlek ha tudtok ennyi időt még szánjatok erre a topic-ra, nagy segítség lenne.

                                            Balázs

                                            #5196
                                            delila
                                            Felhasználó

                                              Szia!

                                              Csupán annyit kell változtatnod a kódon, hogy Target.Column-ként annak az oszlopnak a számát adod meg, amelyiknek az értékváltozását követi a képleted eredménye.

                                              Pl. ha a B2 képlete =A2*6, akkor az A oszlop módosulását kell figyelned, vagyis a Target.column = 1, mert az első oszlopba írsz be értéket.

                                              #5217
                                              BaLee
                                              Felhasználó

                                                szia @delila!

                                                Köszönöm a választ a lezárt topic ellenére is, nagyra értékelem. 🙂 Erre már én is gondoltam. A helyzet az, hogy ezt azért nem tudom alkalmazni, mert 9 cella együttes <>”” értéke adja ennek a cellának az értékét, és nem tudom előre melyik mikor kerül kitöltésre.
                                                Arra is gondoltam, hogy

                                                If Target.Column = A1 And A2 …. And A9 Then

                                                csak ezt nem tudom, hogy így helyes-e, valamint ebben az esetben hogyan kell megadjam a cél oszlopot? – nyilván nem lehet offset, mert nem egy oszlophoz képest működik a makró.

                                                A feladat lényege, hogy kiírja az időpontot pl. A12-be amikor a hivatkozott cellák A1;A3;A5…A17 utolsó üres cellája is kitöltésre kerül.

                                                #5218
                                                delila
                                                Felhasználó

                                                  Szia!

                                                  Kicsit zavarosan írtad le az óhajodat, mert az A12-be szeretnéd beíratni az időpontot, mikor az A1:A17 tartomány ki van töltve. A tartományban benne van az a cella, ahol az utolsó bevitel idejét szeretnéd látni.

                                                  A laphoz rendelt makró az A1:A17 kitöltését figyeli, és az utolsó adat bevitelekor a B2 cellába írja be az időpontot. A CountA a DARAB2 függvény angol megfelelője.

                                                  Private Sub Worksheet_Change(ByVal Target As Range)
                                                      If Not Intersect(Target, [A1:A17]) Is Nothing And _
                                                          Application.WorksheetFunction.CountA(Range("A1:A17")) = 17 Then
                                                              Range("B2") = Now
                                                      End If
                                                  End Sub

                                                  Kedved és igényed szerint módosíthatod a figyelt terület, és az időpont helyének meghatározását.

                                                  • A hozzászólás módosításra került: 6 years telt el-delila.
                                                  #5242
                                                  NIN
                                                  Felhasználó

                                                    Tisztelt Delila!
                                                    Tisztelt Segítő!

                                                    Nagyon örülök a fórumnak és a Te hathatós segítségednek!

                                                    Szeretnék segítséget kérni tőled.

                                                    2 problémám van:

                                                    Első:
                                                    ű

                                                    Létrehoztam egy lenyíló ablakot /táblázatot / B1 oszlopban, melyből választhatóak a lehetőségek soronként

                                                    -Nincs kiadva
                                                    -Rendelés alatt
                                                    -Kiadva munkába
                                                    -Szállítás alatt
                                                    -Kész

                                                    alap esetben „Nincs kiadva” jelenik meg

                                                    Azt szeretném, elérni, hogy ha megváltozik a szöveg
                                                    -Rendelés alatt
                                                    -Kiadva munkába
                                                    -Szállítás alatt

                                                    Akkor kiírja a C1 oszlopban az aktuális dátumot és időt – év.hónap.nap-óra.perc – statikusan / ne „MOST” és „Ma” függvényként.

                                                    Ha viszont a szöveg
                                                    -Kész státuszra vált, akkor a a D1 cellába írja be az aktuális dátumot és időt.

                                                    Heltétel az , hogy státusz váltásnál ne írja felül „C1” cella adatait

                                                    röviden: szeretném a munka megkezdését és a befejezését regisztrálni.

                                                    Másik probléma pedig egy legördülő menü:

                                                    Szeretnék egy olyan választó menüt ahol 4 lépcsőben nyílik le az ablak:

                                                    Pl:

                                                    Első szint Jármúvek kategóriája

                                                    Autó
                                                    Teherautó
                                                    Motor

                                                    Kettes szint

                                                    Márkák

                                                    Audi
                                                    Trabant
                                                    Lada

                                                    Temészetesen csak az adott járműtípus listája jelenjen meg

                                                    harmadik szint

                                                    A választot pl.: autómárka típusa jelenjen meg

                                                    Pl.:
                                                    Lada szamara
                                                    Lada Niva

                                                    Negyedik kategória pedig Pl.: motor típusa
                                                    Pl.:
                                                    1200 cm3
                                                    1500 cm3

                                                    Úgy gondolom ezeket a kategóriákat külön külön létrehozott táblázatokból lehet behivatkozni/ feltölteni.

                                                    Előre is köszönöm a segítséget!

                                                    Üdvözlettel Norbert

                                                    #5243
                                                    delila
                                                    Felhasználó

                                                      A második kérdésedről Horvát Imi már biztosan írt régebben, majd segít megtalálni a cikket. Szerintem abból jobban megérted majd, mintha én próbálkoznék vele.

                                                      Az elsőhöz írtam egy rövid makrót, amit a lapodhoz kell rendelned. Lapfülön jobb klikk, Kód megjelenítése. Ezzel bejutsz a VB szerkesztőbe. Bal oldalon az aktuális lapod lesz kijelölve, a jobb oldali üres területre másold a makrót.

                                                      Private Sub Worksheet_Change(ByVal Target As Range)
                                                          If Target.Column = 2 Then
                                                              Application.EnableEvents = False
                                                              If Target = "Kész" Then Cells(Target.Row, "D") = Now Else Cells(Target.Row, "C") = Now
                                                              Application.EnableEvents = True
                                                          End If
                                                      End Sub

                                                      Még annyit, hogy a B1, a C1 nem oszlopok, hanem cellák címei. Az oszlop B, vagy C.

                                                      #5244
                                                      NIN
                                                      Felhasználó

                                                        Köszönöm szépen a gyors választ!

                                                        Működik!

                                                        Nagyon nagy segítség volt!

                                                        Említeted Horvát Imit. Ha jól értelmezem várjak a jementkezésére? „majd segít megtalálni a cikket”

                                                        További szép napot!

                                                        Norbi

                                                        #5245
                                                        NIN
                                                        Felhasználó

                                                          Tisztelt delila!
                                                          Tisztelt Fórumozók!

                                                          Szeretnék segítésegt kérni!

                                                          Első problémám, hogy munkafüzetben létrehozott lapokkon a képletek nem érvényesülnek – elösször szépen működnek, utána nem, hiába írom be ismét a képleteket!

                                                          Nem értem az okát!

                                                          Másk, az első kérdéshez kapcsolódó kérés

                                                          Tud valaki segíteni az a mellékletben található munkalap működőképes összerakásában?

                                                          Részlezeiben működik /működött eddig /, de bizonyos kereséseket és beviteli mező kialakítása nem megy!

                                                          Ha részmegoldásokban tud valaki segíteni, azt is megköszönöm. Összeollózom majd az egészet 🙂

                                                          Előre is köszönöm!

                                                          Norbi

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

                                                            Kedves Norbi!

                                                            Írtam levelet.
                                                            Kérlek, az új kérdéseket új topic indításával tedd fel!
                                                            Itt, egy másik Topic alján ne számíts válaszra.

                                                            Köszönöm,

                                                            Imre

                                                            #5250
                                                            NIN
                                                            Felhasználó

                                                              Tisztelt Imre!

                                                              Köszönöm leveled és a segítséget!

                                                              Ebből is látszik, hogy kezdő vagyok az Excelben , pláne a fórumozásban!

                                                              Üdvözlettel Norbi

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