Excel 2007-ben van egy 147 oszlopos táblázatom, amit szeretnék tükrözni úgy, hogy a 147. cella legyen az elsõ a 146. a második és így tovább, az elsõ oszlop legyen az utolsó. Kérdésem ez egyáltalán kivitelezhetõ-e az excelben??
Ez egy jó kiindulás, de automatikussá szeretném tenni. Tudnál írni egy makrót ha nem nagyon tart sokáig?
Ha gondolod, írhatok rá makrót, de ezt anélkül is megoldhatod. Egy cellába (a számsor alá,vagy bárhova) tedd be a RÉSZÖSSZEG függvényt. =Részösszeg(9;R3:R354) A 9 függvényszám azt jelöli, hogy a tartomány összegét kéred. A súgóban megtalálod a többi függvényszám jelentését is (darabszám, átlag, szórás, stb.). Az oszlopod címsorába tegyél egy autoszûrõt – Adatok/Szûrõ/Autoszûrõ, amivel a pillanatnyi igényeidnek megfelelõen szûrheted a tartományodat. Az egyéni kategóriában beállíthatod az elsõ kérdésnek megfelelõen, hogy azokat a sorokat mutassa, ahol a cella értéke >=-3, és <=3. A részösszeg függvényt tartalmazó cella mindig az aktuális szûrésnek megfelelõ összeget mutatja.
Mondjuk R3:R354-ig és a kritérium, hogy ha a szám nem -3 és +3 közé esik akkor a számláló ugorjon egyet. A másik mondjuk erre a tartományra, ha a cella értéke nagyobb mint 2 akkor egy másik számláó ugorjon egyet.
Úgy, hogy megírod az összegzendõ terület címét (pl. C1:C100), és amit a feltételes formázásban megadtál kritériumként. No meg azt, hogy darabszámra, összegre, átlagra, vagy valami egyébre van-e szükséged.
Úgy gondolod, hogy ami feltételesen van formázva, azokat adja össze, vagy számolja meg, hogy hány darab? A formájuk alapján nem lehet, de egy makróval meg lehet oldani. A területet kell tudni hozzá, és a feltétel(eke)t, ami(k) alapján átformáztad a cellákat.
Módosítás: a fekete karakterrel formázott tételek bekerülnek az összebe.
A kép a makróra vonatkozik, azt szerettem volna képként beilleszteni, mint a 704-es hozzászólásban. Az alapérték az, hogy nem adod meg külön pl. feketének, vagy bármilyen másmilyennek a betû színét, és a kitöltést sem változtadod meg, hanem úgy hagyod mindegyiket, ahogy a Jóisten és az Excel megadta. Ha az összegzendõ tartományban ezek közül bármelyiket módosítod, azt az értéket a makró nem veszi bele az összegbe.
Na ezt most nem nagyon értem! :) Mit jelent ez hogy "karkater és a háttér színe legyen alapérték"? Esetleg ha a képet elküldenéd [email protected] erre a címre. Hátha az segítene :D
Nem engedi felrakni a képet, pedig csak 5 K. A makrót másolom be, csak így nem mutatja a tagolást, nehezebb követni.
Sub FeltÖssz() Dim összeg, sor As Integer
For sor = 2 To ActiveSheet.UsedRange.Rows.Count If Cells(sor, 3).Font.ColorIndex = -4105 And _ Cells(sor, 3).Interior.ColorIndex = -4142 And _ Cells(sor, 3).Font.Bold = False And _ Cells(sor, 3).Font.Italic = False And _ Cells(sor, 3).Interior.ColorIndex = -4142 Then összeg = összeg + Cells(sor, 3) End If Next
Cells(sor, 3) = összeg End Sub
Sajnos ez nem engedi a színek szerinti választást. A lenti makróban 4 feltételt adtam meg. A karkater és a háttér színe legyen alapérték (karakter: -4105, háttér: -4142), és ne legyen félkövér, vagy dõlt. Az összegzendõ oszlop a C, vagyis a 3. oszlop. Ezt kell módosítani a Cells(sor,3) kifejezésekben, ha más oszlopban vannak a számok.
Köszi ezzel nincs is gondom. A képet nem sikerült olyan formátumban lementeni, hogy megfeleljen a 20KB követelménynek, és még kivehetõ is legyen a tartalma.
Sziasztok! Lenne egy kérdésem! Van egy táblázatom, tele értékekkel és ezeknek az összege egy sum fügvénnyel van összeadva. Azt szeretném elérni hogy ha egy érték mondjuk más szinnel van beírva (vagy ez lehet akármien más megkülömböztetés) akkor azt ne adja hozzá.
Sziasztok! Régóta mûködõ Office 2007 egyik napról a másikra nem indul el. A Word hibaüzenete: nincs elegendõ memória, vagy lemezterület a program indításához.(eddig is ennyi volt). Az Excel hibaüzenet: Csökkentett módban szeretné futtatni az Excelt? Utána: az egyik lexikon file XLLEX.DLL hiányzik. (A dll-t a másik géprõl áthoztam, kicseréltem, de ugyanaz a hiba.) letöröltem az Office 2007-et és újraraktam, de nemlett jó(bár sejtettem) csak ha az XP-t is újratelepíteném akkor lenne jó az Office? B.U.É.K!
Még annyit, hogy ha 1 feltételhez 1 utasítás tartozik, az If-et nem kell lezárni End If-fel, de több utasításnál már igen. A 4 db belsõ If sorra csak akkor kerül sor, ha a bevitt érték megfelel az elsõ IF sor feltételének, vagyis a bevitt érték nagyobb nullánál.
Érdemes ezt is pontosítani, mert ha egy betût viszel be, az is nagyobb, akkor is hibára fut.
A pontosított elsõ feltétel: If Target.Column < 3 And Target.Row < 4 And IsNumeric(Target.Value) Then
Az IsNumeric(Target.Value) azt figyeli, hogy a bevitt érték szám-e. Betû bevitelekor, vagy törléskor azonnal az End If sorra fut a makró, nem figyeli a közbensõ 4 feltételt. Törléskor a bevitt érték "", üres string, vagyis nem numerikus érték.
Örülök, hogy sikerült. Egy kicsit módosítottam rajta, mert adat törlésekor hibára fut. Képként tettem be, hogy a tagolás látsszon, remélem, sikerül a feltöltés.
Hengelhoffer: A Paint-tel is lehet gif gépet elõállítani, a Mentés másként menüpontnál meg lehet változtatni a kiterjesztést.
Nagyon szépen köszönöm. Sikerült. Elõször az elsõ bekezdést elolvasva, ezt készítettem: "Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Cells(1, 3) = Cells(1, 3) + Target.Value If Target.Address = "$B$1" Then Cells(1, 3) = Cells(1, 3) + Target.Value End Sub"
Majd felfogva a többit, ez a véglegesem: "Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column<3 And Target.Row=1 Then Cells(1, 3) = Cells(1, 3) + Target.Value If Target.Column<3 And Target.Row=2 Then Cells(1, 3) = Cells(1, 3) - Target.Value If Target.Column<2 And Target.Row=3 Then Cells(1, 3) = Cells(1, 3) * Target.Value If Target.Column=2 And Target.Row=3 Then Cells(1, 3) = Cells(1, 3) / Target.Value End Sub"
Ez egy eseményvezérelt eljárás, ami a Change eseményhez van rendelve, vagyis akkor mûködik, ha valamelyik cellában változtatod az értéket. Az If Target.Address = "$A$1" Then sorral lekérdezzük a bevitel címét (Target.Addres). Ha ez $A$1, vagyis az A1 cellában módosítottuk az értéket, akkor növelje a Cells(1,2) (B1) értékét a bevitel értékével (Target.Value) – Cells(1,2)=Cells(1,2)+Target.Value. Ezt úgy kell érteni, hogy a B1 legyen az eddigi B1, plusz a most bevitt érték. A Cells(1,2)-ben az 1 a sor-, a 2 az oszlop száma. A C1 cellára Cells(1,3) formával hivatkozhatunk. Te most az A1 és a B1 változását akarod figyeltetni. Ebben az esetben 3 feltételt kell figyeltetned. 1. a bevitel az A oszlopban történt-e? 2. vagy a B oszlopban? 3. az elsõ sorban?
Ha a makróból hiányoznak a feltételek, a változtatás a teljes lap bármelyik cellájának módosulásánál végrehajtódik, ebbõl kavalkád, és végtelen ciklus jönne létre. A két oszlop figyelését egyszerre is megadhatjuk: If Target.Column<3 ehhez egy ÉS kapcsolattal hozzá kell rendelni a sor figyelését: And Target.Row=1
Nem írom tovább, mert akkor megakadályozlak az önálló makróírásban. Mindenképp írd meg, mire jutottál.
Szia!
Be szoktam nézegetni ide, még ha nincs is kérdésem, hátha tanulok valamit. Ez a #683-ban leírt mûvelet jól néz ki. De nem tudtam rájönni, mi mit jelent, megpróbáltam átírni saját használatra, de nem akar összejönni. Gondoltam, ha rájönnék, hogyan mûködik, nem kéne minden kis számítást megkérdezni. Arra akarnám módosítani, hogy: A1+B1=C1, bármelyikben is módosítom az összeget, adja hozzá C1-hez. De a legjobban annak örülnék, ha én tudnám megcsinálni. El lehet ezt magyarázni egy mezei halandónak? Vagy utána kéne olvasnom?
Köszönöm! Ez is összejött! A mentés is sikerült.. Az volt a legnagyobb problémám, hogy egyáltalán nem adott semmi hiba üzenetet. Csak egyszerüen nem müködött a makro. De mostmár minden ok!
picit állítgattam, és így már megy 'o7-ben is: Excel beállítások => Adatvédelmi központ => (jobbra)beállítások => Makróbeállítások => pipa a VBA project ...; (esetleg a harmadik, negyedik rádiógombot választani)
Közben sikerült kihámoznom. Úgy látszik, nem enged önálló rajzolatot rendelni a gombokhoz, csak a saját készletébõl lehet valamit alkalmazni. A semminél ez is több, de nem értem, hogy egy jó funkciót miért kellett megszüntetni. A saját makróimat a Gyorselérési eszköztárra tettem ki, az ott lévõ gombok képét így módosíthatom: Office gomb/Az Excel beállításai/Testreszabás. A Gyorselérési eszköztáron kiválasztom a saját makrómat, ekkor elérhetõ lesz a Módosítás gomb, amivel az Excel saját rajzai közül kiválaszthatom a nekem tetszõt (akkor is, ha nem tetszik ).
Próbáltam minden formátummal, de itt a melóhelyen csak szegényes képszerkesztési lehetõségeim vannak. Paint, és Office Pictures Manager. Az utóbbival ezt tudtam csak kihozni.
Megpróbálom érthetõen leírni az elérést.
- Bal felsõ sarok - excel nagy kerek gomb - Alul - "Az Excel beállításai" - Testreszabás - A jobboldali panelen a kívánt sor kijelölése - Amennyiben a gombkép cserélhetõ, pl. makróknál, az "Alaphelyzet" melleti gomb elérhetõvé válik "Módosítás..." néven
Ebbõl sajnos tényleg nem lehet látni semmit, a nagyítás olvashatatlanná teszi. Megtennéd, hogy gif-be mented, az kisebb méretet ad, mint a jpg. Az is jó lenne, ha leírnád a menük útvonalát.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Cells(1, 2) = Cells(1, 2) + Target.Value Cells(1, 3) = Cells(1, 3) + 1 End If End Sub
Ez a makró a C1-ben gyûjti a beadott összegek darabszámát. Sikerült a "makrós" mentés?
Elnézést a kép minõségért. Nem tudtam jobbat kihozni emiatt a nevetséges 20KB feltöltési korlát miatt 50KB már elég lett volna, de akkor ki fizetne a VIP tagságért ^^
A gombkép szerkeszthetõségérõl még nem találtam infót. Úgy látszik még senki nem találta meg, és a guruk röstellik ezt beismerni . Ha pontosan tudnák, már írták volna.
Még visszatérve az elsõ kérdésemre, azt meglehetne oldani makróval, hogy a hozzáadott értékek számát számolja? Tehát azt szeretném hogy számolja hogy hányszot adtam hozzá új számot.
Én is elmentettem 2003-ként, még állítgattam rajta aztán jó lett.
Nálam nem jelentkezik ez a tünet. Ha 2003-ban mentve mûködik, akkor ez a megoldás jó.
Érdemes két bõvítményt bekapcsolni. Office gomb/Az Excel beállításai/Bõvítmények A Kezelésnél: Excel bõvítmények/Ugrás Itt az Analysis ToolPak és az Analysis ToolPak–VBA négyzetét jelöld be. Új függvények állnak ezután a rendelkezésedre, és makróban is több dolgot tudsz végrehajtani. Lehet, hogy a Target is csak a bõvítmény bekapcsolása után mûködik, de akkor biztosan. 2007-es, makróbarát füzetként is mentheted. A súgóban nézz utána a biztonsági beállításoknak, és a megbízható helyek létrehozásának.
mentsd el 2003-ként. ha újra megnyitod, lesz a táblázat felett egy makró beállítás rész, ott engedélyezd.
Biztonsági figyelmeztetés => Beállítások... => Tartalom engedélyezése
Még egy egy kérdés... Hogy kell mindezt elmenteni? Mert sima excel ként nem hajlandó a makrót is elmenteni, makró barát excel munkafüzetként elmenti, csak úgy meg nem mûködik a makró.. ????? (2007-es Excel-t használok)
Ezt egy egyszerû makróval lehet csak megoldani, képletekkel körkörös hivatkozás lenne. A lapfülön jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztõbe, és jobb oldalon kapsz egy üres lapot. Oda másold ezt be:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Cells(1, 2) = Cells(1, 2) + Target.Value End Sub
Sziasztok! én egy olyat szeretnék csinálni. Hogy Mondjuk van az A1-es és a B1-es cella. Ha az a1-be beírok egy értéket legyen 10, akkor azt hozzá adja a B1-es cellához, amibe 10 lesz látható. Aztán ha újra beírok egy értéket A1-be, legyen 5, akkor az a b1-ben 15 legyen. Vagyis gyakorlatilag egy számológépet szeretnék létrehozni, csak ott ugye a szám után a "+" jelet nyomkodjuk. Remélem sikerült megértetni magam! Már agyalok rajta egy ideje de még nem sikerült megoldást találnom! A válaszokat elõre is köszönöm!
A gombkép változtatását már sikerült megtalálni, már csak a szerkesztést kell. Remélem megvan valahol, mert ez jó kis funkció volt a régebbi excelben
A 2007 excelben a makrókhoz lehet gombképet társítan, szerkeszteni, ill. kitenni a menüre? Lehet e saját eszköztárat létrehozni? Bevallom ezeket a funkciókat nem találom sehol, a help sem említi.
Csak most tudtam átnézni(eddig dolgoztam), de ez nem jó, mert azt szeretném, ha tizenötezrenként szólna(illetve amikor átlépi), de figyelmeztessen már elõtte is. Ezért kéne kiírnia a 3 szervíz felirat valamelyikét különbözõ színekben(a színezés már menne).
Ez akkor kiált szervízért, ha a hányados 2 tizedesjegyet tartalmazó szám. 7,8-nál, 7,9-nél csendben marad, de 7,86-nál jajgat. A hosszú képleted alapján jutottam erre a gondolatra.
Az elsõ feladathoz leírhatnád, mit is akarsz elérni, mert így nehéz kitalálni a szándékodat. Valószínû, hogy a VAGY és az ÉS függvényekre van szükséged.
Feltételezésem szerint ez kell: =HA(VAGY(ÉS(K55/15000>7,8;K55/15000<7,9);ÉS(K55/15000>7,9;K55/15000<8);K55/15000>8);"SZERVÍZ!!";"")
A =HA(K55/15000=egész szám;"SZERVÍZ!!";"") helyett ezzel próbálkozz: =HA(K55/15000=INT(K55/15000;"SZERVÍZ!!";"")
igaz elég buzi megoldás, de tudod egymásba ágyazni õket, ami neked kell azt tudod ez alapján is: +HA(G21>10;HA(G21<>20;"Punci"))
Annyira nem ismerem az excel szintaktikáját, de normális nyelvekben megadható rendesen több feltétel, && (és), ||(vagy) operátorokkal. Hirtelen nem látom, hogy a ha függvény tudná e ezt.
A feltételes képletben meg lehet adni több feltételt is? Valami ilyesmire gondolok 1 képleten belûl(így írtam be, de nem tetszik neki): =HA(K55/15000>8;"SZERVÍZ!!";"")+HA(K55/15000>7,9<8;"SZERVÍZ!";"")+HA(K55/15000>7,8<7,9;"SZERVÍZ";"")
Illetve lehet olyan képletet megadni, hogy: =HA(K55/15000>egész szám;"SZERVÍZ!!";"")
kijelölöd azt az oszlopot ahol a képletet használod: feltételes formázás => cella kijelölési szabályok => egyenlõ vagy csinálsz rá új szabályt. (MSO 'o7)
Ebben a képletben(vagy persze bármiben), hogy lehet színnel ellátni az eredményt?: =HA(K55/15000>8;"SZERVÍZ";"")
Köszönöm
Az eredeti táblázatomban volt egy plusz oszlop. A kép méretét le kellett csökkentenem, ezért elhagytam az utolsó oszlopot, és az utolsó kritériumot. A szövegdobozban viszont ott felejtettem. Elnézést! A képlet helyesen: =SZORZATÖSSZEG(($A$2:$A$20=H1)*($B$2:$B$20=I1)*($C$2:$C$20=J1);$E2:$E20)
Akárhány feltételt meg lehet adni ilyen módon, végül a pontosvesszõ után az összegzendõ oszlopot. Nem lehet vele más lapon lévõ adatokra hivatkozni, és nem megengedett a $A:$A forma sem, pontosan kell megadni a tartományokat.
Említetted a szûrést. Az irányított szûrõ kritériumtáblájában az 1 sorban megadott feltételek ÉS, a külön sorban megadottak pedig VAGY kapcsolatban vannak egymással. Az autoszûrõnél egy tetszõleges cellában a =RÉSZÖSSZEG(9;B:B) mindig az aktuális szûrésnek megfelelõen adja vissza a B oszlop összegét. A 9 függvényszám mutatja, hogy a tartomány összegét kérjük. Más függvényszámok (ha jól emlékszem, 11 db) a tartomány darabszámát, átlagát, min. vagy max értékét, stb. adják eredményül. Érdemes szétnézni a súgóban.
Régebbi verziókban a SZORZATÖSSZEG függvény segítségével könnyen összegezhetünk több feltétel alapján. Megpróbálok beszúrni egy képet errõl.
A képletek a G1:G4, a feltételek a H1:K4 tartományban vannak, minden sorban a képlet mellett találhatóak a feltételek.
Lehetséges a "SUMMHA" függvénynél több feltételt megadni? Tehát nemcsak hogy ha A oszlop "igaz", akkor adja össze a B oszlop megfelelõ sorait / =SUMMHA(A1:A100;"=igaz";B1:B100) /,hanem csak ha az A oszlop "igaz" és a D oszlop "alma" akkor adja össze a B oszlop megfelelõ sorait? És ugyanez esetleg "vagy" szûréssel?
Képletet tudtok segíteni ebben?
Köszönöm, Elnora
köszönöm a segítségeteket!
Nem írtad, de vegyük azt az esetet, hogy az adataid az A oszlopban vannak. Egy üres oszlop elsõ cellája ez lesz: =A1 A második cella: =INDIREKT("A"&SOR(A1)*20+1) Ezt a másodikat lemásolod addig, amíg kell. Beírja neked a 21., 41., 61. ...10781. sorok adatait egymás alá.
nekem egy olyan kérdésem lenne hogy hogyan tudok olyan függvényt írni amivel minden huszadik cella elemét fogja mutatni. 1 oszlopom van kb 10800 cellával, nekem minden 20-at ki kellene mutatni akár külön táblázatba vagy ugyanoda az lényegtelen. fáradozásotokat elõre is köszönöm! üdv: Vincze Tamás