Telefonszámunk: 1-472-0679

[Resolved] Táblázat kijelölése

Kezdőlap Fórumok Excel témák [Resolved] Táblázat kijelölése

Topic Resolution: Resolved
15 bejegyzés megtekintése - 1-15 / 15
  • Szerző
    Bejegyzés
  • #7422
    PEAKERIKA
    Felhasználó

      Makró felvevővel elkészítettem életem első makróját, az táblázatot formáztam meg vele. Az egyik első lépés volt a táblázattá alakítás, amit a makró felvevő így fogalmazott meg:

      ActiveSheet.ListObjects.Add(xlSrcRange, Range(„$A$10:$J$1000”), , xlYes).Name = _
      „Táblázat1″
      Csakhogy az a probléma, hogy a makrót olyan táblázatra is rá szeretném engedni, ami nemcsak ezer soros, ha pedig csak 3 soros, akkor meg felesleges 1000 sorral dolgoznia.
      Tehát az lenne a kérdés, hogy milyen módon tudom első lépésben megkerestetni a makróval a táblázat utolsó celláját, hogy ez alapján tudja definiálni a Táblázat 1-et. Fixen az A10 az első adatcella és a J oszlop az utolsó oszlop, valamint a J oszlop minden cellája kitöltött, ha nem adattal, akkor nullával. Csatolok egy mintát.
      Maga a probléma is érdekelne, hogy van-e olyan függvény, ami megkeresi az utolsó adatcellát egy táblázatban, ami egy képlethivatkozásban lehet használni. Fkeres ” ” nem jó, mert a táblázat más oszlopaiban van ki nem töltött cella.
      Előre is köszönöm a segítséget, nagy kincsek vagytok.

      #7424
      PEAKERIKA
      Felhasználó

        ez a táblázat, a könyvelő program xls-ben adja ki magából.
        A makrót nem engedi feltölteni, esetleg ha adtok tippet, hogy milyen módon alakítsam át, hogy feltölthető legyen.

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

          Szia!

          Makrós fájlokat ZIP-ben lehet feltölteni.

          Ha a táblázat mindig az A10-ben kezdődik, akkor elég megadnod az A10 körülötti tartományt, amit így kell:

          ActiveSheet.ListObjects.Add(xlSrcRange, Range("A10").CurrentRegion, , xlYes).Name = "Táblázat1"

          Ha ezeket az alapokat meg szeretnéd tanulni, ajánlom figyelmedbe a makrók alapjait bemutató videó tanfolyamunkat:
          https://videotanfolyam.pentaschool.hu/

          Imre

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

            Köszönöm, sikerült beillesztenem.
            A makrómban van olyan rész is, amikor csak a J oszlopban dolgozik , ami most így kezdődik:
            Range(„J12:J1000”).Select

            Itt működne egy olyan megoldás a te megoldásod mintájára, hogy
            Range(„J12”).CurrentColumn).Select ?

            Vagy ilyen nincs?
            Megnézem ezt a tanfolyamot, az Excel lett az új hobbim (komolyan).
            Üdv: Erika

            #7439
            PEAKERIKA
            Felhasználó

              Még az előző megoldást beillesztve (figyeltem, hogy a windows jól kezeli-e a vágólapot) lefuttattam a makrót és azt írja ki, hogy Syntax error. Próbáltam jól átmásolni, de lehet, hogy még máshol is kell javítani, mert a szintaxist megzavarta máshol a csere? Zip-be tettem a makrót és csatoltam a képernyőfotóval együtt.

              Attachments:
              You must be logged in to view attached files.
              #7441
              PEAKERIKA
              Felhasználó

                és a képernyőfotó a már megváltoztatott makróról

                Attachments:
                You must be logged in to view attached files.
                #7443
                delila
                Felhasználó

                  Szia Erika!

                  A J10:Jalsó cella táblázattá alakítása:
                  ActiveSheet.ListObjects.Add(xlSrcRange, Range("J10:J" & Range("J" & Rows.Count).End(xlUp).Row)).Name = "Táblázat1"

                  Üdv,
                  Kati

                  #7445
                  horvimi
                  Adminisztrátor

                    Ja, bocs!

                    A CurrentRegion után nem kell a zárójel bezárás.
                    Javítottam fent.

                    CurrentColumn nincsen 🙂
                    Ha már sikerült táblázattá alakítani, akkor a J oszlopot én már név szerint használnám, mert akkor nem számít meddig tart.

                    Range("Táblázat1[oszlopnév]").Select

                    Nézd meg azt a tanfolyamot, indulásnak sokat segítene.
                    Van benne utolsó sor megállapítás is különböző esetekre.

                    Imre

                    #7446
                    PEAKERIKA
                    Felhasználó

                      Kedves Kati!
                      Az nem gond, hogy ez az oszlop már a makró elején definiált Táblázat1 része? Vagy akkor csak simán Táblázat2-nek kell nevezni és a Táblázat2 a Táblázat1 része?
                      Bocsánat, ha triviálist kérdezek, még most kezdem ezt az egészet.

                      #7448
                      delila
                      Felhasználó

                        Nem tudtam, hogy egy meglévő táblázat egy részére akarsz hivatkozni.
                        Imre 11:12 válaszát nézd meg!

                        #7449
                        PEAKERIKA
                        Felhasználó

                          Imre megoldása azért nem jó nekem, mert nem a teljes J oszlopot szeretném kijelölni és Refillel kitölteni. A J12-ben SUM képlet szerepel és ezt szeretném lefelé másolni végig, a J1 és J11 közötti mezők nem szabad, hogy ebbe belekerüljenek.
                          Van-e olyan definiálási mód, ami j12-től lefelé meghatározza a teljes J oszlopot, amíg csak van benne adat?

                          #7450
                          horvimi
                          Adminisztrátor

                            Hát, itt már elvi kérdéseket kell feszegetni.
                            Elsőként, táblázaton belül nem lehet másik táblázat.
                            Második, hogy táblázattá alakított tartományban egy oszlop elvileg csak azonos típusú adatokat tartalmazhat.
                            Fokozottan igaz ez a képletekre.
                            Bármely cellába beírsz egy képletet, azt kitölti a teljes oszlopra automatikusan. Nem kell Fill.

                            Nem tudom, hogy mit tartalmaz ez a tábla, mire használod, stb.., de ha egy oszlopban keverednek az értékek és a képletek, az az álmos könyv szerint nem szerencsés.
                            Érdemesebb ketté venni vagy a képletet egy külön oszlopba tenni.

                            Természetesen van makró kód, ami kijelöl egy oszlopot egy konkrét cellától a végéig.
                            Leírom neked, de szerintem még nagyon sokszor meg fogsz akadni.

                            Range(Range("J12"),Range("J12").End(xlDown)).Select

                            Ha felveszel egy makrót, ahol a J12-re kattintasz, majd nyomsz egy Ctrl-Shift-Lenyíl kombinációt, akkor valami hasonlót fogsz kapni. nem ugyanezt, de lényegében igen.

                            Ha az Excel lenne a hobbid, akkor alaposan meg kell ismerned a lehetőségeit, és utána azt makrózni.
                            Épp holnap indul egy délutános Excel haladó kurzus távoktatásban. Nem érdekel? 🙂
                            https://excel-bazis.hu/tanfolyam/excel-haladoknak

                            Sok mindent megtudhatsz a táblázatokról is.

                            #7451
                            horvimi
                            Adminisztrátor

                              Megnéztem a kódot, amit a PERSONAL-ban küldtél.

                              Ha jól látom, akkor a 9-es sorban van egy aggregáció a táblázat oszlopaira.
                              A 10-es sorban van a táblázat fejléce.
                              A 11-es sorban nem tudom mi van, az nem derül ki, gondolom az adatok részeként jön valahonnan, de teszel bele egy feltételes formázást az egyedi elemekre.
                              A 12. sortól vannak az adatok ha jól gondolom.

                              Gondold át, hogy a 11-es sornak muszáj-e a táblázaton belül lennie.
                              Még egy javaslat: Az aggregációs sor és a táblázat fejléce között célszerű egy üres sort hagyni. Akármilyen kicsi magasságúra állíthatod, de nem szerencsés közvetlenül a fejléc fölé tenni.

                              Imre

                              #7452
                              PEAKERIKA
                              Felhasználó

                                NAGYON-NAGYON KÖSZÖNÖM!!!
                                Az útmutatások alapján mindent sikerült megoldani.
                                Sajnos most nem tudok csatlakozni a Excel haladóhoz, pedig semmi mást nem tennék szívesebben. De el fog jönni az ideje, biztos vagyok benne! Köszi még egyszer!!!!

                                #7453
                                horvimi
                                Adminisztrátor

                                  Mi is örülünk 🙂

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