Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Adott egy táblázat, amelynek első oszlopába összegeket írunk be. A következő 5 oszlop 5 különböző kategória (pl: egy, kettő három, négy, öt)
A beírt összeget szeretném az 5 kategória valamelyikébe rendelni. Arra gondoltam, hogy ha adott kategória (adott összeg melletti) cellájába kattintok duplán, akkor másolja át oda az összeget.
Egyszerű szöveget már sikerült beírnom dupla klikkes makró segítségével, de az adott feltétellel együtt nem megy.
Ebből ki lehetne indulni?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.Calculation = xlCalculationManual If Not Intersect(Target, Range("B13:B2000")) Is Nothing Then Target.Value = Date Cancel = True End If
If Not Intersect(Target, Range("Q13:AA2000, G13:G2000, K13:K2000")) Is Nothing Then Target.Value = "IGEN" Cancel = True End If End Sub
2007-es (angol) excelem van es valami elallitodott, ha rakattintok az egyes menupontokhoz tartozo funkciok (pl. file - cut, insert - pivot table, stb), csak akkor jelennek meg, ha a menure kattintok, ha az excel tablaba, akkor pedig eltunnek a funkciok, csak a menusor latszik. Mit kell beallitani, hogy a funkciok is fixen latszodjanak? Koszi a segitseget!
Korábban már volt problémám az időformátummal amikor pp:mm formátumban akartam beírni.
Megint ez a gondom (Excel2002-ben) eddig az adott oszlopban be tudtam írni pp:mm formában írni. De most bővíteni akartam az oszlopot újabb adatokkal, de nem sikerült :-/ Ugyanaz a jelenség adódott, mint amire válaszolok. 12:27 -et akartma beírni a cellába, erre 27:00 jelenik meg.
Ha a korábbi jól megírt (és jól megjelenő) céllába írtam be felülírván az ott szereplő adatot, akkor az is ezt a 27:00 -t jeleníti meg.
A windowsos időformátum szerintem jó, ahogy korábban felhívtátok rá a figyelmem.
Olvastam, és persze ki is próbáltam ezt a makrót, nagyon jól működik.
Nekem most olyan problémám van, és remélem tudsz segíteni.
A munkalapom van teli commandbutton-okkal, összesen 30-al, és ezeket szeretném egy osztályba sorolni, de sajnos nem sikerült. Azt gondolom, hogy az a baj, hogy ezek nem userform-on vannak, illetve OLE objektumok.
Ma telepitették fel a gépemre a 2007-es excelt, eddig 2000-es volt, szóval elég nagy ugrás....
Kezdem egész jól megtalálni hogy a már megszokott dolgokat hol keressem/találom, DE a gyorsbillentyű kombinációk, melyek tök jól müködtek a 2000-es verzióban, itt egyáltalán nem müködnek, ugyanazokra a kombinációkra - pld Alt+D+F re a filtert hoztam be - a 2007-es nem reagál. Hogy lehet ezeket a funkciókat "előhozni"?
lenne egy megoldhatatlan kérdésem:) van három cell, betű, szám, betű, három oszlopban, össze kellene vonnom őket &-el működik (A5 & B5 &C) csak az a baj, hogy úgy vonja őket össze, hogy nem hagy szóközt a három cella között pedig kéne, mit írjak a képletbe? kösz.
Lehet át kell struktúrálnod azt a táblát....Nemtom... A Lista funkciót (több) összefüggő tartományra lehet használni. Vagy talán még jó neked az irányított szűrő is.... Sőt.
Valóban enged, a listát létrehozza pl. ABC-ben és EFG-ben is. Az egymás melletti oszlopokkal - tehát ABC-n vagy EFG-n belül - működik a két feltétel szerinti szűrés, de úgy látom, hogy mondjuk A és F oszlopok használatával már nem. "A és B"-nél jól listáz, de "A és F" esetén nem. Itt csak az F szerint végzi a szűrést, és már nem veszi figyelembe az A oszlop korábbi szűrését, azaz nem tudok két szempont szerint keresni. Ennyire megzavarná, hogy van közöttük egy D oszlop, ami nem lista, nincs hozzáadva szűrő?
Megpróbáltam a listával, de itt sem enged több oszlopcsoportra szűrőt tenni, egyszerre csak egyre. Úgy szeretném, hogy pl. A-B-C oszlopban van szűrő, D-nél nincs, E-F-G-nél van, H oszlopban nincs, stb.
1. Sajnos nem csak szomszédos oszlopokra szerettem volna szűrőt tenni. Majd megpróbálom úgy átalakítani a táblázatot, hogy mégis szomszédosak legyenek, vagy minden oszlop kap szűrőt.
2. Akkor inkább nem mozgatom. :)
Az Excel amúgy 2007-es, de 2003-as verzióban is kell működnie, mert melóban csak az van.
Gondoltam érdekességként benyomom ide ezt a videót.
Múltkor szó volt róla, hogy miért nem lehet pivot táblát heti csoportosításban készíteni. Nos itt mondják el, hogy hogyan lehet. Kell hozzá egy kis VBA meg nem egy kicsi angol, de megéri, mert jó trükk.
13585-ben azt írtad, nem akarod, hogy a munkafüzet látszódjék... Akkor most akarod látni, vagy nem akarod látni? ;-)
Egy kis háttérinfó.
Amikor a
Set xls = CreateObject("Excel.Application") (illetve Set objExcel = CreateObject("Excel.Application"))
sor lefut, elindul az Excel egy új példánya, ami az éppen futó Exceltől független. Az új példány alapértelmezésben nem látható. Ha azzá akarod tenni, akkor (mint Robbantómester már megmutatta):
objExcel.Visible = True
Újra eltüntetni nyilván így kell:
objExcel.Visible = False
Lényeges dolog, hogy a makró végén az új Excel példányt vagy láthatóvá kell tenni, vagy pedig a Quit paranccsal bezárni (lásd: 13591). Ha egyik sem történik meg, akkor az Excel kvázi láthatatlanul ott marad a memóriában, és fölöslegesen köt le erőforrást. Ha nem törődsz vele, úgy a makró minden egyes futtatásakor újabb láthatatlan Excel keletkezik, és előbb utóbb megeszik az összes RAM-ot. És mivel a makró végeztével az objExcel objektumváltozó elveszíti értékét, már többé nem tudsz vele hivatkozni a láthatatlan Excel példányokra, tehát nem tudod bezárni sem őket. (Ha látható, akkor a szokott módon be tudod zárni.) Ekkor már csak a Task Managerből tudod kilőni. Ott viszont gondban leszel, hogy melyik Excel.exe a láthatatlan, és melyik az, amelyikben éppen dolgozol....
Dim Path As String Dim xls As Object, P As Object Path = "i:-=DTP & Office=-MeloPMP Bakony900228.xls" Set xls = CreateObject("Excel.Application") Set P = xls.Workbooks.Open(Path) 'code.... P.Close
a végére meg berakod amit Boraka írt az utolsó két sorában, hogy ne kíváncsiskodjon, hogy mit akarsz meg mit nem. (Persze jó az övé is)