Telefonszámunk: 1-472-0679

Excel jelölők!

Kezdőlap Fórumok Excel témák Excel jelölők!

10 bejegyzés megtekintése - 1-10 / 10
  • Szerző
    Bejegyzés
  • #1715
    frank
    Felhasználó

      Üdvözlet mindenkinek!

      Az alábbi problémára nem találom a megoldást.
      Egy táblázat első oszlopának cellájába beillesztek egy jelölőt, azt beállítom ahogy kell cellahivatkozással stb. Azonban ha másolom akár lehúzással akár más módszerrel , nem hajlandő a cellacsatolást vinni lefelé, megragad az első cellánál.
      AZ lenne a cél, hogy kattintással ki tudjak jelölni egy cellát és közvetve feltételes formázással egész sorokat kiemelni majd a jelölőre való újabb kattintással vissza. Nagy táblában dolgozom és nehéz végigkeresgélni a sorokban az adatokat ha nincs kiemelve, így lenne a legegyszerűbb és leglátványosabb!
      Csak nem működik!
      Örülnék ha valaki tudna valamilyen megoldást erre!

      Köszönettel:
      Frank

      #1716
      horvimi
      Adminisztrátor

        Szia!

        A jelölő szónál leakadtam, csak próbálok találgatni.
        leírom, hogy hogy értem ezt most Én:

        Egy táblázat első oszlopába, minden cellába szeretnél tenni egy checkbox-ot, amit ha megnyomsz, akkor a hozzá tartozó egész sort kiemeli egy színnel, ha újra megnyomod, akkor meg vissza.

        Ha így van, akkor tennék javaslatot, hogy ne így csináld, mert akkor annyi checkbox kell, ahány sorod van, és ráadásul, ahogy tapasztalod, minden másolathoz külön-külön be kel állítania cellacsatolást, ami praktikusan különben az alatta lévő cella lenne.
        Sok sor esetén drámaian lassítani fogja a modellt, és a fájlméret is jelentősen nőni fog.

        Én 1-el vagy 0-val jelölném azt, hogy színezni kell a sort vagy nem, és feltételes formázással színezném az 1-essel jelölt sorokat.

        Aprócska makró betéttel meg lehetne oldani azt is, hogy ha duplán kattintasz az első oszlop bármely celláján, akkor színezze a teljes sort valamilyenre, ha megint duplán kattintasz, akkor pedig vissza.

        A makrónak nem kell az ominózus fájlban lennie.

        Imre

        #1717
        frank
        Felhasználó

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

          Tökéletesen jól értelmezted a jelölő szót , illetve a szándékot.
          Az említett 1 vagy 0 verziót már beépítettem x-el és feltételes formázással, csak gondoltam elegánsabb lenne egy kattintással ugyanezt csinálni.
          A makrót nem tudom hogyan írjam meg,úgy hogy az a formázott táblában folyamatosan bővüljön a táblával együtt.
          Most 2KB az excel fájlom és kb 500 sort tartalmaz az adatalap része de folyamatosan bővül, azért 1000 fölé nem fog menni, viszont rengeteg kimutatást használok ebből az egy táblából.
          Kérdeznék még valamit, vajon miért nem működik az Active X vezérlők egyike sem és a Power Wiew is csak ott van de nem indul el, míg a power map tökéletesen üzemel.
          Az Active X mindenféle engedélyezését kipróbáltam már de nem hajlandó működni. Office Professional 2013-as van a gépemen.
          Előre is köszönöm a segítséget!

          Üdv:

          Frank

          #1718
          horvimi
          Adminisztrátor

            Szia!

            Megcsináltam neked a makrót, csak a beillesztését kell megoldanod, a kódután leírom hogyan:

            Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
            Const nofill As Double = 16777215
                If Target.Column = 1 Then
                    uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column
                    If Target.Interior.Color = nofill Then
                        Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(252, 213, 180)
                    Else
                        Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(255, 255, 255)
                    End If
                End If
            End Sub

            Beillesztés
            1. Annak a lapnak a nevén, ahová szeretnéd jobb klikk ->Kód megjelenítése vagy View Code
            2. A jobb oldali ablak tetején az első legördülőt „General” helyett „Worksheet”-re állítod
            3. A mellette lévő legördülőben megkeresed a „BeforeDoubleClick” eseményt.
            Ezután kapsz egy üres eseménykezelő rutint, amit a fenti kóddal cserélj ki
            4. Kipróbálhatod

            Ha az első (A) oszlopban duplán kattintasz egy cellán, akkor az egész sort a kódban látható RGB színre színezi, majd aktívvá teszi a cella szerkesztését. Ez utóbbit nem tudtam kiküszöbölni.
            Ha egy már színezett sor első celláján kattintasz duplán, akkor leveszi a színt.

            5. ha tetszik, akkor a fájlt makróbarát munkafüzetnént (*.xlsm) formátumban kell mentened.

            remélem sikerül, azért csatolok egy képet.

            Imre

            P.S
            A másik kérdésben nem tudok segíteni sajnos.

            • A hozzászólás módosításra került: 9 years, 1 month telt el-horvimi.
            Attachments:
            You must be logged in to view attached files.
            #1737
            frank
            Felhasználó

              Szia!

              Köszönöm a hathatós segítséget, már majdnem jó de nekem csak az érintett cellát színezi át nem az egész sort.

              Üdv:

              #1738
              horvimi
              Adminisztrátor

                A tartománynak összefüggőnek kell lennie, legalábbis most így írtam meg.
                Tehát nem lehet benne üres oszlop vagy akár teljes sor.

                ha ez nem teljesül, akkor még lehetséges színezni ateljes sort.
                Akkor a kódot cseréld ki erre:

                Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
                Const nofill As Double = 16777215
                    If Target.Column = 1 Then
                        uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column
                        If Target.Interior.Color = nofill Then
                            Target.EntireRow.Interior.Color = RGB(252, 213, 180)
                        Else
                            Target.EntireRow.Interior.Color = RGB(255, 255, 255)
                        End If
                    End If
                End Sub

                Imre

                #1744
                frank
                Felhasználó

                  Szia!

                  Köszönöm a segítséget, már az első is működött csak nagyon gondosan akartam aljárni és egy új munkalapon próbáltam ki, emiatt elfelejtettem a formázott táblát előkészíteni.
                  Most viszont eszembe jutott és minden működik ahogy kell.
                  Egy furcsasága van csak , de ez már tényleg csak esztétikum, hogy visszaállításkor mivel a fehér szín van megadva eltünteti a szegélyeket is soron belül. Ezzel azért együtt lehet élni!
                  Mégegyszer köszi a segítséget!
                  Makróírást hol kell kezdeni tanulni?

                  Köszönettel:

                  #1753
                  horvimi
                  Adminisztrátor

                    Örülök, hogy megoldódott.
                    Meg lehetne csinálni, hogy a fehér helyett a „Nincs kitöltést” adnánk meg, de ha nem muszáj, akkor ezt már rátok bíznám…

                    Ha megengedsz még egy megjegyzést.
                    Olyan táblázatokat, amiken intenzíven dolgozunk, szűrünk, keresünk, bármi, jobb ha nem formázzuk sehogy. Rengeteg kellemetlenségtől szabadulunk meg.
                    Legfeljebb a fejlécet, esetleg a számformátumot, hogy olvashatóbbak legyenek az adatok.

                    Formázni csak a „Presentation” szinten javasolt.
                    A világban ez a trend, a „Best Practice”

                    Minden jót a következő kérdésig,

                    Imre

                    P.S
                    Makróírást például nálunk is lehet tanulni.
                    http://pentaschool.hu/office/excel-makro-vba-tanfolyam.php

                    Ha ez az időpont nem jó neked, ami most lesz, de különben érdekelne, akkor az oldal tetején lévő kis táblázat „Érdeklődés” gombjával tudsz érdeklődőként regisztrálni egy későbbi időpontra. A megjegyzésbe írd be, hogy nappali vagy inkább esti időpont lenne jó.

                    • A hozzászólás módosításra került: 9 years, 1 month telt el-horvimi.
                    #1797
                    frank
                    Felhasználó

                      Szia!

                      Köszönöm. Esetleg még leírnád a „nincs kitöltés” kódját?
                      Egyébként csak a program által felkínált alapformázás van rajta amit a formázott táblák használnak semmi különleges, ez is csak azért mert itt a pentaschool-on tanultam az nem foglal akkora helyet és sokkal gyorsabb dolgozmi vele ami igaz is!

                      Üdv:Frank

                      #1800
                      horvimi
                      Adminisztrátor

                        Szia!

                        A gond valójában az lehet, hoyg a cellaháttér színezés lefedi a segédrácsot (Grid), ami nem ugyanaz, mint a cellaszegély.
                        és a visszaállításkor ugye fehér színt adtam meg, ami jó ugyan, de eltünteti a grideket.

                        Próbáld ki ezt a verziót:

                        Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
                        Const nofill As Double = 16777215
                            If Target.Column = 1 Then
                                uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column
                                If Target.Interior.Color = nofill Then
                                    Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(252, 213, 180)
                                Else
                                    Range(Target, Cells(Target.Row, uo)).Interior.ColorIndex = xlNone
                                End If
                            End If
                        End Sub

                        Ez a kód a fehér háttérszín helyett a Nincs kitöltést alkalmazza ebben a sorban:
                        Range(Target, Cells(Target.Row, uo)).Interior.ColorIndex = xlNone

                        Imre

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