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

Ennek a témakörnek tartalma 14 hozzászólás, 3 résztvevő. Utolsó frissítés:  horvimi 1 hét, 5 napja telt el.

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: 1 hét, 6 napja 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.