2417
megoldást keresek erre a problémára
  • GarET
    #734
    Sziasztok, a problémám a következő lenne:

    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??
  • Culram #733
    Ez egy jó kiindulás, de automatikussá szeretném tenni. Tudnál írni egy makrót ha nem nagyon tart sokáig?
  • Delila1
    #732
    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.
  • Culram #731
    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.
  • Yan
    #730
    nem kell regisztrálni :)
  • Hengelhoffer
    #729
    Jó ötlet :) majd reggelek egyre
  • Delila1
    #728
    "Hogy kezdjek hozzá?"

    Ú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.
  • Culram #727
    Igen pontosan ez kellene de makróhoz elég suta vagyok. Hogy kezdjek hozzá?
  • Delila1
    #726
    Ú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.
  • Culram #725
    Nekem lenne egy kérdésem. Meglehet e az oldani hogy a feltételes formázások megvalósulását tudjam számoltatni?
  • Delila1
    #724
    Szívesen.
  • mcngoht
    #723
    Összejött! Köszönöm szépen a segítséget! :)
  • Delila1
    #722
    Módosítás: a fekete karakterrel formázott tételek bekerülnek az összebe.
  • Delila1
    #721
    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.
  • mcngoht
    #720
    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
  • Delila1
    #719
    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

  • Delila1
    #718
  • Delila1
    #717
    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.



  • Yan
    #716
    ha ilyet szeretnél:
    (nem látszik jól, de a "Kisker" kék)



    akkor:
    Képletek => Feltételes összegzés (jobb szélen)
    //ha ilyen nincs
    Excel beállításai => Bővítmények => (jobb)Excel bővítmények, Ugrás.. => pipa a feltételes összegzés varázsló elé
  • Yan
    #715
    toljad egy képfeltöltőre, ne ide a galériába :)
  • Hengelhoffer
    #714
    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.
  • mcngoht
    #713
    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á.
  • joebacsi
    #712
  • Yan
    #711
    naa, melóban meg voltak ezek a doksik.
    hátha segít.
    Ez az alap /magyar - 640kB
    Ez bővebb /angol - 3,8MB
  • Yan
    #710
    :o
    ami hirtelen eszembe jut, törölted vagy uninstalláltad?
    indítsd el a telepítő cd-t és válaszd a repair-t
  • tomee92
    #709
    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!
  • lalakov
    #708
    BÚÉK!
  • Delila1
    #707
    Szívesen, és BÚÉK!
  • lalakov
    #706
    Látom még rengeteg mindent nem tudok, de ezzel amit most tanultam tőled, elleszek egy darabig.
    Köszönöm.
  • Delila1
    #705
    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.
  • Delila1
    #704
    Ö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.
  • lalakov
    #703
    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"
  • Delila1
    #702
    Szia,

    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.
  • lalakov
    #701
    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?
  • mcngoht
    #700
    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!
  • Yan
    #699
    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)
  • Delila1
    #698
    Most látom, hogy míg írtam a szöveget, Te már betetted a választ, köszönöm (lassan írok).
  • Delila1
    #697
    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 ).
  • Hengelhoffer
    #696
    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
  • Delila1
    #695
    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.

    Köszönöm.