Keresés

Részletes keresés

SQLkerdes Creative Commons License 2009.11.19 0 0 10636
Furcsa, nekem műxik xl2007 alatt.
Próbáld meg activeworkbook-kal...

Megpróbálhatod még azt, hogy True-ra állítod és megadsz paramétereket és akkor kiderül, hogy a savechanges részt ignorálja-e vagy csak a false részt... (nem mintha bármelyikre is lenne magyarázat)
Előzmény: E.Istvan (10634)
SQLkerdes Creative Commons License 2009.11.19 0 0 10635
Csak gondoltam szólok, hogy az office2010 betaja ingyen letölthető a microsoft-tól, asszem 2010 októberig lesz használható aktiválás nélkül.

http://www.microsoft.com/office/2010/en/download-office-professional-plus/default.aspx
E.Istvan Creative Commons License 2009.11.19 0 0 10634

Az alábbi paranccsal van gondom

ThisWorkbook.Close SaveChanges:=False

Excel 2003-ban gond nélkül bezárja a táblát, akár volt módosítás, akár nem.

Excel 2007-ben viszont olyan mint ha ott sem lenne a False. Folyamatosan rákérdez, hogy akarja-e menteni a változásokat.

 

Törölt nick Creative Commons License 2009.11.18 0 0 10633
Szánalmas kis problémámra senkinek sincs tippje: :(

http://forum.index.hu/Article/viewArticle?a=94936735&t=9019621

Talán az még érdekes lehet, hogy a cella tartalmának kijelölésekor minden adat előtt megjelenik egy aposztrof (' - erre gondolok, remélem jól írtam). Máskor pedig akármilyen szövegszerkesztőbe be akarok szúrni a szövegbe valamit, a beszúrás után nem tolja a szöveget maga előtt, hanem törli. Ezt nem részletezem, elég érdekes jelenség, szerintem aki segíteni tud úgyis vágja miről van szó, mert borzasztóan idegesítő.

Köszi
SQLkerdes Creative Commons License 2009.11.18 0 0 10632
Hát, a lenti kódnál nyilván vannak erőforrás-hatékonyabbak is (fel is soroltunk néhány ötletet), szóval csak amolyan brute force megoldás.
Viszont a 85 millió cella az bezony 85 millió cella...
Előzmény: Törölt nick (10602)
SQLkerdes Creative Commons License 2009.11.18 0 0 10631
Nincs minden rendben az alapképleteddel:
Az első képlet hamis ága m8 értéket ad. ezzel szember a második képleted igaz ága L8 és a hamis ága m8.
Ez így nem kerek... Ha a második feltételt megváltoztatjuk és az igaz ága lesz m8 a hamis ága meg l8 akkor már van értelme, akkor ugyanis a következő történik:
l8>h8 --> h8
l8<h8 --> m8
l8=h8 --> l8.

És innen már megírni is egyszerű:
=ha(l8>h8;h8;ha(l8<h8;m8;l8))

Ez valszeg nem fog körkörös referenciát adni (kivéve ha az L8, H8 vagy M8 cellák egyikébe rakod a képletet).
Előzmény: murray (10625)
murray Creative Commons License 2009.11.18 0 0 10630

a képletben szereplő cellahivatkozás a képlet végeredményére hivatkozik és körkörös hivatkozást hoz létre..

 

az az érdekes h nem mindegyik cellára másolva írja.

Előzmény: murray (10629)
murray Creative Commons License 2009.11.18 0 0 10629

köszi. :-)

majdnem müködik, csak vannak üres cellák akkor hibát jelez.

kijavitottam nullára az értékeket  de ott is van vmi de már jobb.

 

Előzmény: E.Istvan (10628)
E.Istvan Creative Commons License 2009.11.18 0 0 10628

De. :o) Csak a szöveg alatti választ nyomtam meg. Az meg már a másik hozászólás volt. :o(

Előzmény: murray (10627)
murray Creative Commons License 2009.11.18 0 0 10627

ezt nem nekem írtad? már elnézést, de kipróbáltam:-) ű

 

 

Előzmény: E.Istvan (10626)
E.Istvan Creative Commons License 2009.11.18 0 0 10626
=HA(L8=H8;M8;MIN(H8;L8))
Előzmény: NeomatiK (10624)
murray Creative Commons License 2009.11.18 0 0 10625

helló. az alábbi két HA függvényt  szeretném egymásba ágyazni

így nem jó.

az első fele müködik

de lehet h nem is tud teljesülni ha mindkettő az M8ra vonatkozik?

köszi

 

=HA(L8>H8;H8;M8);=HA(H8>L8;L8;M8)

 

 

NeomatiK Creative Commons License 2009.11.17 0 0 10624
Jó, utananézek. Egyelőre a rendes táblázatomban nem jöttek elő a nullák szerencsére :)

Korábban is volt ilyen gondom, csak már nem emlékszem konkrétan a megoldásra, vissza kell keresnem.

Előzmény: SQLkerdes (10621)
NeomatiK Creative Commons License 2009.11.17 0 0 10623
Úgy tapasztalom, hogy jól számol. Szúrópróbaszerűen egy-egy értéket kézzel beírva is megnézem az eredményt.

Amit viszont furcsállok, kb minden 5-ik újraszámolásnál előjön, hogy hamarabb fejezi be a számolást. Rendesen kb 3 percig tart egy ilyen adattáblás végigszámolás (aztán jön a következő). De amikor hamarabb befejezi, akkor kb 20 mp körül "végez". Pedig mindig F9-cel indítom az újraszámolást. Ha ilyen rövid idő alatt végez, megint F9-t nyomok, ilyenkor már végigszámolja ahogy kell.

Ennek a rövidebb időnek mi lehet az oka? A kapott eredményen is látszik, hogy az előző számításból hagyja meg az eredmény egy részét. Maradva az 1-100-ig példánál, kb 30-tól az előző eredményt hagyja meg és nem számol tovább.

Ezt a csonkaszámítást még nem ellenőriztem le, hogy konkrétan meddig számol és mennyi időbe telik.

Előzmény: SQLkerdes (10622)
SQLkerdes Creative Commons License 2009.11.17 0 0 10622
Na nem csinálsz körkörös referenciát (circular reference) akkor az eredményednek OK-nak kell(ene) legyen.

Sok sok programozó dolgozott azon, hogy az Excel a táblázatok celláit függőségi sorrendben számolja újra.

De a bizalmatlanoknak alternatívaként mindíg ott van a kézi átszámolás ;-)
Előzmény: NeomatiK (10620)
SQLkerdes Creative Commons License 2009.11.17 0 0 10621
Számformázással simán meg lehet oldani, hogy a nullák ne látszódjanak.

Itt lejjebb elég sokat pörögtünk ezen a témán. Azokat a hozzászólásokat nézd amiben egy csomó # jel van.

Ez a formázás megtartja a cella tartalmát (a nullát látod a szerkesztőlécben), de helyette üres cellát mutat.
Előzmény: NeomatiK (10595)
NeomatiK Creative Commons License 2009.11.17 0 0 10620

Ez az adattáblás megoldás nagyon baba!!!! Köszi, hogy szóltál!

 

 

Az viszont felmerült bennem, hogy biztos hogy csak akkor írja be az eredményt a program, amikor a számítás a végére ért egy ciklusnál?

Utána jön a következő ciklus ugyanazokon a sok-sok függvényen végigmenve, de más bemeneti cella alapján. Nem lehet hogy nem várja ki?

Honnan tudja, hogy már lefutott az adott bemeneti értékkel az összes függvény? És nem a korábbi számítások végeredményét, vagy akár részeredményét veszi alapul?

Megbízható ez a módszer?

Előzmény: Jozsef (10604)
Jozsef Creative Commons License 2009.11.17 0 0 10619
Ha Excel 2007 használsz, akkor nem kell a DARABTELI-s bűvészkedés, ugyanis az Adatok fülön van egy Ismétlődések eltávolítása funkció, amit több oszlopra vonatkoztatva is eltávolítja a teljesen azonos többszörözött sorokat.
Előzmény: E.Istvan (10616)
telescoper Creative Commons License 2009.11.17 0 0 10618
Köszönöm a válaszodat Neked is. Még nem kezdtem hozzá a megoldáshoz, közben jött más hirtelen megcsinálandó dolog. Marad ma délutánra az ügy. Ha gondom lenne, még jelentkezem.
üdvözlettel
telescoper
Előzmény: E.Istvan (10617)
E.Istvan Creative Commons License 2009.11.17 0 0 10617

Helyesen nem a segédoszlop fügvényre, hanem a segédoszlopra kell ráereszteni a DARABTELI függvényt.

Nem kéne kapkodnom. Különben is mennyivel egyszerübb egy feladatot elvégezni, mint leírni.

Előzmény: E.Istvan (10616)
E.Istvan Creative Commons License 2009.11.17 0 0 10616

A válaszként megadott FKERES fügvénynek egy hibája van. Ha több azonos nevű, de különböző című sorod van, akkor mindig csak az elsőt adja vissza. Ennek kiküszöbölésére lehetne használni a tömbképleteket. De valószínűleg neked egyszerűbb az FKERES használat. Viszont egy úgy végezd el, hogy készítesz egy segédoszlopot mind a két táblázatban, amibe összefűzöd (ÖSSZEFŰZ) a nevet és a címet. Majd ezt az oszlopot használd a fügvényben. Valószínűleg így már nem lesznek azonos adatok.

Az azonos sorok ellenőrzésére erre a segédoszlop fügvényre ráeresztheted a DARABTELI fügvényt, ami megmondja hogy az adott érték hányszor fordul elő a táblában.

Viszont a fentiek elvégzése sem garancia a tökéletes megoldásra, mert mi van akkor ha a két táblázatban mondjuk a címben az egyik helyen egy szóközzel, vagy egy ponttal több van, vagy az egyik helyen út-nak írnak valamit ami a másik helyen meg u.-nak szerepel. Ekkor nem lesz találatod.

Előzmény: telescoper (10611)
szkripnyik Creative Commons License 2009.11.16 0 0 10615
1. Előtte a 3-oszlopos tömböt (legyen E1:G5000) rendezd be név szerint.
2. =HA(HIBÁS(FKERES(A1;$E$1:$G$5000;1;0));"nem találom";FKERES(A1;$E$1:$G$5000;3;0))
E oszlopban van a név G oszlopban a 3. adat...
Előzmény: Jozsef (10613)
Jozsef Creative Commons License 2009.11.16 0 0 10614
Nézet/Eszköztárak/Űrlap vagy Vezérlőelemek menüpont (excel 2003-ig) Excel 2007 Fejlesztőeszközök fül /Vezérlők

Az eszköztárból kiválasztod a nyomógombot (CommandButton) majd vagy hozzárendelsz egy makrót(Űrlap) vagy megírod a Click eseménykezelőt (Vezérlőelemek) Visual Basic Editor-ban.
Előzmény: Árpi84 (10612)
Jozsef Creative Commons License 2009.11.16 0 0 10613
FKERES Excel függvény a barátod, lásd Súgó. Az utolsó paraméter legyen 0 (pontos keresés).
P.S. Gondolom az Excel adottság számodra, de ekkora adatmennyiségnél inkább valamilyen adatbázis-kezelő programot célszerű használni.
Előzmény: telescoper (10611)
Árpi84 Creative Commons License 2009.11.16 0 0 10612


Sziasztok!

Az lenne a kérdésem, hogy hogyan tudok olyan alkalmazást írni (makrót), ami egy gomb (nem billentyűre gondolok, hanem képernyőn megjelenő gombra, mint amilyen itt is van a hozzászólások sorrendjénél) lenyomására működik? Hogyan tudok gombot definiálni az excelben?

A Választ előre is köszönöm.

Árpi
telescoper Creative Commons License 2009.11.16 0 0 10611
Sziasztok Szakértők!
Engedelmetekkel segítségért fodulok hozzátok. Sajnos excel-ben nem vagyok nagy mágus, pedig most az nem ártana.

A feladat, amit szeretnék megoldani (illetve, dehogy szeretném, de kell :) )

Adva egy táblázat mondjuk 10 000 sorral, és soronként 2 oszloppal (legyenek nevek, és címek az oszlopok). Adva egy másik táblázat 5 000 sorral 3 oszloppal (itt is nevek, címek, illetve egy harmadik oszlop plusz infóval az előző táblázathoz képest). Az 5 000 névben van olyan, amelyik nem szrerepel a 10 000 között, de negyjából azonosak. A plusz infó minden sorban azonos.
A megoldandó feladat az az, hogy az 5 000 névhez tartozó plusz infót át kell tenni az azonos nevek mellé a nagyobbik táblázatba.

Gondolom van annál jobb módszer is, hogy az ember egyenként bepötyögi a plusz infót. De mi az?

már most köszönöm a segítségeteket!

üdvözlettel
telescoper

Ja! Csillagászatból bármit kérdezhettek!
Delila_1 Creative Commons License 2009.11.16 0 0 10610
Abszolút mértékben félreértettem a feladatot. :)
Delila_1 Creative Commons License 2009.11.16 0 0 10609

Azért még beteszem az I30–J30-as megoldást.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KezdőOszlop, oszlop, Hossz
    KezdőOszlop = Target.Column
   
    If Target.Address = "$A$1" Then
        Range("I30:DE30").Select 'Előző adatok törlése
        Selection.ClearContents
       
        Select Case Target.Value
            Case 1
                KezdőOszlop = 9
            Case 0
                KezdőOszlop = 10
        End Select
       
        For oszlop = KezdőOszlop To KezdőOszlop + 99
            Cells(30, oszlop).Select
            Selection = "E" & oszlop - KezdőOszlop + 1
            Hossz = Len(oszlop)
            ActiveCell.Characters(Start:=2, Length:=Hossz).Font.Subscript = True
        Next
    End If
End Sub

Előzmény: NeomatiK (10608)
NeomatiK Creative Commons License 2009.11.16 0 0 10608
Először megpróbálok ezzel az adattáblás megoldással dűlőre jutni, addig jegeljük a makrós verziót! Köszönöm, hogy segítetek!
NeomatiK Creative Commons License 2009.11.16 0 0 10607
E.István és Jozsef, köszi, megnézem ezt a lehetőséget máris! :) Eddig nem ismertem....
Előzmény: E.Istvan (10603)
Delila_1 Creative Commons License 2009.11.16 0 0 10606

Egy másik megoldás, amivel a sorszámot indexbe is teszem.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KezdőSor, KezdőOszlop, sor, Hossz
    KezdőSor = Target.Row: KezdőOszlop = Target.Column
   
    If Target.Value = 1 Then
        For sor = KezdőSor To KezdőSor + 99
            Cells(sor, KezdőOszlop).Select
            Selection = "E" & sor - KezdőSor + 1
            Hossz = Len(sor)
            ActiveCell.Characters(Start:=2, Length:=Hossz).Font.Subscript = True
        Next
    End If
End Sub

Előzmény: Törölt nick (10601)
NeomatiK Creative Commons License 2009.11.16 0 0 10605

Ezer+1 köszi. Rögtön kipróbálom.

...

 

 

Nem kell ezren felüli cella az eredménynek. Csak 100, azaz ahány esetre vizsgálni akarom, n-től függ a bemeneti paraméter (n=1-100). Az ezer+ oszlop akkor kellene, ha n=1-100-ig külön akarnám vizsgálni, mert 1 bemeneti érték esetén (n=i) kell a soksok oszlop.
Egyébként 2007-es excelben több oszlop van, de nem akarom ennyire leterhelni a táblázatot.

 

 

Nekem jobb volna, ha pl az eredmények az I30 cellától jönnének sorba, tehát ha a bemenet $A$1=1, akkor I30-ba, ha $A$1=2, akkor J30-ba írná az eredményt.

 

 

Jól értem, hogy az EredményvektorElsőCella az a cella, ahova kiköpi a táblázat az eredményt? Ha igen, ezt szeretném az I30-tól beíratni.

 

....

 

Egyelőre nem sikerült a makrót indítanom, nem látja a makró nevét.

A munkalapnál Insert Module módban kell beírni a makrót?

 

....

 

"Az Undo azért kell, hogy meg lehessen állapítani, milyen értéket írtál felül. A kívánság ugye az volt, hogy ha nulláról változik 1-re, akkor kell futni a programnak, más esetben nem. (Mondjuk elmagyarázhatnád, hogy ez miért kell...) "

Ha jól értem a kérdést.. van egy számhalmaz1, ezt vizsgálja a táblázat, aminek lesz egy bizonyos eredménye n=i esetén (n=1-100), összeségében 100 eredmény.

 

De jó sok számhalmazom van, mondjuk m=200. Ezeket a számhalmazokat majd én szépen bemásolom egy másik táblázatba, ez nem olyan munkaigényes.

Tehát összeségében lesz - ha jól sikerül :) - egy 100oszlopból és 200 sorból álló eredménytáblázat. A számhalmazonkénti eredménysort én majd kézzel átmásolom, az se gond.

 

 

....

 

 

"A Függvényérték függvénybe azt írsz, amit akarsz. Ezt nem részletezted."

 

Őőőő ezt nem értem.

 

Lehet, hopgy rosszul magyaráztam. Tehát ha $A$1-be írok egy számot, annak folyományaként kapok egy számértéket jó pár függvény hatására. Ezt az értéket szeretném egymás mellé iratni I30-tól, n=1-100 szerint, vagyis 100 értékem lesz egymás mellett.

 

Előzmény: Törölt nick (10601)
Jozsef Creative Commons License 2009.11.16 0 0 10604
Adatok/Adattábla menü pont erre való. Maximum 2 paraméter helyére lehet vele behelyettesíteni egy képletbe.
Egy egyszerű példa:
1. Alapképlet
A1:1
B1:=2*A1

2. Érzékenységvizsgálat
Ezután csinálsz egy oszlopsorozatot 1-100-ig az A5:A104 tartományban

B4:=B1

Kijelölöd az A4:B104 tartományt
Adatok/Adatábla menüpont
Oszlopértékek bementi cellája: A1


Előzmény: NeomatiK (10600)
E.Istvan Creative Commons License 2009.11.16 0 0 10603

Igen, a makró lett volna az egyik megoldásom nekem is.

A másik pedig az Esetvizsgáló. Ezzel elkészíthető egy jelentés, amely felsorolja, hogy bizonyos bemenő értékekhez, milyen végeredmények tartoznak.

Excel 2007-ben: Adatok->Lehetőségelemzés->Esetvizsgáló

Előzmény: NeomatiK (10600)
Törölt nick Creative Commons License 2009.11.16 0 0 10602
Több, mint 20 perc? Durván hangzik.
Előzmény: Ibrahiim (10593)
Törölt nick Creative Commons License 2009.11.16 0 0 10601
Ez viszonylag egyszerű, ha jól értettem a problémát. Itt a kód, magyarázat lejjebb.

Private Sub Worksheet_Change(ByVal Target As Range)
Const FigyelendőCellaCíme = "$A$1"
Const EredményvektorElsőCella = "$A$2"

Dim RégiÉrték, ÚjÉrték
Dim i As Long

If Target.Address = FigyelendőCellaCíme Then
Application.EnableEvents = False
ÚjÉrték = Target.Value
Application.Undo
RégiÉrték = Target.Value
Application.Undo
Application.EnableEvents = True

If Not ((RégiÉrték = 0) And (ÚjÉrték = 1)) Then Exit Sub
For i = 1 To 100
Range(EredményvektorElsőCella).Offset(i - 1) = Függvényérték(i)
Next
End If
End Sub


Function Függvényérték(i As Long)
Függvényérték = i * 2
End Function

A FigyelendőCellaCíme az, amibe ha beírod az egyest, akkor aktiválódik az egész. Ez tulajdonképpen megfelel egy gombnyomásnak, csak körülményesebb.
Az EredményvektorElsőCella az a cella, ahonnan kezdve a program kilistázza az 1-100 számokra kapott függvényértékeket.
Az Undo azért kell, hogy meg lehessen állapítani, milyen értéket írtál felül. A kívánság ugye az volt, hogy ha nulláról változik 1-re, akkor kell futni a programnak, más esetben nem. (Mondjuk elmagyarázhatnád, hogy ez miért kell...)
A Függvényérték függvénybe azt írsz, amit akarsz. Ezt nem részletezted.

Amúgy az eredményeket egymás alá pakoltam, mert ha ezer eredményt vársz, annak egymás melletti elrendezés esetén ezer oszlop kellene, annyi pedig nincs.
Előzmény: NeomatiK (10600)
NeomatiK Creative Commons License 2009.11.16 0 0 10600

Sziasztok hozzáértők!

 

Olyat tud az Excel meg Ti :) hogy van egy táblázat...

Én beírok egy helyre egy számot (n=1-100), kezdem az 1-gyel...

 

ez alapján kiköp egy eredményt, legyen E. Ha a kézzel beírt szám 1, akkor legyen E1 az eredmény.

 

Igenám, de nekem n=1-100 szerint kéne az eredmény E1, E2, E3,.... E100,

de nem szeretném kézzel beírni folyton 1-től 100-ig a számokat, majd manuálisan egymás mellé rendezni a kapott számot.

 

(Elméletileg meg lehetne csinálni, hogy mind az n=1-100 esetre külön oszlopokat hozok létre a táblázatban, de az ezren felüli oszlopot jelentene és ezt nem szeretném.)

 

Hanem valahogy automatizálni szeretném.

Úgy, hogy ha az adott mező ahova n-t írnám nem üres, hanem beleírom az 1-et, akkor végigfusson a sok függvény és egy sorba egymás melletti celláiba kapjam az eredményt.

 

    A    B   C    D    E   F    ..... CV 

    EEEE4  EE6        E100

 

így valahogy.

E.Istvan Creative Commons License 2009.11.16 0 0 10599
Ezer bocs. Kérdés törölve. Kicsit továbbnyomozva. boraka 9219-es válaszában írt kód működik. Ahhoz nem kell a referencia.
Előzmény: E.Istvan (10596)
SQLkerdes Creative Commons License 2009.11.16 0 0 10598
Delila, igazságod vagyon!

Én még olyat nem láttam, hogy az automata mentés kiakaszt egy makrót, de ha ilyen fenntartások vannak akkor még be lehet tenni a kód elejére meg végére:


ActiveWorkbook.EnableAutoRecover = False / True

Már nem nagy segítség :-)

A munka1-nek én nem neveztem volna el egy újonnan létrehozott lapot, inkább adtam volna neki valami más - nem excel specifikus - nevet. Bár a kód nem használta a munkalap nevét, hanem csak az activesheet-et, aminek meg mindegy kellett volna legyen, h. mi a sheet neve...

Most már ez is akadémikus vita:-)

NeomatiK Creative Commons License 2009.11.16 0 0 10597
Érdekes... a rendes táblázatomban nem ír 0-kat a kérdéses helyekre, csak a próbatáblázatomban, amiben eddig kísérletezgettem. Így egyelőre a kérdés törölve. Köszi az eddigi segítséget!
Előzmény: NeomatiK (10595)
E.Istvan Creative Commons License 2009.11.16 0 0 10596

Jimmy the Hand!

A korábban írt problémámra találtam egy lehetséges megoldást, amit Te írtál.

A problémám, hogy az Excel2007-ben megírt outlook-os makró nem fut Excel2003-ban, mert ott nem találja a outlook2007-hez tartozó Outlook Object Library referenciát.

Ezt írtad a 8169-ben:
Másrészt, csinálhatod a fejlesztést úgy, hogy beikszeled az Outlook Object Library referenciát, és használod a kódkiegészítőt. És amikor kész vagy, kicseréled
ezt:
Dim OL As Outlook.Application
Set OL = New Outlook.Application
erre:
Dim OL As Object
Set OL = CreateObject("Outlook.Application")
és már nem kell a referenciával törődni.

 

Ezt a trükköt el lehet követni az alábbival is? Ha igen mit kellene beírnom?


Dim ouApp As New Outlook.Application
Dim level As Outlook.MailItem
Set level = ouApp.CreateItem(olMailItem)
level.To = "címzett"
level.Subject = "tárgy"
level.Attachments.Add (melléklet)
level.display
Set level = Nothing

NeomatiK Creative Commons License 2009.11.16 0 0 10595

Helló!

 

Átjavítottam pontosvesszőre, úgy már működik. Csak az a baj, hogy nem ad jó eredményt.

 

Írtam egy függvényt rá, de ezt nem tudom húzással egészen az oszlop aljáig másolni, hanem addig a sorig, ahol a C oszlopban a következő 1-es góc kezdődik, aztán ezt a tömböt másolni (példában D2:D11), de ez nem tragédia.

 

D-be a függvény:

 

=HA(ÉS(HOL.VAN($F$2;A$2:A$11;-1)<=MAX(C$2:C$11);HOL.VAN($F$2;A$2:A$11;-1)<=$F$1);"";C2)

 

Ezzel már csak az az esztétikai bajom, hogy amikor a D-be a C értékét kéne írni, eredméyne hogy a D egy cella kivételével 0 lesz. Ezen 0-k helyett szeretnék üres cellát (D' oszlop)

 

Így néz ki:

 

F1=3  (mennyin belül az elejétől kezdve keressen)

F2=20 (melyik számot keresse)

 

 

A    B    C    D    D'

 

1    1          0

2    1          0

3    1          0

20  1          0

5    1    5    5     5

6                0

7                0

8                0

9                0

10              0

 

Hogy lehet azt megcsinálni, hogy üres és 0 esetén a D-be üres cella kerüljön?

 

Előzmény: SQLkerdes (10540)
Delila_1 Creative Commons License 2009.11.16 0 0 10594
Igaz, hogy már kész van, de lehetett volna egy application.screenupdating=false sorral gyorsítani.
Előzmény: SQLkerdes (10592)
Ibrahiim Creative Commons License 2009.11.16 0 0 10593
Szervusz kedves SQLkerdes,

A makró remekül dolgozik, a 13000 kifejezést 1300 mp alatt darálta végig egy kétmagos AMD-s gépen (asszem 5600-as procik), 3 giga ram mellett. Viszont van egy érdekes dolog. Amikor először elindítottam a makrót, akkor a meglévő fájlban hoztam létre egy új lapot Munka1 néven, lementettem, és úgy indítottam el a makrót. Mintha belefagyott volna az egészbe, egy óra múlva sem volt semmi. Néhány sikertelene próbálkozás után nyitottam egy új munkafüzetet, amibe csak néhány száz mondatot raktam bele, ez néhány másodperc alatt lefutott. Aztán próbálkoztam egyre több mondattal, és rájöttem valamire: a makró csak akkor fut le, ha egy le nem mentett munkafüzetben indítom el. Ha lemenetem, akkor behal az egész. Lehet, hogy valami összefüggés van az excel automatikus mentési funkciójával, ami bekavar. Nem tom, de mentetlen munkalapon jól műk az egész. Még egyszer nagyon köszönöm a segítséget, rengeteg munkát takarítottál meg vele nekem.

Isten áldjon

Ibrahiim
Előzmény: SQLkerdes (10592)
SQLkerdes Creative Commons License 2009.11.15 0 0 10592
Még azzal lehetne gyorsítani, ha az InStr előtt kiértékeljük, hogy a vizsgált mondat valami korábbinak a részmondata-e.
Ha ugyanis B részmondata A-nak, akkor B minden részmondata is részmondata A-nak és ezeket már kiértékeltük amikor A-t kiértékeltük.
Szóval egy
if cell(sor,2).value="Részmondat" then exit for
gyorsíthat rajta, csak nem tudom, hogy mennyi ilyen eset lehet.

Remélem Ibrahim nem azért nem hallatt magáról mert tegnap este óra fut a makró a gépén :-)
Előzmény: Delila_1 (10585)
Delila_1 Creative Commons License 2009.11.15 0 0 10589

Az 5 sort így viheted be:

Lapfülön jobb klikk, Kód megjenítése. Jobb oldalon kaptál egy üres lapot, oda másold be.

Visszalépsz az Excelbe, a beírt útvonalra-névre duplán kattintasz, és már jön is a kép. 

Előzmény: Törölt nick (10587)
Törölt nick Creative Commons License 2009.11.15 0 0 10586
azért ki lehet hozni belőle sok mindent. Láttam én már Pacman-t is, vagy kígyós játékot Excel alatt futni.
Előzmény: Törölt nick (10579)
Delila_1 Creative Commons License 2009.11.15 0 0 10585
Vissza miatyánk. az exit for-ral nem jelöl meg minden sort, amit kellene. :(
Előzmény: Delila_1 (10584)
Delila_1 Creative Commons License 2009.11.15 0 0 10584

Egy exit for-ral nagyot lehet gyorsítani a dolgon.

 

Sub Ibrahimduplikacio()
    Dim sor, sor_1, usor As Long
    Dim t

    usor = ActiveSheet.UsedRange.Rows.Count
    t = Timer

    For sor = 1 To usor - 1
        For sor_1 = sor + 1 To usor
            If InStr(1, Cells(sor, 1), Cells(sor_1, 1)) <> 0 Then
                Cells(sor_1, 2) = "Reszmondat"
                Exit For
            End If
           
        Next sor_1
    Next sor

    MsgBox Timer - t & "masodperc alatt kesz"
End Sub

Könnyű akkor gyorsítani, ha valaki már kitalálta a megoldást. :)

Előzmény: SQLkerdes (10573)
Delila_1 Creative Commons License 2009.11.15 0 0 10583

A lapod kódlapjára vidd be:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Kép
    Kép = Target.Value
    Shell ("rundll32.exe shimgvw.dll,ImageView_Fullscreen " & Kép)
End Sub

A cellákba simán írd be a képeid elérési útját és nevét, kiterjesztéssel együtt.

A Windows kép- és faxmegjelenítővel mutatja majd meg a képeidet.

Előzmény: Törölt nick (10580)
Delila_1 Creative Commons License 2009.11.15 0 0 10582
Valamit nem jól csinálsz, mert ez a megjegyzésbe kép funkció már a 2000-res változatban is működött. Egyébként nálam a Hyperlinkkel sincs semmi baj.
Előzmény: Törölt nick (10580)
Törölt nick Creative Commons License 2009.11.15 0 0 10579
Azért, azt ne felejtsük el, hogy az Excelt elsősorban táblázatok kezelésre és nem képnézegetésre készítették fel.
Előzmény: Törölt nick (10577)
Törölt nick Creative Commons License 2009.11.15 0 0 10578
Szívesen! A háttér villogtatást pedig, gondolom, te is a With Range("A1").Font helyett a With Range("A1").Interior-al oldottad meg.
Előzmény: Gavriel (10574)
SQLkerdes Creative Commons License 2009.11.14 0 0 10573
Ibrahim,

A kovetkező makrót futtasd le és rendben lesz a dolog.
Teendők:
1.) Excelben legyen a Munka1 az aktív fül
2.) Alt+F11 (VBA Editor megnyílik)
3.) Insert menü / Modul
4.) A megnyíló sima fehér lapra copy-paste-tel másold be a lenti kódot (Sub-bal kezdődően és End sub-bal végződően.
5.) Kattints bele a makro szövegébe (bárhova, csak a kurzor a Sub és End sub között legyen.
6.) Nyomj F5-öt
7.) Menj el vacsorázni, hiradót nézni vagy valami (13000 sor esetén a makrónak 84 és fél millió cellát kell karakterenként átnézni.

Mikor a makró elkészült feldob egy kis ablakot.

Nem töröl, csak jelöl a B oszlopban, onnan már te is ki bírod törölni a felesleges sorokat.

Ha az én kedvemért megírod, hogy mennyi idő alatt futott le (mutatja majd a felugró kisablak a végén) azt megköszönöm.



----------------------------------------------


Sub Ibrahimduplikacio()
dim x, y, igsor as long
dim t

igsor = ActiveSheet.UsedRange.Rows.Count
t = Timer

For x = 1 To igsor - 1
For y = x + 1 To igsor
If InStr(1, Cells(x, 1).Value, Cells(y, 1).Value) <> 0 Then Cells(y, 2) = "Reszmondat"
Next y
Next x

MsgBox Timer - t & "masodperc alatt kesz"

End Sub
Előzmény: SQLkerdes (10570)
Törölt nick Creative Commons License 2009.11.14 0 0 10572

Mondjuk, ha egy munkafüzet "A1" cellájának értékét szeretnéd villogtatni, próbáld ki ezt:

 

Sub VillogásBE()
    With Range("A1").Font
        If .ColorIndex = 5 Then ' kék
            .ColorIndex = 2 ' fehér
        Else
            .ColorIndex = 5
        End If
    End With
    RunWhen = Now + TimeSerial(0, 0, 1)
    Application.OnTime RunWhen, "VillogásBE", , True
End Sub

 

'------------------------------------------------------------------

 

Sub VillogásKI()
    Range("A1").Font.ColorIndex = xlColorIndexAutomatic
    Application.OnTime RunWhen, "VillogásBE", , False
End Sub

Előzmény: Gavriel (10556)
Delila_1 Creative Commons License 2009.11.14 0 0 10571
Szívesen.
Előzmény: SQLkerdes (10568)
SQLkerdes Creative Commons License 2009.11.14 0 0 10570
Ibrahim,

Ilyen függvény nincs, erre írni kell egy makrót amit majd le kell futtass.
A rendezés lehetősége nagyon jó, mert akkor tényleg lehet gyorsítani az eljárást. Igyekszem a következő egy órán belül megcsinálni a dolgok (valszeg csak néhány sor, nem nagy ügy) csak most éppen dolgozom valamin.
Előzmény: Ibrahiim (10569)
Ibrahiim Creative Commons License 2009.11.14 0 0 10569
Szervusz kedves SQL,

A mondatok sorrendje szabadon megválasztható, és tudom hossz szerint sorba rendezni azokat, így biztos, hogy a részmondatok lejjebb helyezkednek el, szinte bizonyos, hogy nem közvetlen egymás alá esnek. A keresésnek úgy kellene mennie, hogy vesszük az első sort, összehasonlítjuk az összes többivel, és ahol részmondatot talál a függvény, azt a sort azonnal lehet is törölni (vagy megjelölni, ez mindegy). A törlés azért lenne jobb, mert így amikor a következő sort kell összehasonlítani az összes alatta lévővel, már kevesebb kliennssel lenne dolgunk.
Az adatok az A oszlopban szerepelnek, a Munka1 munkafüzeten. Ha lehetne olyan függvény kellene, ami Office 2007 alatt is működik, ugyanis ez sokkal több oszlopot kezel.

Hálás köszönet a segítésért

Ibrahiim
Előzmény: SQLkerdes (10566)
SQLkerdes Creative Commons License 2009.11.14 0 0 10568
Köszi!!
Tudtam, hogy műxik, csak azt nem, hogy hogy :-)
Előzmény: Delila_1 (10567)
Delila_1 Creative Commons License 2009.11.14 0 0 10567
Kipróbáltam, 2003-ban és 2007-ben egyaránt igaz.
Előzmény: SQLkerdes (10564)
SQLkerdes Creative Commons License 2009.11.14 0 0 10566
Van valami szabályszerűség a mondatok között? Ezt úgy értem, hogy egy részmondat közvetlenül a főmondat alatt lesz, vagy csak alatta felette nem, etc.
Azért kérdem, mert nem mindegy, hogy egy cellát minden más cellával össze kell-e hasonlítani, vagy nem.

Makroban egyébként az InStr függvény csinálja azt amit te szeretnél, add meg, hogy melyik oszlopban szerepelnek az adataid megírom neked, de ha mindent kell mindenhez hasonlítani akkor - szólok előre - elég sokáig fog az Excel bokázni a feladattal amíg végez.

Amire tehát szükség van:
- a sheet neve amin a mondatok vannak
- az oszlop betűje amiben a mondatok vannak
- mi történjen a duplikációkkal? Törlődjenek? Vagy kerüljön a jobbról mellettük lévő cellába valami jel?
Előzmény: Ibrahiim (10553)
Delila_1 Creative Commons License 2009.11.14 0 0 10565

Megjegyzésbe kép:

Cellán jobb klikk, megjegyzés beszúrása. Megjegyzésen klikk, míg sűrű pontokból lesz a kerete, nem sraffozott. Jobb klikk, megjegyzés formázása. Színek és vonalak fül. Kitöltés kategóriában szín legördülő, kitöltési effektusok. Kép fül, képválasztás.

Előzmény: SQLkerdes (10564)
SQLkerdes Creative Commons License 2009.11.14 0 0 10564
Most megpróbáltam megcsinálni amit írtam, de nem sikerül.
Ami azért furcsa, mert korábban már csináltam ezt, onnan ismertem ezt a trükköt. Lehet xl2003-ban volt az?

Elbizonytalanodtam kicsit.
Előzmény: SQLkerdes (10559)
SQLkerdes Creative Commons License 2009.11.14 0 0 10563
Ctrl+Alt+Del
Itt feljön a feladatkezelő
Vélaszd a Folyamatok/Processes fült
Kattints a memóri fejlécre és akkor a használt memória alapján először (azt hiszem csökkenő) második kattintásra növekvő sorrendben mutatja, hogy mi mennyit használ.

Sok szerencsét!
Előzmény: szhajni13 (10561)
szhajni13 Creative Commons License 2009.11.14 0 0 10562
Virus ellenőrzés megtörtént az, nincs!
szhajni13 Creative Commons License 2009.11.14 0 0 10561
És azt hol tudom megnézni h mi mennyire eszi a memóriát?
SQLkerdes Creative Commons License 2009.11.14 0 0 10560
Lehet memóriából van kevés...
Vírus ellenőrzés, kémprogram ellenőrzés, azt nézd meg nincs-e olyan eljárás folyamatban ami nagyon eszi a memóriát.
És még vagy millió egyéb oka lehet...
Előzmény: szhajni13 (10558)
SQLkerdes Creative Commons License 2009.11.14 0 0 10559
Cellára kattintással nem tudom hogy kell csinálni, de a mouse cellára irányításával a következő módon:
- szúrj be egy comment-et (megjegyzés);
- a comment tartalma legyen a kép;
- kapcsold be, hogy a commentek akkor jelenjenek meg, amikor a mouse-t a cella fölé irányítják.
Előzmény: Törölt nick (10557)
szhajni13 Creative Commons License 2009.11.14 0 0 10558
Tudom, hogy ez excel topik!! De nekem az egész offical van problémám!! a 2007es offico megyik napról a másikra azt irta ki word futtatásánál, hogy "Nincs elegendő memória vagy szabad hely az alkalmazás inditásához"
Letöröltem, ujra raktam, töredeztességmentesitettem, 6 giga szabadhelyem van a C-meghajtón, épróbáltam a 2003ast is felrakni az sem működik... Mi lehet a baj??

Köszönöm a segitségeket!!!!
Delila_1 Creative Commons License 2009.11.14 0 0 10555
Szívesen.
Előzmény: Okos Tóni (10554)
Okos Tóni Creative Commons License 2009.11.14 0 0 10554
Jimmy és Delila1 köszi!
Előzmény: Törölt nick (10485)
Ibrahiim Creative Commons License 2009.11.13 0 0 10553
Sziasztok,

Van egy problémám, amit nem tudom hogy lehetne megoldani.
Van egy excel táblázatom, benne egy oszlopban adatok. A cellák rövidebb-hosszabb mondatokat tartalmaznak. Egyes mondatok részhalmazai más mondatoknak. Például:

Piros autó áll a zöld lámpánál.
autó áll a zöld lámpánál
Kék autó áll a piros lámpánál
áll a zöld lámpánál
Kék autó áll a piros
stb.

Hogyan lehetne leválogatni azokat a sorokat (törlés céljából), amik valamilyen módon részhalmazai egy másik cella tartalmának?
A táblázat egy fordító program egy funkciójának eredményeképpen született, amely megkeresi egy adott szövegben többször előforduló kifejezéseket, és kilistázza azokat. A program azonban nem elég intelligens ahhoz, hogy a részmondatokat kiszűrje a keresésből. Az eredeti táblázat iszonyú hosszú volt, hosszas kézi szűréssel most 13000 sorból áll, ezért kellene a segítség. Ha bárkinek működő ötlete van, amit el is mond, Isten áldja meg őt ezért!

Köszönettel

Ibrahiim


szkripnyik Creative Commons License 2009.11.13 0 0 10552
Súgó súgott: Analysys Toolpack...
Előzmény: szkripnyik (10551)
szkripnyik Creative Commons License 2009.11.13 0 0 10551
Ez a "workday" beépített függvény lenne?
Mi lehet a magyar neve?

Vagy lista?
Előzmény: wawabagus (10546)
Delila_1 Creative Commons License 2009.11.13 0 0 10550
Szivi :)
Előzmény: wawabagus (10549)
wawabagus Creative Commons License 2009.11.13 0 0 10549

Szuperul működik!!

Köszi!!!

Előzmény: Delila_1 (10547)
wawabagus Creative Commons License 2009.11.13 0 0 10548

Szia!

Köszi...nekem is eszembejutott, hogy tuti lehet ilyet csinálni :-)))..

 

Nagyon köszönöm a tippet!!!

Y

Előzmény: Delila_1 (10547)
Delila_1 Creative Commons License 2009.11.13 0 0 10547

Szia!

 

Egy tömbben add meg az év ünnepnapjait, és nevezd el. Ezt a nevet írd be a függvénybe 3. paraméterként.

Előzmény: wawabagus (10546)
wawabagus Creative Commons License 2009.11.13 0 0 10546

Közben persze rájöttem hogyan is kell félig meddig.

 

=WORKDAY(C24,6,0)

 

ha a c24-ben az adott hónap első napja szerepel...

 

Viszont az a fura, hogy leellenőriztem az egész évre a 6. munkanapot és majd mindenhol stimmelt, kivéve néhány hónapot....

 

És ezt nem teljesen értem, lehet hogy vannak valami beépített ünnep napok?

Hmmm...

Passz

Előzmény: wawabagus (10544)
SQLkerdes Creative Commons License 2009.11.13 0 0 10545
Akkor most tedd meg, hogy összefoglalod egyetlen posztba, hogy milyen feltételeket kell kiértékelni.
Előzmény: murray (10538)
wawabagus Creative Commons License 2009.11.13 0 0 10544

Sziasztok!

Ismét tippet szeretnék tőletek kérni.

 

Szerintetek valahog ymeg tudnám oldani, hogy egy cellába az adott hónap pl 6. munkanapjának a dátuma kerüljön?

 

Tehát pl vegyük most decembert...ebben az évben a 6. munkanap dátuma 08-12-2009-a...

 

Azt szeretném, hogy ez szerepeljen a cellában.

Szerintetek van erre mód. Tehát jó lenne, ha nem a naptárban kéne ellenőrizgetnem, hogy most épp 6 munkanap az milyen dátum, hanem ezt a formula maga kiszámolná...

 

Mit gondoltok?

 

Köszi előre is!!

Y

SQLkerdes Creative Commons License 2009.11.13 0 0 10543
angol v. magyar verzió?
Próbáld meg vessző helyett pontosvesszővel
Előzmény: NeomatiK (10542)
NeomatiK Creative Commons License 2009.11.13 0 0 10542

Nem fogadta el, hibát jelez

 

$F$1,"",NOT

 

ezen a részen, továbblépni nem tudtam. :(

 

 

Statisztikai kimutatáshoz kell, a számok egy-egy külön halmazt jelentenek, amiknek tulajdonképpeni jelentéstartalmuk van. Aztán ezekből is készül összegzés, miegymás.

Előzmény: SQLkerdes (10540)
SQLkerdes Creative Commons License 2009.11.13 0 0 10541
Ja, angol nyelvű xl2007 (ez utóbbi nem releváns, a lenti függvények mindegyike léteztik xl2003-ban is).

Ha neked magyar nyelvű van, akkor a függvények között érdemes körülnézned, vigyázz, a pontosvessző és a vessző időnként cserélődik angol és magyar verzió között.

A tábládon teszteltem nekem műxik.

Csak perverz kiváncsiság: milyen valóséletbeli probléma megoldásához kell ez? Persze csak ha ez nem ad ki túl sok személyes információt...
Előzmény: SQLkerdes (10540)
SQLkerdes Creative Commons License 2009.11.13 0 0 10540
A függvény:
=IF(SUM($C$2:C2)<=$F$1,"",NOT(ISNA(MATCH($F$2,OFFSET(C2,-C2+1,-2,C2,1),0)))*C2)

Alapvetések:
A tábla a 2. sorban kezdődik (első sor a fejléc, felteszem).
A fenti képletet másold be a D2 cellába és másold lefele addíg amíg a táblázatod tart.

Input adatok helye amint megadtad F1 és F2.
Előzmény: NeomatiK (10539)
NeomatiK Creative Commons License 2009.11.13 0 0 10539

:D Már egy jóideje nem koptatom az egyetemi padot, ez nem iskolai aberráció :D

 

 

Azt írod, hogy:
"...Az F1 azt mutatja meg, hogy az 1-es gócokban az első 1-estől hányadik 1-esig vizsgáljon, tehát jelen esetben 3db 1-esen belül vizsgál."

Ezzel szemben a példád pontosan a 3-as gócon belüli találatot ignorálja (és továbblép a 6-os gócra. Szóval a fenti mondat helyesen:
"...Az F1 azt mutatja meg, hogy az 1-es gócokban az első 1-estől hányadik 1-esig NE vizsgáljon, tehát jelen esetben 3db 1-esen belül NEM vizsgál."

Jól látom?

 

 

A te megfogalmazásod is helyes
Azért írtam így, mert ha gócon belül van "találat", akkor kell közbelépni, vagyis a D oszlopba már nem kerül át a C-ben lévő szám.

Ha gócon kivűl van, akkor nem kell "semmit" csinálni, csak "átkopizni" D-be a C-ben lévő számot. :)

 

Köszi, hogy foglalkozol vele. Nekem nem sikerült megoldást kitalálni eddig.

Előzmény: SQLkerdes (10529)
murray Creative Commons License 2009.11.13 0 0 10538

sajnos bonyi van:

a köv. kell még beállitani

 

ha H3>=F3 then F3

HA H3<F3   then H3

 

beirtam ezt

 

=HA(G3>=E3;E3;I3)=HA(G3<E3;G3;I3)=HA(H3>=F3;F3;I3)=HA(H3<F3;H3;I3)

 

hibát nem ír ki de mindent lenulláz.

próbaképp megváltoztattam az értékeket de nem történik semmi...

 

Előzmény: SQLkerdes (10534)
SQLkerdes Creative Commons License 2009.11.13 0 0 10537
Azt írod, hogy:
"...Az F1 azt mutatja meg, hogy az 1-es gócokban az első 1-estől hányadik 1-esig vizsgáljon, tehát jelen esetben 3db 1-esen belül vizsgál."

Ezzel szemben a példád pontosan a 3-as gócon belüli találatot ignorálja (és továbblép a 6-os gócra. Szóval a fenti mondat helyesen:
"...Az F1 azt mutatja meg, hogy az 1-es gócokban az első 1-estől hányadik 1-esig NE vizsgáljon, tehát jelen esetben 3db 1-esen belül NEM vizsgál."

Jól látom?

Előzmény: NeomatiK (10524)
SQLkerdes Creative Commons License 2009.11.13 0 0 10536
Van arra valamilyen belső szabály a vizsgálandó sokaságban, hogy biztosak lehetünk benne, hogy a te példádban a 3-as gócok követő (6-os) gócban lesz 8-as érték, vagy le kell kezelni azt az esetet is amikor a Match #N/A-t ad mert nincs 8-as a vizsgált számok között?
Előzmény: SQLkerdes (10535)
SQLkerdes Creative Commons License 2009.11.13 0 0 10535
Most jövök rá, hogy nem kell nézni, hogy hol van a 8-as a vizsgálandó range-ben, csak azt, hogy van-e.
Előzmény: SQLkerdes (10531)
SQLkerdes Creative Commons License 2009.11.13 0 0 10534
Kis segítség:

Ha(G3>e3;[note: az első Ha igen ága]e3;[note: a ha nem ága, ide kerül a következő ha, mindkét ágával]ha(G3<e3;g3;ha(ésígytovább)...H3)

Előzmény: murray (10532)
SQLkerdes Creative Commons License 2009.11.13 0 0 10533
Innen egyébként te is meg tudod csinálni, mert csak a ha függvények hamis ágába kell betenni az eggyel alacsonyabb hierarchiájú következő ha függvényt.

Akarod, hogy valaki leírja neked (ezáltal elrontva a felfedezés örömét) vagy bepróbálkozol és ha ide berakod azt amit kitaláltál, szívesen megnézzük neked, hogy jó-e.
Előzmény: SQLkerdes (10530)
murray Creative Commons License 2009.11.13 0 0 10532

evvel próbálkozom de hibásnak írja

biztos rosszul írtam a beágyazást..

 

=HA(G3>=E3;E3;I3);=HA(G3<E3;G3;I3)

 

ok, kivesszuk a második= jelet és legyen ez az erősorrend

 

 

Előzmény: SQLkerdes (10530)
SQLkerdes Creative Commons License 2009.11.13 0 0 10531
Nos, eddig ha jól értem a problémát és jó megoldási tervem van, akkor lesz egy monster képleted.

Amit eddig összegyűjtöttem, hogy milyen függvények kellenek bele:
- match: kinézni, hogy hol a 8-as az A oszlopban;
- offset: meghatározni, hogy az A oszlop milyen range-én belül értékelődjön ki a match;
- dinamikus sum + if (hogy lássuk, hogy kívül vagyunk-e a 3-as értékű gócon).

Hmmm
Előzmény: SQLkerdes (10529)
SQLkerdes Creative Commons License 2009.11.13 0 0 10530
Nos, a:
HA H3>= F3 akkor F3
HA H3<= F3 akkor H3

feltétlenül problémás, mert ha H3=F3 akkor mindkettő teljesül. Az egyikből ki kell operálni az egyenlőségjelet (a visszaadott érték - speciális eset - nem változik ettől, mert F3=H3 és ez az érték kerül be írgy is úgy is.

Egyébként egy beágyazott ha függvényről beszélünk, nem nagy probléma, csak munkás...

Felteszem a fenti feltételek sorrendje egyben erősorrend is, ugye?
Mert ha igen, akkor az utolsó kettő csak akkor értékelődik ki, ha G3=E3 (merthogy egyéb esetben az első két feltétel egyike teljesül és a kiértékelés lezárul).

Jól értem a problémát?
Előzmény: murray (10527)
SQLkerdes Creative Commons License 2009.11.13 0 0 10529
Asztakurv@!
Már elnézést...

Ez valamilyen tudományághoz kell neked (pld. operációkutatás) vagy csak ilyen durván aberrált a számtech tanárod?

Egyébként gondolkozom a problémán...
Előzmény: NeomatiK (10524)
murray Creative Commons License 2009.11.13 0 0 10528
magyar excel 2003as
Előzmény: murray (10527)
murray Creative Commons License 2009.11.13 0 0 10527

hi a köv kérdésem van

HA G3>vagy = mint E3 akkor a E3 értékét kell venni mondjuk az I3 cellában

HA G3<vagy = mint E3 akkor a G3 értéke kell

 

HA H3>= F3 akkor F3

HA H3<= F3 akkor H3

 

nem ellentmondás ez? egyszerre csak egyik sor feltétel teljesülhet?

hogy néz ez ki?

Törölt nick Creative Commons License 2009.11.13 0 0 10526
Szia!

Magyar nyelvű Office-ről beszélünk!

A bal felső sarok ikonnal, benne: mentés, stb. amire gondolsz. A nagy böszme ablak bal alsó sarkában Excel beállítás/Kilépés...

Excel beállítás, magyarul

Népszerű elemek
Képletek
Nyelvi ellenőrzés
Mentés
Speciális

Testreszabás
Bővítmények
Adatvédelmi központ
Források

Advanced almenü alatt én a Speciálisra gondolok, itt van legelsőként a Szerkesztés beállítási lehetőség. Az Enterre vonatkozólag ez van beállítva:

A kijelölt cellák az Enter lenyomása után áthelyezhetők: Lefelé

A probléma érdekes valóban. További fontos info, hogy ez win update után romlott el. Azóta pedig Win update hatására més programom is rosszul vagy egyáltalán nem működik. Pl. acrobat és Nokia PC suite. De ez most nem annyira fontos.

Az update-et megtiltottam, pontosabban engedtem a letöltést, de a telepítést nem. Ennek ellenére kétszer is megyszívtam, nemrég óta van netem, nincsenek nagyon tapasztalataim ezzel kapcsolatban és folyamatosan érnek a meglepetések.

No nem akarom szét off-olni az excel topikot, egyenlőre ennyi!

KöszöNet:)
Előzmény: SQLkerdes (10480)
magyarpityu Creative Commons License 2009.11.13 0 0 10525

Lehet nem értem pontosan a problémát, akkor bocsánat ha beleszólok.

 

Szerintem nem elegendő csak kikapcsolni a hiba megejelenítését a

Application.DisplayAlerts = False paranccsal, hanem a hiba kezelését is át kell venni az Exceltől. Ez az 'On Error Resume Next' utasítássorral történhet. Ekkor nem áll meg a makró futása, ám a hiba kódja az Err objektumban tárolódik.

 

Én ezt úgy használom, hogy akkor kapcsolom ki az Exel hibakezelőjét, ha valami olyasmit készülök tenni, aminek a hibás kimenetelekor magam szeretnék dönteni a hogyan továbbról. Azaz beolvasok egy külső file-t, de ha az nincs meg, akkor a makró a továbbiak szerint nem használja az onnan várt adatokat, helyette mással számol.

 

Tehát kikapcsolom a hibakezelést. A hibára esélyes művelet után tesztelem a hiba bekövetkeztét és léterhozok egy változót, ami majd eltárolja ezt a hibát, végül visszakapcsolom a hibakezelést, hogy bármi más hiba esetén leálljon a makró. A 'hiba' változó azért kell, mert az Err objektum mindig a legutolsó hibáról tárol el információkat.

 

On Error Resume Next

Dim hiba As Integer

If Err.Number > 0 Then

   hiba = hibakód

end if

On Error GoTo 0

Előzmény: Törölt nick (10523)
NeomatiK Creative Commons License 2009.11.13 0 0 10524

Sziasztok!

 

Megint segítséget szeretnék kérni.

 

Van egy A oszlop tele számokkal. A B oszlopban egymást követő 1-esek, de ezek góconként fordulnak elő. A C oszlopban ezen 1-esek mellett a gócban a legutolsó 1-es mellett a gócban lévő 1-esek összege, valahogy így:

 

A      B     C

 

5    

1    

2      1    

8      1

10    1     3

2

1

3     

4     

75

89    1

42    1

30    1

8      1

3      1

48    1     6

19

61

 

 

Az a feladat, hogy megadok egy cellában pl F1-ben egy számot, legyen ez a szám pl:

3

Egy másik cellában, pl F2-ben, egy másik számot, pl:

8

 

Az F1 azt mutatja meg, hogy az 1-es gócokban az első 1-estől hányadik 1-esig vizsgáljon, tehát jelen esetben 3db 1-esen belül vizsgál.

Az F2 azt mutatja meg, hogy melyik számot keresi ebben a 3-as gócban az A oszlopban.

 

Namármost...

vastagítottam, ahol 8-as van ennél a gócnál.

 

A      B     C

 

5    

1    

2      1    

8      1

10    1     3

2

1

3     

4     

75

89    1

42    1

30    1

8      1

3      1

48    1     6

19

61

 

A piros 8-as a vizsgált 3-as gócon belül van. Ebben az esetben, ne másolja a D oszlopba C-ben lévő 1-esek összegét, azaz a 3-as értéket!

A fekete 8-as a vizsgált 3-as gócon kívül van, ezért az 1-esek összegét a 6-ost másolja a D oszlopba át!

A végeredmény így nézne ki:

 

A      B     C    D

 

5    

1    

2      1    

8      1

10    1     3

2

1

3     

4     

75

89    1

42    1

30    1

8      1

3      1

48    1     6    6

19

61

 

A B oszlopban az egyesek előtti közvetlen megelőző cellában se képlet se érték nincs.

Remélem, sikerült érthetően leírnom.

 

Milyen függvény kell a D oszlopba, hogy ezt csinálja? Nekem nem sikerült kiokoskodni. Van erre megoldás? Segítsetek!!!!! :) Köszi!

Törölt nick Creative Commons License 2009.11.13 0 0 10523
Szia,
Köszönöm. Ez az egyik oldala.
Viszont kell valami vizsgálat, hogy volt-e bármilyen üzenet. Ennek utána nézek biztosan van vmi.
Előzmény: E.Istvan (10522)
E.Istvan Creative Commons License 2009.11.13 0 0 10522

Nem tudom, hogy erre gondolsz-e, de az

Application.DisplayAlerts = False

állítja le az Excel saját üzeneteit. Ekkor nem áll le a futás.

Viszont az nem tudom miként lehet figyelni, hogy milyen üzenet volt, ami nem jelent meg.

Előzmény: Törölt nick (10521)
Törölt nick Creative Commons License 2009.11.12 0 0 10521
Volna egy tisztelet teljes kérdésem.
Hogy lehet figyelni azt, hogy milyen üzenetablaklak érkezik egy makró futásakor?
A cél az, hogy ne álljon meg emiatt a futás, hanem például lépjen be egy másik ágba. Vagy válassza vmelyik válaszgombot.

(Pédául: Pivottábla oldalmezőben olyan elemet adok meg (beírom kézzel), amely nem szerepel a táblában. Ekkor megkérdezi, hogy átnevezze-e az elemet, avagy ne.
Futhatna tovább a makró, de a végén kell valami saját üzenet, hogy mi történt.
Delila_1 Creative Commons License 2009.11.12 0 0 10520
Magyar 2003-ban is lehet színkóddal formátumot adni ([Szín36]), de a karakter színének lekérdezésekor az eredeti színkódot kapom. Vagyis csupán formázásnak veszi a formázott színt, annak, ami.
Előzmény: SQLkerdes (10497)
Törölt nick Creative Commons License 2009.11.12 0 0 10519
ja most értem a végére látom írták többen is.
Előzmény: Törölt nick (10518)
Törölt nick Creative Commons License 2009.11.12 0 0 10518

Szia,

ennél sokkal egyszerűbben lehet ezerre kerekíteni számformázással:

# ##0 

és a nulla után van egy szóköz

Előzmény: SQLkerdes (10491)
murray Creative Commons License 2009.11.12 0 0 10517
köszi megnézem
Előzmény: SQLkerdes (10516)
SQLkerdes Creative Commons License 2009.11.12 0 0 10516
=if(a1>=b1;b1;a1)
Vigyázz, lehet, hogy pontosvessző helyett vessző kell a te változatodban. Magyar változatban, az if helyett használj HA-t.

Illeszd be a cél cellába a fenti képletet és kész (nem írtad, de felteszem ha A1<b1 akkor az a1 értékére van szükséged...


Előzmény: murray (10515)
murray Creative Commons License 2009.11.12 0 0 10515

hi egy eccerü kérdésem van

ha A1 nagyobb vagy egyenlö mint B1 akkor a B1 értékét kell vennünk

ez melyik föggvény MIN?

SQLkerdes Creative Commons License 2009.11.12 0 0 10514
Ahogy én látom, így is úgy is felül fogja írni, szóval a kisebbik rossz ha hagyod nekik, hogy helyrehozzák az átformázást.

Egyébként lehet írni egy makrót rá, hogy miután visszakapod a táblázatot (vagy miután a user kitöltötte, ő maga futtatva) alkalmazza újra a kívánt formázást (és akkor mindegy mit csináltak a formátummal a kopi-pészt során, mert a makró felülírja).

Egyszerűbb mint a billentyűzet shortcut-okat átírni :-)
Valszeg makrorekorderrel is simán abszolválható...

Hozzárendeled egy custom gombhoz és megmondod a user-eknek, hogy copy-paste után nyomják meg a gombot.
Előzmény: E.Istvan (10512)
SQLkerdes Creative Commons License 2009.11.12 0 0 10513
Vagy ha már igazán gonoszak vagyunk:
"ERROR"

:-)
Előzmény: Jozsef (10511)
E.Istvan Creative Commons License 2009.11.12 0 0 10512

Pont, hogy nem akarom engedélyezni. A tábla úgy nézzen ki, ahogy az meg van alkotva. Erre ő meg egy sima másolással felülvágja az egészet.

De már beletörödtem, és együttélek ezzel a hiányossággal. :)

Előzmény: SQLkerdes (10509)
Jozsef Creative Commons License 2009.11.12 0 0 10511
Van durvább is:
""
Akármilyen számot ír be, nem látható a cellában semmi :) A szerkesztőlécen persze lehet látni a beírt számot.
Előzmény: SQLkerdes (10510)
SQLkerdes Creative Commons License 2009.11.12 0 0 10510
Ezerre kerekítés:

Most elkezdtem játszani vele egy kicsit és vicces dolgok jönnek ki belőle.

Pld a következő formázási utasítás
"megközelítőleg" #, "ezer" (és akkor itt a vessző csak az angol verzióban helyes!)

hatására
'12134' --> 'megközelítőleg 12 ezer'

Április 1-én azért ezzel lehet ámítani a jónépet :-)
Előzmény: Törölt nick (10504)
SQLkerdes Creative Commons License 2009.11.12 0 0 10509
Nem tom milyen verziót használsz, de a 2007-es xl engedi, hogy különböző szinten védd le a worksheet-jeidet. Egyszerűen hagyd ki a formázás-védést és a felhasználók visszaformázhatják a cellákat amiket elbarmoltak.
Előzmény: E.Istvan (10508)
E.Istvan Creative Commons License 2009.11.12 0 0 10508

Igen, nem is az a gond ha én másolok, mert én erre odafigyelek.

A probléma az amikor az általam elkészített és levédett táblázatot kell a kedves kollégának kitölteni, aki meg néha egy másik táblából másolja át az adatokat. Utánna meg szentségel, hogy ronda lett a táblázat és nem is tudja kijavítani.

Egyébként elvi síkon van egy megoldásom, de én nem vállalkoznék ennek a leprogramozására. (Még nem vagyok ilyen magas szinten.)

Az általam védett lap kijelölése (aktívvá válása) esetén egy makró tegye inaktívvá a beillesztés parancsot, csak az értékként, vagy képletként beillesztést engedélyezze, A CTRL+V kombinációt, meg az adott lap esetében cserélje le egy értékként beilleszt funkcióra.

Elméletben jó vagyok :o)

 

Előzmény: SQLkerdes (10507)
SQLkerdes Creative Commons License 2009.11.12 0 0 10507
A copy-paste mindent másol, nem csak a tartalmat, hanem a formátumot is. Gondolom amikor két ellentmondó utasítás van az excelben (ne engedj formázni, másold a formátumot) akkor a programozók erősorrendet állítanak fel, hogy milyen konfliktus esetén ki legyen az erősebb. Úgy tűnik itt a formátumvédés húzta a rövidebbet :-)

Ha mindenáron meg akarod tartani az eredeti formát, akkor szerintem Paste Special-lel próbálkozz.
Előzmény: E.Istvan (10506)
E.Istvan Creative Commons License 2009.11.12 0 0 10506

Ha már a formázásoknál tartunk, van valami amit nem értek.

Egy cellának leveszem a zárolását, majd az egész munkalapot levédem. Ebben az esetben a cellába lehet beírni számot, de a cella formázást, színezést, szegélymódosítást nem engedi. Eddig ok.

Ekkor egy másik táblázatból CTRL+C és CTRL+V vel átmásolok ide egy cellát. Ekkor a cella formátumát felülírja annak ellenére, hogy védett a munkalap és ezt ki sem tudom javítani, mert a cella formázást nem engedi.

Ez egy Excel hiba, vagy valahogy más módon meg lehet akadályozni, hogy másolás beillesztésnél felülírja a formátumot?

SQLkerdes Creative Commons License 2009.11.12 0 0 10505
Akkor megnyugodtam
Előzmény: Törölt nick (10504)
Törölt nick Creative Commons License 2009.11.12 0 0 10504
A második formátumkód helyesen:

formátum: >>[<500] "0";# <<
eredmény: 12134 -> 12
Előzmény: Törölt nick (10503)
Törölt nick Creative Commons License 2009.11.12 0 0 10503
Igazad lehet, az ezres szeparátor a ludas. Magyar xl2003 esetén:
formátum: >>[<500] "0";# "000"<<
eredmény: 12134 -> 12000

formátum: >>[<500] "0";# <<
eredmény: 12134 -> 12000

A formátumkódokat >> és << közé tettem, hogy jól látsszon a második formátumnál a végén a szóköz. Az a szóköz kell oda.
Előzmény: SQLkerdes (10502)
SQLkerdes Creative Commons License 2009.11.12 0 0 10502
Akkor nem tom
Kiváncsivá tettél, majd ránézek a 2003-as verziómra is ha lesz egy kis időm (mongyuk az is angol, szóval a megnézés nem feltétlenül válaszol meg minden kérdést).

És lehet, hogy az oprendszer input local beállítása is számít...

Másnak (Jimmy?) műxik a dolog 2003 alatt? Ha igen, milyen nyelvű változata van?
Előzmény: Delila_1 (10501)
Delila_1 Creative Commons License 2009.11.12 0 0 10501
Próbáltam így is, úgy is.
Előzmény: SQLkerdes (10500)
SQLkerdes Creative Commons License 2009.11.12 0 0 10500
Én most 2007-en használtam és ott műxik.
És nincs olyan emlékem, hogy változott volna a két változat között.

Nem lehet, hogy a pontos vessző, vessző dolog keveri meg? Ha jól látom a bejegyzéseidből akkor neked magyar verziód van (ahol a vessző tizedesvesszőnek játszik). Nekem viszont angol verzióm van (ahol a vessző ezres szeparátor). Lehet ott keveredik meg a dolog és nem a 2003/2007 verziónál...
Előzmény: Delila_1 (10499)
Delila_1 Creative Commons License 2009.11.12 0 0 10499

Ez így nem jött össze (2003), csak a lenti formátummal.

# ##0 "000"

A formátum (# ##0) utáni szóköz hatására a szám ezredrésze, 2 szóköznél a milliomod része látszik kerekítve, míg a cella értéke változatlan.

A végén lévő nullák nélkül abban az esetben használható, ha pl. egy összeget eFt-ban, vagy MFt-ban akarunk mutatni.

Előzmény: SQLkerdes (10491)
SQLkerdes Creative Commons License 2009.11.12 0 0 10498
Rájöttem, hogy hol jobb a számformázás:
- Chart-ok tengelyeinek számainak formázására (mert ott a feltételes formázás nem műxik).

Szal ha valaki egy grafikon tengely számait szeretné aszerint szinezni, hogy hogy viszonyulnak pld az átlaghoz, akkor csak a számformátumos játékot tudja alkalmazni
Előzmény: Jozsef (10495)
SQLkerdes Creative Commons License 2009.11.12 0 0 10497
Viszont ha már ilyen jól belemásztunk a számformázás arcába, azt még érdemes tudni, hogy nem csak a nyolc alapszínt lehet használni (red, blue, green,...), hanem az Excel 2003 mind az 56 (53?) alapszínét, csak név helyett color kóddal kell hivatkozni rájuk.

Tehát a [Color10] #,##0 is érvényes formázási utasítás.
Nem tom, hogy a magyar változatban ez a Color10 mi lehet, [Szin10](?)
SQLkerdes Creative Commons License 2009.11.12 0 0 10496
Egyetértek.
Mondjuk lehet rá makrót írni ami mindíg update-eli az átlag értékét és a NumberFormat property-t megváltoztatja a munkalap változásainál, de ez talán már túlzás...

Az egyetlen ok ami miatt a számformátum jobb lehet az a lefele kompatibilitás (nem tom blöffölök), mert a számformátumok lefele teljesen kompatibilisek, a feltételes formázást nem tudom, hogy teljesen kompatibilis-e.
Előzmény: Jozsef (10495)
Jozsef Creative Commons License 2009.11.12 0 0 10495
pld egy számokból álló sorozatot lehet úgy formázni, hogy az átlag feletti tételek feketék, az átlag alattiak pedig pirosak.
Hát, ezt speciel igazán jól csak feltételes formázással lehet megoldani. Ugyanis az egyéni számformátum csak konstans értékeket fogad el a feltételekben, cellahivatkozást, képletet nem.
Előzmény: SQLkerdes (10490)
SQLkerdes Creative Commons License 2009.11.12 0 0 10494
Már rég így van, a 2003-asban is működnie kéne...
Előzmény: Törölt nick (10492)
Törölt nick Creative Commons License 2009.11.12 0 0 10493
Bocs, megvan. Csak le kellett fordítani magyarra.
Előzmény: Törölt nick (10492)
Törölt nick Creative Commons License 2009.11.12 0 0 10492
Ezt melyik verzió eszi meg? Nekem a 2003-as nem szereti.
Előzmény: SQLkerdes (10489)
SQLkerdes Creative Commons License 2009.11.12 0 0 10491
És még egy:

Lehetőség van a legközelebbi ezer-re kerekíteni a (megjelenített) számot.
Pld a következő formázási utasítás hatására a 125913 126000-ként fog megjelenni (miközben a cella értéke változatlan marad)
[<500] "0";#,"000"

(Az első feltétel <500 azért kell, hogy az ezer alatti számokkal is tudjon mit kezdeni a kód).

Csak a tíz harmadik hatványaira lehet így kerekíteni (ezrek, milliók, etc.).

Én még nem láttam olyat ahol ez a formázás hasznos, de biztos van, egyébként a MS srácok nem programozták volna le...
SQLkerdes Creative Commons License 2009.11.12 0 0 10490
Nos, akkor hogy értelme is legyen az utolsó bekezdésnek:

pld egy számokból álló sorozatot lehet úgy formázni, hogy az átlag feletti tételek feketék, az átlag alattiak pedig pirosak.
Előzmény: SQLkerdes (10489)
SQLkerdes Creative Commons License 2009.11.12 0 0 10489
A number format nem csak a negatív, pozitív és nulla formázására vonatkozhat, hanem feltételeket is ki lehet értékeltetni vele.
A lenti kód pld az 5-ösöket kéknek, a hatosokat pirosnak mutatja.

[Blue][=5]#,##0;[Red][=6]#,##0

A feltételek között lehet relációs jel is (pld egy számokból álló sorozatot lehet úgy formázni, hogy az átlag alatti tételek feketék, az átlag alattiak pedig pirosak)
Előzmény: Delila_1 (10486)
Delila_1 Creative Commons License 2009.11.12 0 0 10488
Igazad van, a mínusz jelet kifelejtettem a második helyről. :(
Előzmény: magyarpityu (10487)
magyarpityu Creative Commons License 2009.11.12 0 0 10487

Ezt a formázást nem ismertem, pedig milyen sokszor van rá szükségem, köszönöm! Kipróbáltam, de talán így érdemes használni: 0,0######;-0,0######;0

Előzmény: Delila_1 (10486)
Delila_1 Creative Commons License 2009.11.12 0 0 10486

Az egyéni cellaformátumban 3 értéket adhatsz meg. Az első a pozitív-, a második a negatív számokra vonatkozik, a harmadik pedig a 0 értékre.

Ennek alapján a Jimmy által megadott formát tovább fejlesztheted:

0,0######;0,0######;0

Előzmény: Okos Tóni (10484)
Törölt nick Creative Commons License 2009.11.12 0 0 10485
Tisztelt Tóni,

1. például 0,0########, ahol a #-ek száma a maximálisan megjelenített tizedesjegyek számát jelenti.

2. Menü: Adatok -> Tagolás és részletek -> Csoportba foglalás.

Nincs mit.
;)
Előzmény: Okos Tóni (10484)
Okos Tóni Creative Commons License 2009.11.11 0 0 10484
Tisztelt Fórum,

1. olyan cellaformázási maszk van, amivel azt lehet beállítani, hogy a tizedes jegyek közül pl. az első MINDENKÉPP jelenjen meg, a többi csak akkor, ha nagyobb 0-nál?

2. láttam olyat egy táblázatban, hoyg a sorok mellett megjelent egy kis + jel, és ha rákattintottam, akkor szétugrott és megjelentek az elrejtett sorok. Ilyet hogy kell?

Köszönöm!
E.Istvan Creative Commons License 2009.11.11 0 0 10483

Nem a verzió lekérdezéssel van a probléma, azt tudom.

Az a gond, hogy a levél készítő makró futtatásához és az outlook-os parancsok felismeréséhez szükséges, hogy az Excelben be legyen kapcsolva ez az outlook 12 "parancsértelmező" vagy micsoda a Tools->References menüben (Ez már kicsit kezdi meghaladni a tudási szintemet.) E nélkül a makrót le sem fordítja, nem hogy futtatná.

2007-ben én a 2007-es outlook ot tudom neki bekapcsolni, ami a 12-es. Az előző 11-es nem is szerepel a listában. Ezért aztán, amikor 2003-as Excel-ben nyitják meg a táblázatomat, a VBA hülyén néz, hogy mi az a outlook 12, Ő ilyet nem ismer, anyira meg nem inteligens, hogy helyette bekapcsolná a 11-est. (Tulajdonképpen miért is tenné.) Ezt kézzel kell bekapcsolni egy 2003-as Excelben. (Ugyanitt meg ki kell kapcsolni a 12-est, mert arra meg azt írja, hogy hiányzik.

Nekem az a gyanum, hogy ezt makróból nem lehet állítani, hiszen már eleve a makró futáshoz ez is szükséges lenne. De ez csak gyanu, amit kezdetleges tudásomra alapozok.

Tulajdonképpen erre kérnék megerősítést, és akkor nagyon szomorú leszek. Vagy cáfolatot és egy új látásmoddal megközelítve esetleg valamilyen más megoldást. :o)

Előzmény: Törölt nick (10482)
Törölt nick Creative Commons License 2009.11.11 0 0 10482
Le lehet kérdezni a verziószámot. Beépített függvény is van erre, magyarban:
=INFÓ("verzió")
De valaki írta lentebb is, hogy ez elérhető. Innentől szerintem már neked sem gond a probléma megoldása.
Előzmény: E.Istvan (10481)
E.Istvan Creative Commons License 2009.11.11 0 0 10481

Még egy kérdésem lenne, bár erre már nem hiszem, hogy van megoldás.

A 10056-ban írt levélküldős programomat használják Excel 2003-ban és 2007-ben is. Én 2007-et használok, tehát a VBA-ban a references-ben be van kapcsolva a Microsoft Outlook 12. Ha a táblázatomat 2003 alatt nyitják meg ott fordítási hibával kiakad mert ott nincs Outlook 12 csak 11. Nálam meg 11 nincs. Nincs valamilyen beállítás vagy trükk arra, hogy ezt akár "automatikusan felismerje"? Ha nem lesz más megoldás, akkor le kell mentenem a táblámat két gépen külön 2003-ban és 2007-ben. Ezt már próbáltam és működik de nem túl elegáns és elég macerás.

SQLkerdes Creative Commons License 2009.11.11 0 0 10480
XL 2007-ben:
1.) Excel főmenü (a bal fölső sarok, ahol a Save meg Print van)
2.) Jobb alsó sarok: Excel options
3.) Advanced almenü
4.) Editing options. Ez az első tétel a listában

Ird meg légyszi, hogy ez volt-e elállítva, mert ha itt minden OK akkor még érdekesebb a probléma
Előzmény: Törölt nick (10478)
Törölt nick Creative Commons License 2009.11.11 0 0 10479
Scroll Lock nem nyert..., és az újratelepítés sem... :(
Előzmény: Törölt nick (10478)
Törölt nick Creative Commons License 2009.11.11 0 0 10478
Sajnos ilyen elérési ut nincs a 2007-ben.
Előzmény: Szongo (10458)
magyarpityu Creative Commons License 2009.11.11 0 0 10477

Szia!

 

Nem olvastam el figyelmesen a kérdést. Amit korábban írtam, az Excel makró, ami meghívja az Outlook-ot, majd visszakapja a fókuszt. A te makród Outlook-ban van, és onnan kellene elérni az Excelt.

 

Jó a makród, de írd be még ezt is a végére: Application.ActiveWindow

Előzmény: E.Istvan (10472)
Törölt nick Creative Commons License 2009.11.11 0 0 10476
Igazad van....
Előzmény: E.Istvan (10474)
wawabagus Creative Commons License 2009.11.11 0 0 10475

Szia!

Hmmm...2003-as és az a fura, hogy eddig ilyet nem csinált.

 

Nem nagy gond, mert "paste-value"-ként be tudom másolni...csak nagyon idegesít, hogy mi okozhatta ezt...foleg hogy korábban nem csinált ilyen abszurd dolgot.

Senki sem kérte az excelt, hogy változtasson a font-on...érthetetlen

 

Köszi a segítséget!!!

Y

Előzmény: SQLkerdes (10465)
E.Istvan Creative Commons License 2009.11.11 0 0 10474
Igen többek között ezzel is szenvedtem, de nem volt jó, mert ez csak az Excelen belül aktiválta az ablakot. Magát az Excel ablakot nem tette aktívvá, csak a tálcán kezdett villogni az Excel ikonja, mert a programom feldobott egy msgbox-ot és vállaszra várt. De maga az msgbox is és az Excel ablak is a háttérben volt nem volt látható, csak ha a tálcán az Excelre kattintottam.
Előzmény: Törölt nick (10473)
Törölt nick Creative Commons License 2009.11.11 0 0 10473
Ha meg nem Shell paranccsal dolgozol, akkor pl.
ThisWorkbook.Activate
Előzmény: E.Istvan (10469)
E.Istvan Creative Commons License 2009.11.11 0 0 10472

Ennyire nem bonyolult a helyzet. Nem a Shell parancsot használom. Részben nem is értem, hogy mit írtál.

Az AppActivate ThisWorkbook.Name parancs hibaüzenetre futott, de legalább megtudtam, hogy létezik ilyen parancs és kicsit módosítva az AppActivate "Microsoft Excel" parancs megoldotta a problémámat.

Kiragadva a programomból a lényeget:

 

Dim ouApp As New Outlook.Application
Dim level As Outlook.MailItem

Set level = ouApp.CreateItem(olMailItem)
level.To = "címzett"

level.Subject = "tárgy"

level.Attachments.Add (melléklet)

level.display

Set level = Nothing

AppActivate "Microsoft Excel"

 

Hálás köszönetem!

 

Előzmény: magyarpityu (10471)
magyarpityu Creative Commons License 2009.11.11 0 0 10471

A következőt tenném.

 

Mikor a Shell paranccsal indítod a külső alkalmazást, akkor a Shell visszatérési értékét eltárolod, ez lesz mondjuk a ProcessID változó, a levelező alkalmazás munkafolyamat azonosítója. Amíg megírod a levelet, aktív ez a munkafolyamat. Miután elküldted a levelet, lezáródik ez a munkafolyamat és a ProcessID-ben tárolt azonosítóhoz nem fog érvényes munkafolyamat tartozni. Mindeközben az Excel makró egy ciklusban teszteli, hogy érvényes-e még ProcessID. Amint érvénytelenné válik ProcessID, visszakapcsolunk az Excelre.

 

...

Dim ExeName As String, CommandLine As String

ExeName = ...

CommandLine = ...

 

On Error Resume Next
Dim ProcessID As Double
ProcessID = Shell(CommandLine, vbNormalNoFocus)
If Err.Number > 0 Then
   MsgBox Chr(34) & ExeName & Chr(34) & " nem futtatható!" & Chr(10) & _
      "Hiba: " & Err.Description, vbExclamation
   Exit Sub
End If

 

Do
   AppActivate ThisWorkbook.Name
   AppActivate ProcessID
Loop Until Err.Number > 0
On Error GoTo 0

Előzmény: E.Istvan (10469)
E.Istvan Creative Commons License 2009.11.11 0 0 10470

Na még írni sem tudok. Helyesen:

Nem. Makróból hívok meg....

Előzmény: E.Istvan (10468)
E.Istvan Creative Commons License 2009.11.11 0 0 10469

Sziasztok!

Van egy kis makró problémám.

Makróból hívok meg egy másik alkalmazást (levélküldés). Ekkor a levél lesz az aktív ablak. Ez így is van rendben, ezt szeretném. Majd fut tovább a makró és ekkor szeretném ha a képernyőn ismét az Excel jelenne meg, nem a levél (outlook)

E.Istvan Creative Commons License 2009.11.11 0 0 10468

Nem makróból hívok meg egy másik alkalmazást (levélküldés). Ekkor a levél lesz az aktív ablak. Majd fut tovább a makró és ekkor szeretném ha a képernyőn ismét az Excel jelenne meg, nem a levél (outlook)

 

Egyébként most vettem észre, hogy nem is abba a fórumba írtam, amelyikbe akartam. :o) Mind a két Excelt figyelem de a másik fórumot használom jobban. De most már mindegy. Megkérdezem ott is.

Előzmény: Szongo (10463)
Delila_1 Creative Commons License 2009.11.10 0 0 10467

Eszerint sikerült úgy átalakítanod az első makródat, hogy működjön is.

Sok sikert a továbbiakhoz!

Előzmény: Szongo (10464)
SQLkerdes Creative Commons License 2009.11.10 0 0 10466
A Tab-bal kapcsolatban csak blöfföm van: Scroll Lock?
Az időnként furcsa dolgokat csinál...
Előzmény: Törölt nick (10456)
SQLkerdes Creative Commons License 2009.11.10 0 0 10465
Még nem láttam ilyet, de elsőre arra gondolnék, hogy a stílusokkal van valami.
Milyen excel-t használsz? 2007 vs 2003.

A 2007-es verzióban a Home tab-on vannak a stílusok, nézd meg az átmásol mezők stílusát másolás előtt meg másolás után.

Felteszem Past Special-ben ha a formátum másolást kikapcsolod akkor nincs ilyen? Igaz?

Előzmény: wawabagus (10459)
Szongo Creative Commons License 2009.11.10 0 0 10464
 

Júhi, köszi Delila, sikerült megcsinálta, csak az volt a baj, hogy más tulajdonságok is voltak az Összes B oszlopában nem csak az a 22 fül amire szét kellett szedje, azokat töröltem és amikor már csak az a bizonyos 22 maradt akkor megcsinálta. Első makrós élményem tök jó :-)

 

Sz.

Szongo Creative Commons License 2009.11.10 0 0 10463
Remélem jól értem, hogy mit szeretnél. Ha VB-ben vagy a File felírat alatt van egy kis excel jelecske ha arra kattintasz vissza lépik excelbe.

Őszintén egyelőre ennyi amit értek a makrókhoz J Nagyon köszönöm Delila a makrót, sajna nem azt csinálja amit szeretnék de ez bizt az én hibám nem nagyon értek hozzá be kell szerezzek egy könyvet és utána nézzek a makróknak mert bizt. nagyon hasznosak és egy rakás munkát megspórolhatnék velük.

 

Sz.

E.Istvan Creative Commons License 2009.11.10 0 0 10462

Sziasztok!

Nekem is adódott egy kis makró problémám.

VBA-ból indítok egy másik alkalmazást. Ekkor ennek az alkalmazásnak lesz aktív az ablaka. A munka végeztével ezt nem szeretném bezárni, de újra az Excel ablakot szeretném aktívvá tenni. Ezt milyen paranccsal lehet megoldani?

Delila_1 Creative Commons License 2009.11.10 0 0 10461

Itt a makró, amiben feltételezem, hogy az összes adatot tartalmazó lap neve Összes, a többi lapé pedig a tulajdonság nevével megegyező (jó, okos, szamár), és az Összes lapon ez a tulajdonság a B (2.) oszlopban szerepel.

 

Sub Lapokra()
    Dim sor, lapn
    Sheets("Összes").Select
   
    For sor = 2 To ActiveSheet.UsedRange.Rows.Count
        lapn = Cells(sor, 2) 'Itt veszi az adatot a B oszlopból)
        Rows(sor).Copy
        Sheets(lapn).Select
        Cells(Range("A65536").End(xlUp).Row + 1, 1).Select
        ActiveSheet.Paste
        Sheets("Összes").Select
    Next
End Sub

Előzmény: Szongo (10457)
Delila_1 Creative Commons License 2009.11.10 0 0 10460

Ezt egy egyszerű makró tudja megcsinálni, amihez tudni kell, melyik oszlop tartalmazza a jót, az okosat és a szamarat.

 

Előzmény: Szongo (10457)
wawabagus Creative Commons License 2009.11.10 0 0 10459

Sziasztok!

Meg tudtok nekem oldani egy titokzatos rejtélyt?

 

A nyers adatokat bemásolom egy templatebe...

 

Mind a két fájlban a font "Ariel". Ha csak simán bekopizom átíródik az Ariel Helv-re.

De erre senki sem kérte az excelt....

 

Egyszerűen nem értem hogyan írhatja át Helvre, ha itt is ott is Ariel volt a font típus...

 

 

Történt már veletek hasonló?

 

Van valami tippetek mi lehet ez?

Köszi szépen a tanácsokat!!

Y

Szongo Creative Commons License 2009.11.10 0 0 10458
Az Entert itt tudod állítani:

 

Eszközök ---- Beállítások --- Szerkesztés --- be kell pipálni, hogy Enter után továbblép és kiválaszthatod az irányt is, hogy merre menjen.

A Tab-hoz nem tudok (még:) hozzászólni.

 

Sz.

Szongo Creative Commons License 2009.11.10 0 0 10457
Sziasztok!

 

Itt a köv. feladvány: van a 22 fülem ahová be kellene tegyen egy másik táblázatból neveket pld. tulajdonság alapján amiből szintén 22 fajta van, de egy fajtán belül változó darabszámú ember. . Pld. az egyik fülbe tegye a jó embereket, mondjuk abból van 3, a köv. fülbe az okosakat, abból van pld. 8, köv. fülbe a szamarakat x darabszámút. Valami jó kis képlet kellene amivel egyszerre mind a 22 fület elintézhetem J. Ha rákeresek az Fkeressel az a baj csak az elsőt adja ki a köv. x darabot nem.

 

Sz.

Törölt nick Creative Commons License 2009.11.10 0 0 10456
Sziasztok!

A következő problémáim vannak, illetve lettek, csak úgy ok nélkül. Office 2007-et használok, az excel-el vannak problémáim:

1.) Sokszor van szükségem adatbevitelhez a [] jelekre, amit itt láttjátok szépen betudok gépelni. Az excel-ben sem magyar, sem angol kiosztással ne tudom használni.

2.) Nemrégiben egyik napról a másikra a TAB-om nem a megszokott módón viselkedik. Nem a következő oszlopra ugrik és kijelöl, hanem doksinként rapszodikus módón egy sokkal távolabbiba.

3.) Az enter leütésére a kijelölés nem ugrik a következő sorra, egyszerűen megszűnik a kijelölés és a cellában marad a kurzor.

Köszi előre is!
vmxtr
SQLkerdes Creative Commons License 2009.11.09 0 0 10455
Alternativ megoldás a nullás problémára:
1.) Kijelölöd a már átmásolt területet.
2.) Ctrl+1 (Format Cell)
3.) Válaszd a Number-s kategóriát,
4.) Numbers alkategóriát válaszd és állítsd be, hogy milyen számformátumot akarsz látni (tizedes jegyek száma, ezres vessző legyen, ne legyen, negatív szám színe),
5.) Ha ez kész, akkor lépj át a Custom kategóriába és rakj a megjelenő szerkesztő ablakba a látható formázási string mögé egy pontosvesszőt és két idézőjelet.

Példa:
A szerkesztőkisablakban az jelenik meg hogy: #,##0_ ;-#,##0 (fekete negatív szám, ezres vessző, tizedesjegyek nélkül)
Ekkor te úgy szerkeszted át, hogy így nézzen ki: #,##0_ ;-#,##0;""

Ugyanez piros negatív számokkal, ezres vesszővel és tizedesekkel:
Ablak tartalma: #,##0.00_ ;[Red]-#,##0.00
A te javítások után: #,##0.00_ ;[Red]-#,##0.00;""

És a nullák huss eltűnnek esmeg!
SQLkerdes Creative Commons License 2009.11.09 0 0 10454
Most, hogy mondod:
Excel 2007-ben:
1.) Kijelölöd annak a sheetnek az összes másolandó celláját amit másolni akarsz
2.) Copy (Ctrl+C)
3.) Kijelölöd annak a sheetnek egy celláját ahova másolni akarsz (ide fog kerülni a másolt tartalom bal felső sarka, normál esetben ez az A1 cella)
4.) Home tab/Paste ikon és itt a lenyíló menüből a Paste Link-et válaszd.
5.) Tada!

Nullák elrejtése mint lent.

Excel 2003-ben asszem annyi a különbség, hogy a Paste special-t kell választani ami az Edit menüben van.
Előzmény: SQLkerdes (10453)
SQLkerdes Creative Commons License 2009.11.09 0 0 10453
A 0 értékek elrejtése:
Excel 2007-ben:
1.) Excel főmenü (bal felső sarok, ahonnan nyomtatni, meg menteni szoktak)
2.) Excel options (a lenyíló menü jobb alsó sarka)
3.) Advanced almenü
4.) Görgess lefele amíg azt nem látod, hogy "Display option for this worksheet"
5.) A negyedik tétel a listában: Show zero values...
6.) Na, ezt kattints ki és huss eltünnek a zéróid.

Excel 2003-ben ez a Tools/Options alatt van.
Előzmény: Szongo (10451)
Delila_1 Creative Commons License 2009.11.09 0 0 10452

A nullákat megszüntetheted a HA függvény segítségével.

=ha(Hivatkozott_cella="";"";Hivatkozott_cella)

Előzmény: Szongo (10451)
Szongo Creative Commons License 2009.11.09 0 0 10451

Nagyon köszi a válaszokat.

 A megoldás nem rossz, kipróbáltam csak minden üres cella helyére betette a 0-át ahol nem volt adat az eredeti cellában, ezt nem értem miért csinálta. És az a helyzet, hogy egy excel táblában van 22 fül amit szét kell osszak 11 excel táblába, szóval ezzel a módszerrel lesz mit csináljak egy darabig főleg a 0-ások törölgetése miatt. Azért nagyon köszi ez sem jutott nekem eszembe :-) Valami olyasmin gondolkodtam, hogy hivatkozni arra a táblára és fülre és azt egy az egyben betegye egy másik excel táblába persze mindig frissítve :-)

 

Sz.

 

Delila_1 Creative Commons License 2009.11.08 0 0 10450

Ezen könnyű segíteni.

A cél füzetben az Adatok/Kapcsolatok/Hivatkozásoknál, ott is az Indító rákérdezésnél be lehet állítani a csatolások frissítésének a módját.

 

Előzmény: SQLkerdes (10449)
SQLkerdes Creative Commons License 2009.11.06 0 0 10449
A lenti - tökéletes - megoldáshoz még annyit fűznék hozzá, hogy a fentiek elvégzése után érdemes figyelni a file megnyitásakor, mert az Excel2007 előszeretettel és automatikusan letiltja a külső file-okra való hivatkozások frissítését!

Szóval legyél benne biztos, hogy frissítetted a hivatkozásokat.
Előzmény: Delila_1 (10448)
Delila_1 Creative Commons License 2009.11.06 0 0 10448

Legyen nyitva a két füzeted.

Állj egy olyan cellába, amelyikben a másik füzet adatát szeretnéd látni.

Kezdd el a képlet beírását egy = jellel.

Kattints a másik füzetedre, ott is a másolandó cellára.

Enterezd le.

A kapott képletben szögletes zárójelek között lesz a másik füzeted neve, utána a lapnév következik egy felkiáltójellel a végén, majd a másolandó cella fix hivatkozásként.

A két $ jel eltávolítása után a képletet átmásolhatod a teljes területre, ahol a másolandó füzet adatai kellenek.

A másolt füzetben mindig a másolandó füzet aktuális értékei szerepelnek majd.

=[Másolandó_füzet]Munka1!A1

Előzmény: Szongo (10446)
SQLkerdes Creative Commons License 2009.11.06 0 0 10447
va különböző workbook-ok azonos nevű füleit (worksheet-jeit) szeretnéd szinkronizálni...

Kérdés: vannak workbook-ok amik változhatnak és ezek változását szeretnéd látni egy - hívjuk Master - workbookban vagy bármelyik workbook változik az összes le kéne követnie (megnyitáskor).

Ez az első kérdés. Ha nem a Master workbook változatról van szó akkor nagyon durva a megoldás (egy makró ki kell olvassa minden workbook utolsó mentési idejét és összehasonlítani az éppen aktuális workbook utolsó mentési idejével. Ha itt eltérés van (az aktuális változott régebben) akkor cellánként át kell nézni a workbook minden fülét és minden celláját és a változtatásokat lekövetni. Macerás...

Speciális eset: ha csak két workbookról van szó és abból az egyik a Master, akkor elég a Master minden celláját hozzálinkelni a másik minden cellájához. Ezt relative könnyű megcsinálni és még programozni sem kell hozzá.

Melyik?
Előzmény: Szongo (10446)
Szongo Creative Commons License 2009.11.06 0 0 10446
Sziasztok!

 

Egy olyan kérdésem lenne, hogy különböző excel táblákban lévő azonos fülű táblákat hogyan tudnék úgy összekapcsolni, hogy ha változtatom az egyik excel táblában a fület mikor megnyitom a másik táblát akkor abban is felajánlja az elöző tábla azonos fülében lévő adatokon végrehajtott változtatások elfogadását, vagy csak autómatikusan változtassa meg az is jó lenne.

 

Nagyon köszi előre is annak aki tud segíteni!

Szép napot!

Sz.

SQLkerdes Creative Commons License 2009.11.05 0 0 10445
Ja, időnként elcseszett egy logikát követ az excel object model...
Mongyuk ha jobban belegondol az ember akkor logikus, hogy egy ablakban több panel is lehet és akkor panelszinten kell rendezni a dolgot, nem ablakszinten.
Ezért nincs is az activewindow-nak olyan tulajdonsága amivel ezt meg lehet csinálni.

Törölt nick Creative Commons License 2009.11.05 0 0 10444
Ez a cucc nekem is új. Én a ScrollIntoView-t próbáltam erőltetni, de azzal egy rakás mellékszámítás kell, hogy jól működjön. Ez sokkal egyszerűbb.
Előzmény: Törölt nick (10443)
Törölt nick Creative Commons License 2009.11.05 0 0 10443
Hurrá.
Köszi, ezt kerestem. Gondoltam, hogy ActiveWindow és Scroll környékén kell valami de nem ismertem ezt a Pane(1) dolgot.

Egész pontosan így a tökéletes, mivel ez csak a sort mozgatja.

With ActiveWindow.Panes(1).
.ScrollRow = 156
.ScrollColumn = 7
End With

Hálás köszönet.

Amúgy üdv. a klubban. :)
Előzmény: SQLkerdes (10437)
Törölt nick Creative Commons License 2009.11.05 0 0 10442
oppá
ez jobbnak néz ki, kipróbálom.
Előzmény: SQLkerdes (10437)
Törölt nick Creative Commons License 2009.11.05 0 0 10441
így van.

Megnéztem mit rögzít, ha bepötyögöm a cella címét ahová kell.

With Application
.Goto Reference:=Range("IV65536")
.Goto Reference:=Range("G38")
End With

Már ott is van bal fesőben a G38 cella
Előzmény: SQLkerdes (10439)
John_Doe Creative Commons License 2009.11.05 0 0 10440
Kattintással nem igen, de egy gyors makróval igen.
Érdekel a makrós megoldás?
Előzmény: paragabika (10309)
SQLkerdes Creative Commons License 2009.11.05 0 0 10439
Nem csak hogy félreértettem, de még el is rontottam, mert a .select a képernyő közepére rakja a hivatkozott cellát...
Meg az .activate is, ahogy elnézem.
Előzmény: Törölt nick (10435)
SQLkerdes Creative Commons License 2009.11.05 0 0 10438
35 --> 38
Bocs, gyenge volt a kávé...
Előzmény: SQLkerdes (10437)
SQLkerdes Creative Commons License 2009.11.05 0 0 10437
ActiveWindow.Panes(1).ScrollRow = 35

"Returns or sets the number of the row that appears at the top of the pane or window. Read/write Long."

Ugyazez ScrollColumn-nal és beállíthatod az áhított G35-öt.

Ez jobb?

SQLkerdes Creative Commons License 2009.11.05 0 0 10436
van az úgy :-)
Törölt nick Creative Commons License 2009.11.04 0 0 10435
szia,
igen, félreértetted.
Előzmény: SQLkerdes (10434)
SQLkerdes Creative Commons License 2009.11.04 0 0 10434
Ha makróban csinálod és pld az AX1000-t akarod a bal felsőbe akkor érdemes kipróbálni a:
Range("AX1000").select - et.

Vagy félreértettem valamit?
tbando Creative Commons License 2009.11.04 0 0 10433
Nálam akkor az IH65530 lesz a bal felső sarokban. És nálad?

A zoom információt meg köszi. Nem ismertem. Ha belegondolok, hogy mennyit szoktam vacakolni a nagyitás-kicsinyítés parancsokkal....
Előzmény: Törölt nick (10432)
Törölt nick Creative Commons License 2009.11.04 0 0 10432
de ez akkor sem teljesen jó...
Mi van ha azt akarom, hogy az IH65530 legyen a bal felső sarokban?



Előzmény: tbando (10428)
Törölt nick Creative Commons License 2009.11.04 0 0 10431
Majdnem jó. De üss be egy olyan cellát, amit látsz. Nem fog a bal felsőbe kerülni.

Értem már mit mondasz, teszem azt elugrok alsóafganisztánba pl. IV65536 és utána G38.

Így jó.
:)

De ez nekem miért nem jutott eszembe? :(
Előzmény: tbando (10428)
Törölt nick Creative Commons License 2009.11.04 0 0 10430
zoom, ja bocs, tudod a celák nagyítása, kicsnyítése (pl ctrl+egérgörgővel)
Előzmény: tbando (10429)
tbando Creative Commons License 2009.11.04 0 0 10429
Apropo, mit jelent a zoom az excelben?
Előzmény: Törölt nick (10427)
tbando Creative Commons License 2009.11.04 0 0 10428
Nem értem, hogy miért nem jó, amit javasoltam. Ha megnyitsz egy munkalapot akármelyik ablakban, és bebillentyűzöd, hogy pl. F5 AC329, akkor ha az AC329 előzőleg nem volt a képernyőn, akkor a képernyő bal felső sarkába kerül, kijelölve.
Előzmény: Törölt nick (10427)
Törölt nick Creative Commons License 2009.11.04 0 0 10427
hűha,
ezt nem is értem, de valószínűleg rosszul tehettem fel a kérdést.
A lényeg:
kopipaszte jellegű makróval értékké alakítva új munkalapra másolok egy másikat. A munkalapot átnevezem (egy cellából veszem a munklapnevet)

Ez egy nagy táblázat és ennek a közepe táján vannak azok az adatok, amelyeknek szem előtt kell lennie a munkalap generálódásakor. Ez úgy lenne jó, ha a G38 cella az ablak bal felső sarkában lenne.
Tehát a kérdésem az volt, hogy van e olyan tulajdonsága az ActiveWindow(?)-nak amellyel be lehet tájolni a helyzetét, de mondhatnám úgy is, hogy a vertikális és horizontális scrollozást úgy beállítani, hogy a g38 cella az ablak bal felső sarkában legyen (pl függetlenül a Zoom-tól, vagy hogy milyen eszköztárak aktivitása befolyásolja az (adat)ablak méretét
Előzmény: tbando (10426)
tbando Creative Commons License 2009.11.04 0 0 10426
azt hogy lehetne megoldani, hogy pl. a G38 cella legyen az ablak bal felső sarkában?


Szerintem az F5 X1000 majd F5 G38-cal a kivánságod jó eséllyel teljesül.

azaz: Először ugorj a kurzorral egy olyan területre, amelyen a g38 nem látszik, majd innen a G38-ra.
Előzmény: Törölt nick (10423)
wawabagus Creative Commons License 2009.11.04 0 0 10425

hmm.

Köszi :-)!

Előzmény: Jozsef (10421)
Jozsef Creative Commons License 2009.11.04 0 0 10424
Ettől még egyszerűbb a helyzet: a winword.exe és a excel.exe ugyanabban mappában van :)
Előzmény: Törölt nick (10422)
Törölt nick Creative Commons License 2009.11.04 0 0 10423
sziasztok,
azt hogy lehetne megoldani, hogy pl. a G38 cella legyen az ablak bal felső sarkában?
(Ezzel lenne megoldva a cél, hogy a nyomtatási terület legyen látható)
többszörös Scrollozgatással megoldottam, de nem tetszik :( biztos vagyok benne hogy van nem favágós megoldás is.
Törölt nick Creative Commons License 2009.11.04 0 0 10422
Inkább olyasmiről lehet szó, hogy a rendszerleíró adatbázisban regisztrált programokat ismeri fel névről, és azoknak - ugyanonnan - tudja az elérési útvonalát is.
Előzmény: Jozsef (10421)
Jozsef Creative Commons License 2009.11.04 0 0 10421
Azt nem értem itt miért nem kellett az egész útvonalat megadni és hogy hogy mégis tudta hol keresse a winwordot? Van valami alapértelmezett hely ahol ilyenkor keres?

Gondolom, benne volt PATH környezeti változóban megadott elérési utak között a winword.exe mappája.
Előzmény: wawabagus (10420)
wawabagus Creative Commons License 2009.11.04 0 0 10420

J. the Hand and József,

Köszi a tippeket!!

 

Nem kell hogy WinZip legyen, főleg hogy ha más használná majd a macrót, akkor nem is biztos, hogy lesz neki WinZip-je. Szóval még jobb az eleve beépített, amit ajánlottál.

 

Hadd kérdezzek még valamit, ha nem baj.

Most voltam VBA kurzuson és próbálgattuk ezt a macrót:

 

Sub akármi()

Shell "winword",3

SendKeys String:="Hello"

Wait:=True

End Sub

 

Azt nem értem itt miért nem kellett az egész útvonalat megadni és hogy hogy mégis tudta hol keresse a winwordot? Van valami alapértelmezett hely ahol ilyenkor keres?

 

Köszi a segítséget még egyszer!!

 

 

Jozsef Creative Commons License 2009.11.04 0 0 10419
A WinZIP valamiért kőben van vésve, ugyanis XP, Vista, Win7-be már be van építve a zip kezelése (Tömörített mappa), és Windows Shell-el tudod kezelni.
A következő linken elég sok Excel VBA példát találsz:
http://www.rondebruin.nl/windowsxpzip.htm
Előzmény: wawabagus (10417)
Törölt nick Creative Commons License 2009.11.04 0 0 10418
Szerintem azt kellene megnézni a winzip leírásában, hogy hogyan kell parancssorból használni. Milyen paramétereket, milyen sorrendben kell beadnod neki. Azt kell majd a Shell parancsba integrálnod.
Előzmény: wawabagus (10417)
wawabagus Creative Commons License 2009.11.04 0 0 10417

Sziasztok!

Újabb kérdéssel jelentkezem, mint mindig :-).

 

WinZip-et szeretnék VBA-ban meghívni.

 

Ezt sikerült is Shell-lel.

 

Na most olyanokat, hogy a WinZip program funkcióit meghívni tovább azt hogyan tudnám megtenni?

 

Hol keressem a megoldást?

 

Olyanokra gondolok, hogy ok sikerült automatikusan megnyitni a WinZip-et, de szeretnék archive fájl létrehozni, menteni stb...

 

Hogyan tudok rájönni, hogy VBA-ban mit kell kódként írnom, hogy pl WinZip-ben mentsen?

 

Van valami tippetek?

Előre is nagyon köszönöm!

 

Delila_1 Creative Commons License 2009.11.04 0 0 10416

Semmi.

Megállapítás. :)

Előzmény: Törölt nick (10415)
Törölt nick Creative Commons License 2009.11.04 0 0 10415
És mi a kérdés?
Előzmény: Delila_1 (10414)
Delila_1 Creative Commons License 2009.11.04 0 0 10414

A formátum változtatását az A1-en állva hajtom végre. A 3 függvény (karakter- és háttérszín, magasság) értéke akkor változik a SelectionChange hatására, ha az A1 mellé kattintok, holott Me.Range("A1").Calculate szerepel a Private Sub-ban.

2003-as verzió.

Előzmény: Törölt nick (10412)
Törölt nick Creative Commons License 2009.11.04 0 0 10413
"Bonyolult lélekkel van dolgunk. "

Hát ja.
És az is lehet, hogy ráadásul verziófüggő. Mivel ez a működés egyáltalán nem tűnik logikusnak, elképzelhető, hogy hiányos tervezés eredménye, és pl. xl2007-ben már másképp oldották meg.
Előzmény: Delila_1 (10411)
Törölt nick Creative Commons License 2009.11.04 0 0 10412
Kicsit jobban utánanéztem, és rájöttem, hogy az előbb eltúloztam a dolgot.
A súgó azt írja, hogy a Volatile-ként megjelölt függvények újraszámolódnak, ha a munkalap bármelyik cellájában kalkuláció történik. Vagyis nem az összes képlet, csak az "illékony" képletek számolódnak újra. Az is csak akkor, ha a számolás egyébként automatikusra van állítva.
Sorry, ha behülyítettem valakit.

Ha az elegendő, hogy első kattintásra mutassa a cellaszínt, akkor az alábbi megoldást javaslom:

Állítsd a számolást automatikusra, és

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A1").Calculate
End Sub

(Szerintem abban a kakukktojás munkafüzetedben is valami ilyesmi lehet.)

A Range("A1") megadásával azt állítod be, hogy nem az egész munkalap, hanem csak az A1 cella, és persze definíció szerint a Volatile függvények számolódnak újra.

Másik lehetőség, hogy a számolást manuálisra állítod, és egyenként megadod, hogy mely cellák számolódjanak újra:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A1, C2, F14").Calculate
End Sub

Ezzel a módszerrel úgy tapasztaltam, hogy a Volatile függvények sem számolódnak újra, csak a megjelölt 3 cella.
Előzmény: tbando (10410)
Delila_1 Creative Commons License 2009.11.04 0 0 10411

A magasságot megadó akkor is frissül, ha a hivatkozott cella sorazonosítójának alsó vonalára kattintok, ha szerepel benne a Volatile, ha nem. Az automatikus számolás be van kapcsolva. Ennek kikapcsolásakor a színre vonatkozó függvény értéke F9-re módosul, a magasságéra vonatkozó NEM.

Bonyolult lélekkel van dolgunk. 

Előzmény: Törölt nick (10408)
tbando Creative Commons License 2009.11.04 0 0 10410
Hogy bonyolítsam a dolgot, az én szin függvényem a volatile ellenére is, csak az F9-re reagál a szinváltozásra. Még akkor is, ha be van kapcsolva az Automatikus újraszámolás. De nem mindegyik füzetben van így. Van amelyikben a szinváltozásra ugyan még nem, de az azt követő első klikkre már az új színértéket mutatja. Akkor is, ha kikapcsolom az Automatikus újraszámolást. Ráadásul úgy néz ki, hogy ebben a füzetben nem is lehet kikapcsolni valamiért a automatikusan újraszámol funkciót, mert többi képletváltozást is azonnal nyomonköveti. Dehogy miért, a fene se érti.
Előzmény: Törölt nick (10408)
Törölt nick Creative Commons License 2009.11.03 0 0 10409
Lásd #10017
Előzmény: tbando (10406)
Törölt nick Creative Commons License 2009.11.03 0 0 10408
A képletek elvileg és általában akkor számolódnak újra, ha a bemeneti tartományuk tartalmában változás történik. Ehhez képest a Volatile azt teszi, hogy a képletek újraszámolódnak, ha a munkalapon bármelyik cella megváltozik, akár van köze a képlethez, akár nincs. Tehát gyakorlatilag minden művelet után átszámolja az Excel az egész munkalapot. Ha sok a képlet, akkor ez nagy szívás.

Namost, én azt gondoltam, biztos azért van benne tbando függvényében a volatile, mert az arra is érzékennyé teszi az átszámolást, ha a cella formátuma változik. Csak lusta voltam letesztelni. De ezek szerint a formátum változása nem indítja be az újraszámolást. Akkor nem igazán tudom, mi lehet a megoldás, mert nem ismerek olyan eseményt, ami formátumváltozásra indul be. Hacsak nem az OnTime metódus, de az nagyon megbízhatatlan.
Előzmény: Delila_1 (10404)
Delila_1 Creative Commons License 2009.11.03 0 0 10407
Szívesen.
Előzmény: tbando (10405)
tbando Creative Commons License 2009.11.03 0 0 10406
Tulajdonképpen mi a funkciója a Volatile-nek ebben a makróban? No meg általában? A figyelmeztetést meg köszönöm.
Előzmény: Törölt nick (10403)
tbando Creative Commons License 2009.11.03 0 0 10405
Nagyon kösz.
Előzmény: Delila_1 (10402)
Delila_1 Creative Commons License 2009.11.03 0 0 10404
A hivatkozott cella tulajdonságait – magasság, színek – változtatva csak F9-cel módosulnak a függvényeket tartalmazó cellák értékei. Vajh' miért?
Előzmény: Törölt nick (10403)
Törölt nick Creative Commons License 2009.11.03 0 0 10403
Ezzel az "illékony" applikációval óvatosan kell bánni, főleg a sok képlet van a munkalapon. Még a végén belefutsz abba, hogy az Excel minden lélegzetvételedkor újraszámolja az összes képletet.
Előzmény: tbando (10401)
Delila_1 Creative Commons License 2009.11.02 0 0 10402

Function magasság(cella)
    Application.Volatile
    magasság = cella.Height
End Function

 

A háttérszín lekérdezéséhez a Font helyett Interior-t írj.

Előzmény: tbando (10401)
tbando Creative Commons License 2009.11.02 0 0 10401
Saját CELLA függvénnyel szeretném a cellamintázat színének, és a cellamagasság értékeit lekérdezni, mivel az Excel ezeket nem adja meg. Ebben szeretném, ha segítenétek. Korábban a font színek lekérdezésében József segített, aminek felhasználásával az alábbi függvénymakrót kreáltam. Gondolom egy-két terminus kicserélése elég lesz az uj függvények elkészítéséhez.

Function szin(cella)
Application.Volatile
szin = cella.Font.ColorIndex
End Function
wawabagus Creative Commons License 2009.11.02 0 0 10400

Aha értem mire gondolsz.

Nekem is feltűnt, hogy néha nem frissül a függvény.

Hmmm.

 

Igen ezt használták a többiek is mikor tippeket adtak.

 

Átírom így.

Köszi a segítséget!!!

 

Előzmény: Törölt nick (10399)
Törölt nick Creative Commons License 2009.11.02 0 0 10399
Azért van ezzel egy kis gond. Most próbálgattam, és a következőt tapasztaltam.

Van az a képlet, ami meghatározza a munkafüzet mappáját ("Hely").
Ha megnyitok egy munkafüzetet valahol a winchester túlsó végéről, vagy hálózatról, stb, akkor a képlet értéke megváltozik, és a most megnyitott munkafüzet helyét fogja mutatni, egészen addig, míg újra nem számolódik.
Ez bizonytalan makróműködést eredményez. Szerintem inkább a ThisWorkbook.Path tulajdonságot kellene használnod, legalább a makróban.

Azt hiszem, korábban is kaptál már erre vonatkozó javaslatot.
Előzmény: wawabagus (10398)
wawabagus Creative Commons License 2009.11.02 0 0 10398

Hát ez tényleg működik :-DDDD...

Nem tudom hogy sikerült nemműködövé tenni...

Köszi a tesztet :-DDD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Előzmény: Törölt nick (10396)
wawabagus Creative Commons License 2009.11.02 0 0 10397

Hello

:-D...nemááá

Akkor még egyszer kipróbálom és is :-D

Előzmény: Törölt nick (10396)
Törölt nick Creative Commons License 2009.11.02 0 0 10396
Kipróbáltam, és nekem működik a makród. (Némi módosítással, mert máshová mentettem, meg más munkalap-nevekkel, stb. de lényegi változás nélkül.)
Előzmény: wawabagus (10395)
wawabagus Creative Commons License 2009.11.02 0 0 10395

Sziasztok!

Még mindig én a fájl mentés körüli VBA kérdéssel :-(.

 

Tehát van egy template(modek) fájlom abból dolgozom.

 

A template egyik cellája az idő, másik cellája a munka foldert számolja ki függvénnyel.

 

B1 cellában a "Hely" van  =LEFT(CELL("filename"),(FIND("[",CELL("filename"))-1))

B2 cellában az "Ido" van =TEXT(TODAY(),"ddmmyy")

 

És minden nagyon klasszul működik Névre hivatkozva mindaddig míg én a temlate fájlt mentem...tehát szuperul beírja a fájl nevébe a dátumot pl.

 

Viszont én új ürese fájlokat hozok létre és olyan, mintha ott ezeke a "nevek" már nem lennének benne a memóriában.

 

Leírom mit alkottam. Ha így csinálom működik (a helyet még nem komponáltam bele, de az mindegy is most).

 

Sub Ujnev()

Dim Hely, Ido
Hely = Worksheets("Sheet1").Range("Hely").Value
Ido = Worksheets("sheet1").Range("Ido").Value

Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:="C:/teszt_" & Ido & ".xls"

End Sub

 

 

VISZONT, ha új munkafüzetet teszek be és úgy használom a Hely és Ido-t akkor már nem működik. Miért van ez? És mit lehet tenni ellene?

Miért nem tudja megjegyezni?

 

Így már nem emlékszik ai Időre:

 

Sub Ujnev()

Dim Hely, Ido
Hely = Worksheets("Sheet1").Range("Hely").Value
Ido = Worksheets("sheet1").Range("Ido").Value

Application.DisplayAlerts = False

Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:/teszt_" & Ido & ".xls"

End Sub

 

Előre is köszi a segítséget!!!!

 

Törölt nick Creative Commons License 2009.10.29 0 0 10394
Az rendben, hogy itt mindenki szívesen segít, de azért házi feladat jellegű problémára nem adnék pontos megoldást - csak körbeírnám.
Előzmény: Abaddon20 (10392)
Delila_1 Creative Commons License 2009.10.29 0 0 10393

Nullák eltüntetése

=ha(c3=0;"";c3)

 

Hány ingyenes parkolás

=darabteli(C2:C11;"")

A kritérium azért "" , mert a nullákat már átalakítottad üres stringgé, egyébként 0 lenne.

 

Fizetős

=darabteli(C2:C11;1)

Előzmény: Abaddon20 (10392)
Abaddon20 Creative Commons License 2009.10.29 0 0 10392
Üdv mindenkinek.
Az lenne a problémám, hogy van egy excel táblázat, amiben parkolási adatok vannak.
Van egy tartomány, ahol 0 és 1-esek állnak, ezek jelzik hogy ingyenes-e a parkolás vagy sem.
Ezeket a nullákat kellene törölni, de nem találom azt a függvényt amivel ez megoldató lenne - 3.pont.
És a 4. feladatot se tudtam megoldani.
Valaki tudna segíteni?

A feladat.
Jozsef Creative Commons License 2009.10.28 0 0 10391
10000:)
Előzmény: Delila_1 (10390)
Delila_1 Creative Commons License 2009.10.28 0 0 10390

 

#9999 :)

tbando Creative Commons License 2009.10.28 0 0 10389
Kösz. Remélem sikerülni fog.
Előzmény: Jozsef (10386)
Törölt nick Creative Commons License 2009.10.28 0 0 10388
Vajon Cooper olvtárs gondolta-e volna, amikor megnyitotta ezt a topikot, hogy egyszer eléri a 10000 hozzászólást? (Igaz, még nincs annyi, de már közel a pillanat.) Ebből az alkalomból szeretném méltatni azt a kis csapatot, amely - akár kérdésekkel, akár válaszokkal - aktívan élteti a topikot. Kösz mindenkinek. :-)
Master of beginners Creative Commons License 2009.10.28 0 0 10387
NAGYON KÖSZI! :)
Előzmény: Delila_1 (10287)
Jozsef Creative Commons License 2009.10.28 0 0 10386
Ezt találtam a Google segítségével
1.elindítod regedit.exe-t
2. Megváltozatatod a következő értékeket:
Az Office verziódat ellenőrizd le
pl.
[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelSecurityFileOpenBlock]
"LotusandQuattroFiles"=dword:00000000
"LegacyBinaryFiles"=dword:00000000
"LegacyDatabaseAndDatasourceFiles"=dword:00000000

[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelSecurityFileSaveBlock]
"LotusandQuattroFiles"=dword:00000000
"LegacyBinaryFiles"=dword:00000000
"LegacyDatabaseAndDatasourceFiles"=dword:00000000




http://forums.techguy.org/windows-xp/652848-excel-error-msg-opening-lotus.html
Előzmény: tbando (10385)
tbando Creative Commons License 2009.10.27 0 0 10385
Ez most egy nem igazán excel kérdés lesz, de azért mégis. Talán valaki tudja rá a választ. Az excellel gyakran dolgozom tovább wk1 kiterjesztésű lotus filekból. Illetve dolgoztam a mai napig. Mert ma, amikor be akartam hívni egyet, ezt a hibaüzenetet kaptam:

"A megnyitni kívánt filetípust a rendszerleíró adatbázis egyik házirend-beállítása letiltotta."

Hogy mi válthatta ki a letiltást nem tudom. Talán egy Windows frissítés mellékhatása. Más okát elképzelni sem tudom.

Megpróbáltam kiküszöbölni, de nem sikerült. Átnéztem a házirendi-beállításokat, van vagy 200 belőlük, de képtelen voltam rájönni, hogy melyikük tilthatta le közülük. Van valakinek valamilyen tippje?
wawabagus Creative Commons License 2009.10.26 0 0 10384

:-)!Oh, ez eszembe sem jutott.

Köszi!!!

 

Előzmény: E.Istvan (10382)
wawabagus Creative Commons License 2009.10.26 0 0 10383

szkripnyik és Delila_1!!

 

Köszi szépen  a tippet!!!

Kipróbálom!!

Köszi!!!

Y

E.Istvan Creative Commons License 2009.10.26 0 0 10382

Jó úton jártál, de az ido-t is idézőjelbe kell tenni:

worksheets("Filters").range("ido").select

Előzmény: wawabagus (10368)
tbando Creative Commons License 2009.10.25 0 0 10381
Hopp, ez a szerkesztőléces még jobbnak tűnik
Előzmény: toccata (10377)
Törölt nick Creative Commons License 2009.10.25 0 0 10380
1.
jó a "sorszám" is.
Előzmény: csl (10376)
tbando Creative Commons License 2009.10.25 0 0 10379
Az átmásolás után a képlet sajnos kiegészül egy hivatkozással arra a fájlra, amiből átmásoltam a képletet. Hogyan tudom ezt elkerülni?

Nem tudod elkerülni. A excel eleve így van tervezve. De azért mégis van rá egy mód.
A képletben hivatkozott cellát utánamovelod az új füzetbe. (ctrl x, ctrl v)
Előzmény: csl (10376)
tbando Creative Commons License 2009.10.25 0 0 10378
KICSI, NAGY ha jól emlékszem.
Előzmény: csl (10376)
toccata Creative Commons License 2009.10.25 0 0 10377
1. Így hirtelen nem tudom, de talán ha sorba rendeznéd egy a kérdéses adatokat egy külön lapon vagy munkafüzetben és megszámolva az elemek számát, már könnyebben kinyerhető a második és az utolsó előtti adatok.

2. Kattints a képletet tartalmazó cellára, majd a szerkesztő sorba. Ott jelöld ki a teljes képletet, majd nyomj Enter-t. Ezután menj át a másik munkafüzetre és ott szintén kattints a kívánt cellára, majd a szerkesztó sorban illeszd be az imént kimásolt képletet.
Előzmény: csl (10376)
csl Creative Commons License 2009.10.25 0 0 10376

Két kérdésem lenne.

1. Milyen függvény eredményezi egy oszlop második legnagyobb értékét, illetve második legkisebb értkét (az utolsó előtti és a második értéket nagyság szerint sorrendbe helyezve).

2. Képletet másolok át az egyik fájlból a másikba, ami az adott fájlban lévő munkalapra hivatkozik. Az átmásolás után a képlet sajnos kiegészül egy hivatkozással arra a fájlra, amiből átmásoltam a képletet. Hogyan tudom ezt elkerülni?  (Csak a képletet másolja át, a fájlra történő hivatkozás nélkül).

Köszönöm a segítséget.

Delila_1 Creative Commons License 2009.10.25 0 0 10375

Egy oszlopnyi képlettel is meg lehet oldani:

 

=HA(ÜRES(A1);DARABTELI(A$1:A1;"")&"a";A1)

Előzmény: NeomatiK (10372)
Delila_1 Creative Commons License 2009.10.24 0 0 10374

Ha az előző képletet bevitted a B oszlopba, a C-be ez jön:

=HA(JOBB(B1;1)="a";B1;A1)

 

Ezt aztán másolod, és irányítottan, értékként ráilleszted az A oszlopra.

Előzmény: NeomatiK (10372)
Delila_1 Creative Commons License 2009.10.24 0 0 10373

=HA(ÜRES(A1);DARABTELI(A$1:A1;"")&"a";"")

 

Ezt másold végig.

Előzmény: NeomatiK (10372)
NeomatiK Creative Commons License 2009.10.24 0 0 10372

Sziasztok!

 

Nemrég tárgyaltuk a szűrést. Tehát van sok oszlop tele számokkal és üres cellákkal.

Egy-egy oszlopot szűrtem üresre, így az üres cellák szerint lett sorbarendezve, magyarul az első üres cellát követi a második üres cella. Természetesen a szűrés előtt a két üres cella között voltak a számok. Csak azért ragozom ilyen részletesen, hogy teljesen érthető legyen :D

 

Szeretném ha ezek az üres cellák sorszámot kapnának, de elkülönüljenek az egyébként köztük lévő számoktól. Tehát valahogy így lennének átnevezve az üres cellák:

 

1a

2a

3a

4a

5a

6a

...

 

Eddig nem jutottam dűlőre.

Cellaformázással átalakítottam #a -ra és az első cellába 1-et írva próbáltam húzással, hogy növekvővé írja tovább, de nem jött össze.

 

Aztán próbáltam egy külön oszlopból bemásolni az 1a, 2a, 3a ...-t , így se jött össze, mert nem a szürt azaz üres cellákba másolta, hanem az eredetibe, tehát a 2a, 3a, 4a stb felülírta az eredetileg az oszlopban első üres cellát követő számokat.

Eddig egyedül manuálisan sikerült a szűrést követően, de ez baromi sokáig tartana és előfordulhat, hogy hibázok begépeléskor.

 

Van erre megoldás?

Lehet az 1a, 2a ... az a helyett más is, csak jó lenne ha valahogy meg lehetne különböztetni őket az oszlopban lévő számoktól, miután a szürést megszüntettem.

Delila_1 Creative Commons License 2009.10.23 0 0 10371
A makró neve auto_close legyen, akkor a fájl bezárásakor automatikusan indul, és a jó helyre menti.
Előzmény: wawabagus (10368)
Delila_1 Creative Commons License 2009.10.23 0 0 10370

Sub ment()
    Dim utvonal, nev
   
    'A felülírásra vonatkozó kérdés letiltása
    Application.DisplayAlerts = False
   
    utvonal = ActiveWorkbook.Path & "\"
    nev = ActiveWorkbook.Name
   
    ActiveWorkbook.SaveAs Filename:=utvonal & nev, FileFormat:=xlNormal
    Application.DisplayAlerts = True
End Sub

.

Ha nem a betöltött fájl eredeti útvonalára, hanem egy, az M16 cellában megadott helyre szeretnéd menteni a fájlt:

utvonal=cells(16,13), és akkor az M16-ban megadott érték végére ki kell tenned a \ jelet  is.

Előzmény: wawabagus (10368)
szkripnyik Creative Commons License 2009.10.22 0 0 10369
DIM ido as string
ido = "M06" '' vagy megfelelő stringkifejezés

'' és akkor utána műr működnie kell a

worksheets("Filters").range(ido).select
selection.Value

utasításrészletnek

(Nem vagyok benne biztos, de szerintem a selection.Value -nek egy értékadás jobb oldalán kéne állnia, így szólóban nem látom értelmét)
Előzmény: wawabagus (10368)
wawabagus Creative Commons License 2009.10.22 0 0 10368

Sziasztok!

 

Segítséget szeretnék kérni tőletek.

 

Macro-ban szereték utalni egy cella tartalmára.

 

A cell tartalma konkrétan a folder neve ahova mentenie kell. Ezt egy CELL fügvénnyel szereztem meg és átalakított, hogy csak az utvonal legyen meg.

 

 A célom ezzel az volt, hogy bárki is nyitja meg a fájl és bárhogy vannak bemap-pelve a meghajtók mindig jó helyre legyen a fájl lementve.

 

Ez idáig megvan

 

worksheets("Filters").range("M16").select

selection.Value

 

arra gondoltam, hogy használhatnék "M16" helyet egy nevet (NAME funkció)

 

Hogyan tudok VBA felületről NAME-re utalni?

 

Tegyük fel az M16-os cellát elneveztem így "ido"

 

Logikusan azt gondolnám, hogy így...de ez nem működik

 

worksheets("Filters").range(ido).select

selection.Value

 

De ez valahogy nem működik...nem lehet ilyet csinálni?

 

Köszi a választ, remélek valaki ki tud igazodni a kérdésemen!!

Köszi!!

 

 

 

NeomatiK Creative Commons License 2009.10.22 0 0 10367
Igazad van, félreértettem :)
Előzmény: tbando (10363)
tbando Creative Commons License 2009.10.21 0 0 10366
=INDEX(B:B;HOL.VAN(MIN(A:A);A:A;0);1)


Előzmény: csl (10365)
csl Creative Commons License 2009.10.21 0 0 10365

Sziasztok,  egy kérdésem lenne. Egy olyan függvényt szertnék készíteni, ami egy táblázatban az egyik oszlop adatai közül kiválasztja a minimális értéket, és a minimális érték sorában lévő másik oszlop értékét adja eredményül.

(Például legyenek testsúlyok az egyik oszlopban, magasságok a másikban, és akkor legyen a minimális testsúlyú ember magassága a függvény eredménye.)

Egyelőre csak azt tudtam megcsinálni, hogyha egy konkrét értékkel egyenlő egy konkrét cella, akkor adja eredményül a mellette levő cella értékét.

tbando Creative Commons License 2009.10.21 0 0 10364
B$1 van és B$2, tetszőlegesen változtatható értékekkel.
Előzmény: tbando (10363)
tbando Creative Commons License 2009.10.21 0 0 10363
ha két azonos szám van, pl >4 és >4 és ezt szeretném pl >3 és >2 -re változtatni.

Nincs két azonos szám. B$1 van és B$2.
Előzmény: NeomatiK (10362)
NeomatiK Creative Commons License 2009.10.21 0 0 10362

Szia!

 

Ezt a részét nem tudtam követni:

 

Ha csak a reláció jellege változik akkor a cseréhez elég a relációjelek cseréje (kivéve ha = ről akarsz valami másra váltani.)

Ha pedig azonos relációról akarsz két másfélére, akkor a B$1 és B$2 hozzáfűzése már megkülönbözteti őket.

 

 

Ha két egyforma reláció van, akkor sem tudnám utána különbözőre cserélni szerintem, mert nincs ami alapján meg lehetne különböztetni, ha két azonos szám van, pl >4 és >4 és ezt szeretném pl >3 és >2 -re változtatni.

A = jel meg tényleg kivitelezhetetlen így a képletben lévő de nem erre a két relációval kapcsolatos többi = jel miatt.

 

Előzmény: tbando (10361)
tbando Creative Commons License 2009.10.19 0 0 10361
Csak akkor okozhat gondot, ha nem egyforma a relációra akarom cserélni.

Úgy néz ki, az is müködik, hogy a kritériumokat a B$1 es a B$2-be teszed.

Ha csak a reláció jellege változik akkor a cseréhez elég a relációjelek cseréje (kivéve ha = ről akarsz valami másra váltani.)

Ha pedig azonos relációról akarsz két másfélére, akkor a B$1 és B$2 hozzáfűzése már megkülönbözteti őket.
Előzmény: NeomatiK (10358)
tbando Creative Commons License 2009.10.19 0 0 10360
A te variánsod, úgy néz ki jól müxik. De kipróbáltam néhány másmilyent is, hát volt amelyiknél kifejezetten elbarmolta a képletet. Szóval csak óvatosan. Nem árt ha van biztonsági táblád. Valamint nem rögtön belevágni az összes cserébe, hanem először megnézni egyen, és ha ott müxik, csak akkor rámenni a teljes táblára.
Előzmény: NeomatiK (10359)
NeomatiK Creative Commons License 2009.10.19 0 0 10359

Kipróbáltam a cserét az első relációnál:

 

>4)*1  így nem sikerült, erre irta, hogy hiányzik egy zárójel. Ki érti ezt hogy nem engedi így kicserélni ???

 

aztán trükközve:

 

>4)*1;(     így meg sikerült.

 

 

Érdekes módon a képletben a második relációnál

 

>4)*2  itt nem reklamált zárójelélhiány miatt. Kicserélte trükközés nélkül.

 

Nem értem az excel ezen mélységeit. Vagy ez egy hiba a szoftverben?

Előzmény: NeomatiK (10358)
NeomatiK Creative Commons License 2009.10.19 0 0 10358

Közben likvidáltam az oszlopok közti elválasztó nemnumerikus karaktert, így maradt ez:

=HA(ÉS(A10>4; A11>4);B10+1;0)

 

 

Jó ötlet ez a csere, köszi szépen. Csak akkor okozhat gondot, ha nem egyforma a relációra akarom cserélni.

.

.

.

Most azt próbálgattam, hogy mit csinál ilyen esetben a táblázatban ha beleírom:

 

=HA(ÉS((A10>4)*1; (A11>4)*2);B10+1;0)

 

Érdekes módon semmi káros hatással nincs az eredményre.

 

Így már fogok tudni cserélni >4)*1 és >4)*2 szerint.

 

Ha esetleg tudtok róla, hogy ez gubancot okozhat, vagy nálatok gubancot okoz, akkor szóljatok légyszi. Mert akkor nem írom így meg az egész táblázatot, amire holnap fog sor kerülni valószínűleg.

 

Előzmény: tbando (10356)
NeomatiK Creative Commons License 2009.10.19 0 0 10357

Nehéz elhinnem, hogy nem lehet egy külső relációt bevonni a képletbe :((

Így elég lenne egy tök rövid függvény. És nem kéne átírni az összes párszáz számolós oszlopot, ha kiderülne hogy egy új reláció szerint is meg kéne számolni azon cellákat darabra, amikben az egyik cella =2 és az őt követő >7 vagy hasonló.

 

Néztem a pivotot, de ennyi idő alatt abban nem láttam olyat, hogy azokat a cellákat számolja össze az oszlopban darab szerint, amikor két egymást követő cellára vonatkozóan lehet számolni, amik megfelelnek bizonyos feltételeknek, pl >4 és >6 stb.

 

tbando Creative Commons License 2009.10.19 0 0 10356
Mutatok egy trükköt, hátha hasznát veszed. Induljunk ki a képletedből:

=HA(ÉS(A10>4; A11>4; SZÁM(A10);SZÁM(A11));B10+1;0)

Amit mondjuk meg akarsz változtatni erre:

=HA(ÉS(A10<=6; A11<=6; SZÁM(A10);SZÁM(A11));B10+1;0)

ekkor: Szerkesztes/Kereses >4 Csere <=6 Összes csere.


Előzmény: NeomatiK (10351)
Delila_1 Creative Commons License 2009.10.19 0 0 10355

Szerintem is a kimutatással a legegyszerűbb.

 

Neomatik, nézz utána, nagyon hasznos funkció, és egyszerűen el lehet sajátítani az alapvető kimutatás kezelését.

Előzmény: Törölt nick (10352)
tbando Creative Commons License 2009.10.19 0 0 10354
Nagyon úgy tűnik, mégis csak a makro lesz a megoldás. Amivel bemásolod a megfelelő képletet az aktuális B-oszlopba. Én nagyon nem értek hozzá, de tán még én is meg tudnám csinálni. Akkor pedig te is.
Előzmény: NeomatiK (10351)
NeomatiK Creative Commons License 2009.10.19 0 0 10353

Néztem, de azt úgy értelmeztem, hogy az üres cellák kiszűrésére írtad, meg egyébként sem ismerem a pivot táblát, bár nézegettem a netes leírásokat róla. Én meg utána írtam, hogy a szűrés parancssal csináltam, majd kopiztam az oszlopot.

 

Eddig tbandó függvényét sikerült a VÁLASZT függvénnyel kombinálni, azzal működik. 

Megpróbálom ezt  a relációs IGAZ/HAMIS dolgot, hátha egyszerűbb lesz.

Előzmény: Törölt nick (10352)
Törölt nick Creative Commons License 2009.10.19 0 0 10352
nézted a 9914-et?
A relációkat egyébként be tudod tenni egy külön cellába és IGAZ/HAMIS értéket ugyanúgy visszaadja, amint a HA()fgv "feltétel" argumentumába is kell.
pl.: =A10>4
Ha nem erre gondoltál v. ismerted akkor bocs.
Előzmény: NeomatiK (10351)
NeomatiK Creative Commons License 2009.10.19 0 0 10351

Megegyezik, mindkettő "általános.

 

 

Próbáltam az OFSZET függvénnyel is. A táblán kívül csináltam volna annyi oszlopot, amennyi feltétel szerint kéne vizsgálni. Tehát itt pl az EEE oszlopban lett volna a korábbi függvény ami a B-ben volt:

=HA(ÉS(A10>4; A11>4; SZÁM(A10);SZÁM(A11));B10+1;0)

ami módosult:

=HA(ÉS(EED10>4; EED11>4; SZÁM(EED10);SZÁM(EED11));EEE10+1;0)

 

 

ilyenkor az előtte lévő EED oszlop természetesen üres.

Az eredeti helyén a B oszlopban akartam OFSZET-tel az EEE-ből idehozni a függvényt. De ahogy tapasztalom, csak értéket hajlandó vinni, tehát a 0-k kerülnek B-be. És nem pedig maga a függvény sajnos. Pedig milyen jó lett volna.

Szóval ez így nem működik.

 

 

Nincs valami összefűző függvény, aminek folytán bele tudnám tenni a feltételeket tartalmazó (A1 cellában: >4, B1 cellában: >4) cellából a >4-et a

 

=HA(ÉS(A10>4; A11>4; SZÁM(A10);SZÁM(A11));B10+1;0)

 

képletbe az aláhúzott helyre és az egészet függvényként értékelje az excel?

Előzmény: Delila_1 (10339)
Delila_1 Creative Commons License 2009.10.18 0 0 10350
A cellaformázásnál az Egyéni kategóriában a Formátumkódhoz írd be, amit József javasolt a 9953-ban.
Előzmény: BONNIE (10346)
tbando Creative Commons License 2009.10.18 0 0 10349
Hát például úgy, hogy kiegészíted a Alaptáblázatodat még 2 oszloppal.

Az elsőben, mondjuk a C11-gyen kezdve, összefüzöd a nevet a fizetéspoblémával.
A másodikba pedig beírod ezt a képletet: Darabteli(C$11:C11;C11). majd végighúzod.

Ezután a kimutatás beéllítása:

Sor: Fizetésprobléma
Név
Oszlop: Darabteli

Osszegző mező: bármelyik oszlopod darabszámra beállítva

Az így kapott kimutatásod első eredményoszlopának összegzései választ adnak a kérdésedre. A további oszlopok meg mutatják, hogy hányan vétkeztek 2x, 3x stb.

E forma egyet nem tud még: Ha valamelyik fószer mindkét módon sumákolt, azt nem jelzi, hanem úgy kell kibogarászni belőle. Vagy egy további kumutatással kimutatni.
Előzmény: mafikám (10348)
mafikám Creative Commons License 2009.10.18 0 0 10348
Sziasztok! Ezzel kapcsolatban senki sem tud segíteni?:( Nem tudom, hogy azért, mert ti sem tudjátok a megoldást vagy nem írtam le elég érthetően a problémát?

Azt szeretném megkapni, hogy egy-egy probléma hány beszállítónál merül fel, de ehelyett mindig a tételeket összegzi, nem a beszállítókat.

comment Vendor Total
blocked item 110855 1
302433 2
324530 1
423333 2
718200 1
745026 1
751249 2
751285 1
751456 1
blocked item Total 12
manual payment method 718193 1
718196 5
manual payment method Total 6


Tehát a kérdés, hogy hogyan lehet azt elérni, hogy a blocked item total-ra 12 helyett 9-et, a manual payment method-ra pedig 6 helyett 2-t írjon ki?

Jelenlegi beállítások:

ROW:
comment
vendor

COLOUMN:
count of comment

Úgy is próbáltam már, hogy a COULUMN-ba count of vendor-t teszek, de ugyanaz jött ki!:((

Tudja valaki a megoldást?
Előzmény: mafikám (10322)
tbando Creative Commons License 2009.10.17 0 0 10347
Így igaz.

És kösz a kiegészítést. Így én is megtudtam, hogy van ez VALASZT.
Előzmény: Törölt nick (10345)
BONNIE Creative Commons License 2009.10.17 0 0 10346
Bár én csak olyat találtam, ahol a mm és a 0 között kettőspont van, de a percet hogyan teszem be a karámba []?
Bocsánat, most kicsit elszőkült az agyam ;)
Előzmény: Jozsef (10344)
Törölt nick Creative Commons License 2009.10.17 0 0 10345
az egymásba ágyazott HA()fgv-ek helyett szerényen javasolnám inkább a VÁLSZT() fgv-t.
Jóval rövidebb lesz és áttekinthetőbb alighanem
Előzmény: tbando (10342)
Jozsef Creative Commons License 2009.10.17 0 0 10344
[pp]:mm,00
Előzmény: BONNIE (10343)
BONNIE Creative Commons License 2009.10.17 0 0 10343
Sziasztok!
Érdekes problémával kerültem ma szembe. Evezősversenyt "adinisztráltunk" excel-ben, és nem találtunk olyan számformátumot, amibe be tudtunk volna pl ilyen időket vinni, mint 61 perc 25 másodperc, 3tizedmásodperc.

(Ez egy hosszútávú verseny, ami azt jeleni, hogy percenként indulnak a versenyzők, eveznek 6km-t, majd célbaérnek. A módszer a következő volt: Amikor egy kategóriából elindult az első, akkor indult a stopper. Egy perc múlva indult a következő versenyző. Mikor célba ér egy versenyző, akkor feljegyezzük a rajtszámát, és azt, hogy a kategóriájában elsőként indult versenyző indulási ideje óta mennyi idő telt el (teljes idő), majd kivonjuk az ő indulási ideje és a kategória első indulója közötti különbséget (korrekció), így megkapjuk az adott versenyző tiszta idejét. Mivel a táv leevezése 20+ percet vesz igénybe, valamit előfordult egy kategóriában 50+versenyző, ezért nem megfelelő az a számformátum, ami 59 percig működik.)

Melyik számformátum lett volna jó nekünk?
tbando Creative Commons License 2009.10.17 0 0 10342
A szentségit, a szoft nem fogadta el a hosszú képletet. Megpróbálom felszabdalva, majd fűzd össze.

Képlet egyben, hátha most átmegy:
=HA(B$1=1;HA(ÉS(A10<B$2;A11<B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=2;HA
(ÉS(A10<=B$2;A11<=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=3;HA(ÉS(A10=B$2;A11=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=4;HA(ÉS(A10>=B$2;A11>=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=5;HA(ÉS(A10>B$2;A11>B$2;SZÁM(A10);SZÁM(A11));B10+1;0))))))

Felszabdalva:
=HA(B$1=1;HA(ÉS(A10<B$2;A11<B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=2;HA
(ÉS(A10<=B$2;A11<=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=3;HA(ÉS(A10=B$2;
A11=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=4;HA(ÉS(A10>=B$2;A11>=B$2;SZÁ
M(A10);SZÁM(A11));B10+1;0);HA(B$1=5;HA(ÉS(A10>B$2;A11>B$2;SZÁM(A10);SZÁM(A1
1));B10+1;0))))))
Előzmény: tbando (10341)
tbando Creative Commons License 2009.10.17 0 0 10341
Egy 5 feltételes képlettel megoldható. A B1-gyel vezérled, hogy az A11 melyik relációját vizsgálja a B2-vel. Persze kurva hosszú képlet lesz, de csináltam ennél hosszabbakat is, és többszáz soros táblázatokkal is elég jól elboldogult. Majd számolj be róla, hogy ez mennyit bírt.

=HA(B$1=1;HA(ÉS(A10<B$2;A11<B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=2;HA(ÉS(A10<=B$2;A11<=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=3;HA(ÉS(A10=B$2;A11=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=4;HA(ÉS(A10>=B$2;A11>=B$2;SZÁM(A10);SZÁM(A11));B10+1;0);HA(B$1=5;HA(ÉS(A10>B$2;A11>B$2;SZÁM(A10);SZÁM(A11));B10+1;0))))))

Kisebb helyet foglalna el egy olyan makrós megoldás, amelyik B1-től függően, a megfelelő feltétellel másolja be a képletet.


Előzmény: NeomatiK (10338)
Törölt nick Creative Commons License 2009.10.17 0 0 10340
az autoszűrőt biztosan ismered, abban van ilyen, hogy "üres" tényleg nem jó a példára, azt gondoltam hogy egy oszlop üres sorati ki lehet így egyszerre törölni, de csak sort engedne kitörölnim az nem jó ide.
De akkor is egyszerűbb a következő, mint sorbarendezgetni:

Tartományt kijelölni az oszlopban (üres cellákkal együtt)
ctrl+g - irányított
Üres cellák jelölőbe pont.
OK
Jobb gomb egyik kijelölt cellán - törlés - cellák eltolása felfelé.
kész.
Előzmény: tbando (10334)
Delila_1 Creative Commons License 2009.10.17 0 0 10339
Nézd meg, megegyezik-e az A1 és B1 cellák formátuma az A és B oszlop többi cellájának formátumával.
Előzmény: NeomatiK (10338)
NeomatiK Creative Commons License 2009.10.17 0 0 10338

Maradva a kérdésemnél:

 

A 9909.hsz és megoldása

B11-be: =HA(ÉS(A10>4; A11>4; SZÁM(A10);SZÁM(A11));B10+1;0)

 

Kivenném a képletből a 2 feltételt (>4 és >4),  két külön cellába írnám és oda hivatkoznék rá.


Van arra valami megoldás, hogy relációval együtt írhassam a táblázat tetején, mert akkor ránézésre is látszik, hogy mi alapján vizsgálva, meg így nem kéne átírni a képletben mindig a >, <, = esetén.

 

pl A1, B1-be beírtam:

 

>4

>4

 

és

 

=HA(ÉS(A10=$A$1; A11=$B$1; SZÁM(A10);SZÁM(A11));B10+1;0)

 

de így nem fogadja el, 0-val tölti fel a B oszlopot.

 

Külön oszlopokat nem szeretnék emiatt beszúrni, ahol az egyikben a nagyobb+nagyobb, másikban a nagyobb+kisebb, haradikban kisebb+nagyobb, majd nagyobb+egyenlő stb relációk szerint lennének a képletek, mert kb 2000 oszlopra duzzadna a mostani 100valahányról.

 

Előzmény: tbando (10303)
NeomatiK Creative Commons License 2009.10.17 0 0 10337

Az excel saját szűrő parancsával csináltam meg, úgy egyszerűbb.

 

 

oszlopban cellatartomány kijelöl,  

 

Adatok > Szűrő > Autószűrő > NemÜres

 

vagy 2007-es excelben:

 

Adatok > Szűrő > felsorolásból "üres" elől kivenni a pipát

Előzmény: tbando (10334)
NeomatiK Creative Commons License 2009.10.17 0 0 10336
Köszi, így már jó.
Előzmény: Delila_1 (10331)
tbando Creative Commons License 2009.10.17 0 0 10335
Hopp, ez még jobb, mint a szöveg.e.
Előzmény: Delila_1 (10331)
tbando Creative Commons License 2009.10.17 0 0 10334
Hogyan kell kiválasztani az üres szűrést? Nem ismerem.

Bár az a gyanúm, hogy jelenlegi példában nem segítene, mert képlet akkor is látja a felette levő sort, ha az ki van szűrve.
Előzmény: Törölt nick (10332)
tbando Creative Commons License 2009.10.17 0 0 10333
ezt a nemnumerikus karaktert számnak érzékeli.

A szentségit. Tényleg számnak érzékeli. És nem is akármilyennek, hanem baromi nagynak. Gondolom amekkorát az excel még számértéknek elfogad. Ha viszont bekapcsolod a másodlagos képletkiértékelési módot a Beállitásokban, akkor meg nullának látja. Emiatt az elsődleges excel képletkiétékelésnel X+1=HIBA, a másodlagosnál (Lotusosnál) meg X+1=1. Máskor meg hibaüzenet ad, hogy az adatsorban nem numerikus adatok is vannak, ezért nem tudja kiszámolni a müveletet.

Na de rátérve a te problémádra, ha előfordulhatnak stringek az adatoszopodban, akkor nincs mese, be kell iktatni a képletbe egy SzÖVEG.E függvényt:

=HA(SZÖVEG.E(A11)=IGAZ;0;HA(ÉS(A11>1;A10>1);1;0))
Előzmény: NeomatiK (10330)
Törölt nick Creative Commons License 2009.10.16 0 0 10332
ennyiből rátesz egy autoszűrőt és abban kiválasztja az "üres" szűrést.
Előzmény: tbando (10326)
Delila_1 Creative Commons License 2009.10.16 0 0 10331

Az ÉS feltételt toldd meg a SZÁM(A11)-gyel.

 

Előzmény: NeomatiK (10330)
NeomatiK Creative Commons License 2009.10.16 0 0 10330

A te megoldásodnál maradtam.

Viszont az oszlopba beszúrtam egy nemnumerikus karaktert, ami jelzi az eredeti helyén az oszlop végét. Ezután a karakter után következik a többi szám és így tovább...

 

Namármost amit a B11-be kell írni (és lehúzom az oszlop legalájáig) ezt a nemnumerikus karaktert számnak érzékeli.

Írok egy példát, így érthetőbb:

a feltétel hogy mindkét cella nagyobb legyen 1-nél:

 

B11-be: =HA(ÉS(A10>1; A11>1);B10+1;0) alapján ez lesz belőle:

 

A  B  C

 

1  0

1  0

2  0

X  1  1

1  0

1  0

1  0

1  0

 

Közben az X mellett 0-nak kéne lenni, mert az X nem nagyobb 1-nél, de az excel mégis annak veszi.

 

A  B  C

 

1  0

1  0

2  0

X  0

1  0

1  0

1  0

1  0

 

 

Előzmény: tbando (10303)
Törölt nick Creative Commons License 2009.10.16 0 0 10329
Egyetértek!
Előzmény: Törölt nick (10328)
Törölt nick Creative Commons License 2009.10.16 0 0 10328
Minden topiktársnak!

Én nem mennék rá erre a linkre... Egy 4 hsz-ú valaki, aki mindegyik topikba ugyanezt a linket teszi be (illetve tenné, ha nem lenne olyan béna, hogy 4-ből 2-szer nem sikerül neki) az gyanús. A link maga is gyanús.
Előzmény: kristoph11 (10327)
tbando Creative Commons License 2009.10.15 0 0 10326
Az üres cellák kiszűrésére igen egyszerü módszer, hogy leindexszelsz egy oszlopot, majd sorba rendezed a tábázatod az üres cellákat tartalmazó oszlopra. Így az üres cellát tartalmazó sorok a tábálzat aljára kerülnek, föléjük beiktatsz egy üres sort, hogy elváljon az értékes adatokat tartalmazó táblázatodtól, majd újra sorba rendezed a táblázatod, de most az indexek alapján. Így visszakapod az eredeti sorrendet az üres cellát tartalmazó sorok nélkül.

Ha bármikor vissza akarod állítani az eredeti táblázatot, akkor a táblázatból kizárt üres cellás sorokat is belefoglalva csinálsz egy újabb sorbarendezést az indexekre.

A fentiekhez egy jó tanács: A sorbarendezések elött csinálj egy biztonsági másolatot a tábládról. Mert előfordulhat hogy egy rejtett üres oszlop miatt csak a táblázat egyik felét rendezed, az pedig biztonsági másolat nélkül igen nagy szívás. Hogy ezt elkerüld érdemes leellenőrizned, hogy az utolsó sorbarendezhető oszlopod megegyezik-e a táblázatod utolsó oszlopával. Vagy a kijelölést CTRL+T-vel végzed majd CTRL + . -tal körbeugrálod a kijelölt táblázatod sarkait.
Előzmény: NeomatiK (10324)
Törölt nick Creative Commons License 2009.10.15 0 0 10325
szia,
az üresek kiszűrésére ott van az irányított szűrő.
(adatok/szűrő/irányított szűrő - más helyre másolja - csak az egyedi rekordok megj. bejelölve
Előzmény: NeomatiK (10324)
NeomatiK Creative Commons License 2009.10.15 0 0 10324

tbandó és robbantómester köszi. Még el kell mélyednem benne, a pivottáblát nem ismerem. 
Nekem is a jobb áttekinthetőség végett az üreseket kiszűrném egy új oszlopba. Mondjuk el fog tartani egy darabig, mert át kell másolnom egy másik munkalapra 80-90 oszlopot. Nincs erre egy egyszerűbb megoldás? Azt hittem hogy az irányított beillesztésnél az üresek átugrása pont erre lenne jó, de ugyanúgy az üresekkel együtt illeszti be.

 

 

Előzmény: tbando (10303)
syrius Creative Commons License 2009.10.15 0 0 10323

KÖszi, körülnézek 2007 ügyben. (Ahhoz ugye nem KELL Vista?)

Sajnálom, hogy a QBASIC-os formázási lehetőség kimaradt a függvény végéről. Persze lehet, hogy végre el kellene kezdenem makrot írni.

Előzmény: Törölt nick (10297)
mafikám Creative Commons License 2009.10.15 0 0 10322
Sziasztok!

Pivot táblával kapcsolatban lenne kérdésem. Meg próbálom értelmesen leírni a problémát, remélem sikerül. Vannak (1) beszállókat azonosító kódok, illetve nekik nyitott tételeik, amelyekkel (2) különböző probléma van (pl. be van blokkolva a tétel, manuális kifizetésre vár, stb.). Azt szeretném megkapni, hogy egy-egy probléma hány beszállítónál merül fel, de ehelyett mindig a tételeket összegzi, nem a beszállítókat.

comment Vendor Total
blocked item 110855 1
302433 2
324530 1
423333 2
718200 1
745026 1
751249 2
751285 1
751456 1
blocked item Total 12
manual payment method 718193 1
718196 5
manual payment method Total 6


Tehát a kérdés, hogy hogyan lehet azt elérni, hogy a blocked item total-ra 12 helyett 9-et, a manual payment method-ra pedig 6 helyett 2-t írjon ki?

Jelenlegi beállítások:

ROW:
comment
vendor

COLOUMN:
count of comment

Úgy is próbáltam már, hogy a COULUMN-ba count of vendor-t teszek, de ugyanaz jött ki!:((

Tudja valaki a megoldást?

csl Creative Commons License 2009.10.15 0 0 10321
Köszönöm szépen, egyszerű, de magamtól nem tudom, mikor jöttem volna rá.
Előzmény: Jozsef (10320)
Jozsef Creative Commons License 2009.10.15 0 0 10320
Adatok/Szövegből oszlopok menüpont
Előzmény: csl (10319)
csl Creative Commons License 2009.10.15 0 0 10319
Excel Comma Separated Value File-okat kaptam. Az A oszlopban egy cellában vesszővel elválasztva van a két érték. Hogyan lehet ezeket úgy megnyitni vagy átalakítani, hogy két cellában legyenek az értékek? Remélem, tudtok segíteni, köszönöm.

tbando Creative Commons License 2009.10.15 0 0 10318
akkor egyesből a 3 lesz az eredmény, és nem a 6.

Az eredmény azért 3, mert az 1-es tipusúnál a számoknak növekvő sorrendben kell lenniük. Tehát az a szisztémája, hogy a sornak az első 1-nél nagyobb szám elötti elemére mutat. Ami nem feltétlenül 1-es, sőt, mondhatni az 1 csak határesete. Mivel ennek a keresésnek a célja, hogy az 1-t alulról legjobban megközelítő számra mutasson.

Feltehetőleg így van ez az FKERESnél is.
Előzmény: Törölt nick (10317)
Törölt nick Creative Commons License 2009.10.14 0 0 10317
na gyors ki is próbáltam, nem 100%-ig igaz, hogy az utolsót adja vissza. pl ha van egy ilyen számsor:
1
1
1
2
2
1

akkor egyesből a 3 lesz az eredmény, és nem a 6.
Viszont ezt fejben tartom, hasznos lesz.
Előzmény: Törölt nick (10316)
Törölt nick Creative Commons License 2009.10.14 0 0 10316
hát, ezt inkább nem próbálom ki - én biztosan nem tököltem volna vele ennyit :)
Viszont ezt nem tudtam, hogy a HOL.VAN 1-esre paraméterezve az utolsót adja vissza. Sőt, ezt most sem nagyon hiszem el.
Előzmény: tbando (10313)
Törölt nick Creative Commons License 2009.10.14 0 0 10315
pl ha a2 cella sorcímkéje "sor" és b1 cella oszlopcímkéje "oszlop"
akkor így tudsz hivatkozni a b2 cellára:
=sor oszlop
(a szóköz a metszet operátort jelenti)
ebből aztán rögtön tudod, hogy mi az.
Előzmény: Törölt nick (10314)
Törölt nick Creative Commons License 2009.10.14 0 0 10314
>ki lehet kapcsolni a "képletekben címkék is használhatók" dolgot

>Ezzel még nem találkoztam. Mire jó ez? Hol van ennek értelme?

szuper dolog.

Bár nem a te problémádra való, előzetesen ennek nem néztem utána.

Viszont ha hasunálod, akkor el tudod kerülni, hogy cellákat(cellatartományokat) láss el NÉVvel.

A lényege az, hogy ha bekapcsolod a beállításoknál, akkor sor -illetve oszlopcímkéket tudod a képletekben használni, akár a metszetüket is. Azért jó dolog, mert áttekinthetővé teszi a táblázatot, azonnal tudod, hogy mit miből számol a cella, nem kell visszanézned hogy mi az oszlop ill sor címke.


Előzmény: tbando (10313)
tbando Creative Commons License 2009.10.14 0 0 10313
ki lehet kapcsolni a "képletekben címkék is használhatók" dolgot

Ezzel még nem találkoztam. Mire jó ez? Hol van ennek értelme?

Viszont megcsináltam a 2 kiegészítő oszlopos variánst. Ez a változat az üres cellákat úgy tekinti mintha ott se lennének. Úgy néz ki, minden variánsra müködik. Legalábbis remélem.

A10:A100: megszámolandó részsorozatok

B11: =HA(ÜRES(A11)=IGAZ;0;1)
C11: =HA(B11=0;C10;HA(A11<5;0;C10+1))

D11: a=HA(C11<=1;"";HA(B11=0;"";HA(C11>C12;C11-1;HA(ÉS(C12=C11;INDEX(A12:$A$100;HOL.VAN(1;B12:$B$100;0);1)<5);C11-1;""))))

Elég sokat eltököltem vele. De megérte, mert kiismertem a HOLVAN függvény lelkivilágát. Az 123455556 sorozatra a HOl.VAN(5;sorozat;0)=5, míg a HOL.VAN(5;sorozat;1)=8. Azaz a 0 típusú keresésénél az első elemre mutat, az 1-típúsunál az utolsóra. Talán másnak is hasznos lesz.
Előzmény: Törölt nick (10310)
Törölt nick Creative Commons License 2009.10.14 0 0 10312
ez szrtem makrós feladat.
Úgy gondolom ugyanannyi fáradtság megírni másnak erre egy makrót, mint neked összekattintgatni kopipaszte.
+ a makróhoz ismerni kellene a munkalapok szerkezetét
Előzmény: paragabika (10311)
paragabika Creative Commons License 2009.10.14 0 0 10311
Sziasztok!


Ebben nem tudnátok segíteni?

http://forum.index.hu/Article/viewArticle?a=94228754&t=9019621

Előre is köszi
Törölt nick Creative Commons License 2009.10.14 0 0 10310
nem próbáltam ki, de ki lehet kapcsolni a "képletekben címkék is használhatók" dolgot. Az nem segítene ilyenkor?
Előzmény: tbando (10306)
paragabika Creative Commons License 2009.10.14 0 0 10309
Sziasztok!
Van egy olyan problémám, hogy egy 30 munkalapfüllel rendelkező excel állományban azt szeretném megoldani, hogy a különálló lapok egyetlen lapba kerüljenek.
Meg lehet ezt oldani pár kattintással?
Előre is köszi:
Paragabika
tbando Creative Commons License 2009.10.14 0 0 10308
Sajnos nem jó. Mert így meg a második képlethez kell még egy oszlop, ráadásul a második képlet is túl komplikálttá válik.
Előzmény: tbando (10307)
tbando Creative Commons License 2009.10.13 0 0 10307
Nem feledkeztél meg arról a tényről, hogy a számok között üres cellák vannak?

De. Megfeledkeztem róla. Pontosabban 0-nak tekintettem. Ha így nem jó, mert az üres sort úgy kéne tekinteni, mintha ott se lenne, akkor az első képletemet így egészíteném ki:

B11-be: HA(a11=0;b10;HA(es(a10>4; a11>4);b10+1;0))
Előzmény: Törölt nick (10305)
tbando Creative Commons License 2009.10.13 0 0 10306
Gyakran van, hogy van egy Munkafüzetem hatalmas táblázattal tele tartományelnevezésekkel. Ebből kell különféle variációkat létrehozni. Mindegyik variációra csinálok egy másolatfüzetet. Majd ezek végtábláit tartalmazó lapokat akarom összehozni egy közös füzetbe.

Nos ilyenkor rendszerint elfelejtkezem arról, hogy a különböző füzetekben ugyanazok a tartományelnevezések szerepelnek, amit az excel észlel, és ezért lelkiismeretesen mindegyik névre rákérdez, hogy megváltoztatom-e vagy sem. Nekem meg herótóm van attól, hogy egyenként végig kell menni az összes néven, nem lehet egylépésben elrendezni a választ. Ráadásul kiugrani sem lehet a folyamatból, hogy kitöröljem az egyik füzetből az összes nevet. Nos erre kérdeznék rá: van-e szerintetek valamilyen funkció, ami leállítaná a rákérdezéseket. Az ESC nem jó, mert újra felteszi a kérdést.
Törölt nick Creative Commons License 2009.10.13 0 0 10305
Nem feledkeztél meg arról a tényről, hogy a számok között üres cellák vannak?
Előzmény: tbando (10303)
Törölt nick Creative Commons License 2009.10.13 0 0 10304
Tegyük fel, hogy a pédád valós, ahogy szemléltetted.
Feltételezem, hogy az a1-ben oszlopcím vab, így a2-től kezdődnek az 1-esek, továbbá b oszlopban a példád szerinti mintaként ugyanúgy azok megszámolása.
a c oszlopba (C2-be) írj pl egy ilyet: =SOR(A2) és húzd végig. (Ez csak sorszámozáshoz kell)

A következő lépésben készíts egy pivottáblát (adatok/Kimutatás v kimutatás diagramm) és foglald bele az a-b-c oszlopokat.
Itt a sormezőbe húzd bele a c, majd ezt követve szintén a sormezőbe a b oszlopot.

Ezzel eltűntek az üres sorok és megmaradt a b oszlopban lévő számok sorrendje. (Az "Összesen" sorokat távolítsd el a kimutatásból)

Innen től egy Ha() fgv-el már gyerekjáték meghatározni a célt.

pl a kimutatástábla "F8" cellájában keződnek a megszámolt egyesek, akkor pl.:
D8-tól lehúzni: =HA(F8>4;HA(F9>4;1;0);0)
és a végére egy szum - és meg is van a számod.

Szerintem ez a legegyszerűb.
Vagy makró, de az meg minek ha nem muszáj.

Előzmény: NeomatiK (10300)
tbando Creative Commons License 2009.10.13 0 0 10303
Próbáld ki az alábbi 2 oszlop beszúrását. remélhetőleg müködni fog.

Az A10 től kezdődnek a te számaid
A B oszlop az összeszámolós cella. Ezt akár el is rejtheted.
C oszlopban az eredmény.

B11-be: Ha(es(a10>4; a11>4);b10+1;0)
C11-be: Ha (b11>b12;b11;"")


Előzmény: NeomatiK (10299)
NeomatiK Creative Commons License 2009.10.13 0 0 10302
Csak az a bökkenő, hogy nem értek a makróíráshoz :)
Előzmény: szkripnyik (10301)
szkripnyik Creative Commons License 2009.10.13 0 0 10301
Én erre egy makróprogramot írnék:

Egy for ciklus végigmegy B oszlopon, ha kitöltött mezőhöz ér, akkor hasonlítja az előző kitöltött mező értékével, ha kell számol és megjegyzi az aktuális mező értékét, mint előző kitöltöttet...
Előzmény: NeomatiK (10300)
NeomatiK Creative Commons License 2009.10.13 0 0 10300

Még annyit hozzáfűznék az előzőhöz, hogy jelenleg a nevezett oszlopban a számok között vannak üres cellák
Ez az egész a korábbi kérdésemhez kapcsolódik, amikor egy oszlopban az egymás után következő 1-eseket kellett megszámolni. Ennek az eredményei vannak ebben a nevezett oszlopban.

 

 

Így néz ki gyakorlatilag, és itt a B oszlopban lévő számokról van szó. Az egymást követő 1-esek csoportjai között általában több üres cella is van:

 

A  B

 

1

1

1

1

1  5

 

 

 

1

1

1

1  4

 

1

1

1

1

1

1

1

1

1

1

1

1  12

.

.

.

 

 

Előzmény: NeomatiK (10299)
NeomatiK Creative Commons License 2009.10.13 0 0 10299

Sziasztok!

 

 

Tudnátok megint segíteni? Remélem, igen :))

 

 

Adott egy oszlop, amiben egész számok vannak, mondjuk 1-től 20-ig.

 

5

4

12

2

1

4

10

5

1

6

 

 

mondjuk valahogy így :)

 

Össze szeretném számoltatni, hogy

 

hány egymást követő cella van az oszlopban, amikor egy 4-nél nagyobb számot megint egy 4-nél nagyobb szám követ. (a példában ugy a 10 és az őt követő 5 jelenti ezt), itt 1 lesz az eredmény.

 

Itt a "4-nél nagyobb" kritérium persze változni fog. Vagyis lesz majd olyan is hogy 5-nél nagyobb számot követ 3-nál kisebb, stb.

 

Ha szükséges, egy (vagy kettő) plusz oszlopot be tudok szúrni erre a célra.

 

Légyszi segítsetek! Lehet makrós megoldás is. A DARABTELI függvénnyel próbálkoztam, de nem jutottam előre.

NeomatiK Creative Commons License 2009.10.13 0 0 10298
Szia, bocs hogy csak most reagálok! Köszi szépen. Elteszem talonba ezt a javaslatot. Végül egy másik táblázatba raktam, a nem kivánt sorok kihagyásával.
Előzmény: Jozsef (10198)
Törölt nick Creative Commons License 2009.10.13 0 0 10297
A Feltételes formázás valójában 4 formátumot tesz lehetővé: a 3 db feltételes plusz az 1 db alapértelmezett formátum. Bizonyos esetekben össze lehet vonni feltételeket. Pl. ha azt akarjuk, hogy 1, 11 és 319 érték esetén legyen a cella alapszíne piros, azt egy feltételben meg lehet fogalmazni.

Az Excel 2007-es verzió 3-nál többet is tud, de 2003-ig 3 feltétel a maximum. Ezt csak makróval lehet megkerülni.
Előzmény: Törölt nick (10296)
Törölt nick Creative Commons License 2009.10.13 0 0 10296
Upsz... nem olvastam végig. Bocsi.
Előzmény: Törölt nick (10295)
Törölt nick Creative Commons License 2009.10.13 0 0 10295
Menü: Formátum -> Feltételes formázás
Előzmény: syrius (10294)
syrius Creative Commons License 2009.10.13 0 0 10294
Llehet-e a cellák formátumát,  - konkrétan szinét - úgy beállítani, hogy az a felvett értéktől függjön? Pl. teleteszek egy tartomány celláit véletlenszerű egészekkel és a megjelenő szám színét maga a szám határozza meg. (Talán valamelyik commodore-nál, agy a qbasic-nál volt olyan, hogy a parancs végére egy color n-et biggyesztve a kinyomtatott szín az n-től függött (EGA 16 színét használta). Itt sikerült feltételes formázást találnom, de abban csak 3 feltételre volt hajlandó figyelni. Köszi.
Delila_1 Creative Commons License 2009.10.12 0 0 10293

Szívesen, üdv

Delila

Előzmény: PPilot (10292)
PPilot Creative Commons License 2009.10.12 0 0 10292

Nagyon köszönöm a segítséget!!!

Mostmár teljesen kész!

 

Üdv.:

Miklós

Előzmény: Delila_1 (10291)
Delila_1 Creative Commons License 2009.10.12 0 0 10291

Egy kis technikai tanács, hátha nem ismered:

Mikor beírtad a képleteket a G2:J2 tartományba, a bal Alt és a pont együttes lenyomására az eredmények helyett a képletek válnak láthatóvá.

 

Elkezdheted a D2 képletének beírását – ami a J2-ben már kész van:

=KÖZÉP(A2;H2;I2-H2+1) –, de az = elé adsz egy aposztrófot ('), amitől a beírtakat szövegként értelmezi az Excel.

Eljutsz eddig:

'=közép(a2;

A H2 beírása helyett belépsz a H2 cellába, és az = nélkül másolod (Ctrl+c) a tartalmát, Esc-vel kilépsz a cellából, majd a D2 képlet végére beilleszted. Beírod a pontosvesszőt. Következik az I2 tartalma, amit az I2 cellából másolsz be a D2 végére, és így tovább.

 

Az Alt+pont lenyomására újra az eredmények látszanak. 

 

 

Előzmény: PPilot (10289)
Delila_1 Creative Commons License 2009.10.12 0 0 10290

Először beírtam a G2-be a képletet, ami az első szóköz utáni karakter sorszámát adja:

=SZÖVEG.KERES(" ";A2)+1

 

H2-be, ami a második szóköz utáni karakter sorszáma:

=SZÖVEG.KERES(" ";A2;G2)+1

 

I2-be, ami a vessző előtti karater sorszáma:

=SZÖVEG.KERES(",";A2)-1

 

J2-be a KÖZÉP függvény:

=KÖZÉP(A2;H2;I2-H2+1)

 

A D2-be be kellett helyettesíteni a H2; I2; az I2-n belül pedig a G2 képleteit.

 

 

A D2 képlete végül:

=KÖZÉP(A2;SZÖVEG.KERES(" ";A2;SZÖVEG.KERES(" ";A2)+1)+1;SZÖVEG.KERES(",";A2)-1-SZÖVEG.KERES(" ";A2;SZÖVEG.KERES(" ";A2)+1))

Előzmény: PPilot (10289)
PPilot Creative Commons License 2009.10.12 0 0 10289

Rengeteg részfeladat van a házimban :)), de mindent meg tudtam már csainálni, DE

 

A2=

Kis János Budapest, 58

 

D2=

=KÖZÉP(A2;SZÖVEG.KERES(" ";A2;SZÖVEG.KERES(" ";A2;SZÖVEG.KERES(" ";A2))+SZÖVEG.KERES(" ";A2;SZÖVEG.KERES(" ";A2)))+1;SZÖVEG.KERES(",";A2;SZÖVEG.KERES(" ";A2)))

 

Ez jelenik meg "Budapest, 58"

 

Ide kéne csak a Budaspest, de egyszerűen nbem jövök rá mit rontok el, ha valaki rávezetne, az jó lenne :)

 

Előre is köszönöm

 

PPilot Creative Commons License 2009.10.12 0 0 10288
Hála és köszönet
Előzmény: Törölt nick (10286)
Delila_1 Creative Commons License 2009.10.12 0 0 10287

Be kellett szúrnom egy sort, mert ha egy adósnak csak 1 adóssága van, az előbbi makró nem tudta kezelni.

 

Sub Osszegzes()
    Dim usor, sor, szum
    Application.DisplayAlerts = False

 

    Sheets("Munka1").Select
    usor = Range("A65536").End(xlUp).Row

 

    For sor = usor To 3 Step -1
        With Sheets("Munka2")
            .Cells(sor, 1) = Cells(sor, 1)
            .Cells(sor, 2) = Cells(sor, 2)
            .Cells(sor, 3) = Cells(sor, 3)
            .Cells(sor, 5) = Cells(sor, 5)
            .Cells(sor, 6) = Cells(sor, 6)
        End With


        If Cells(sor, 1) = Cells(sor - 1, 1) And Cells(sor, 6) = Cells(sor - 1, 6) Then
            If Cells(sor, 4) = Cells(sor - 1, 4) Then
                With Sheets("Munka2")
                    .Cells(sor, 4) = 0
                    .Cells(sor - 1, 4) = Cells(sor, 4)
                End With
            Else
                Sheets("Munka2").Cells(sor, 4) = Cells(sor, 4)
            End If
        Else  'Ez a sor kellett még hozzá
            Sheets("Munka2").Cells(sor, 4) = Cells(sor, 4)
        End If
    Next

 

    Sheets("Munka2").Select
    For sor = usor To 3 Step -1
        If Cells(sor, 1) = Cells(sor - 1, 1) Then
            Cells(sor - 1, 4) = Cells(sor, 4) + Cells(sor - 1, 4)
            Range(Cells(sor, 1), Cells(sor - 1, 1)).Merge
            Range(Cells(sor, 4), Cells(sor - 1, 4)).Merge
        End If
    Next
   
    Application.DisplayAlerts = True

End Sub

Előzmény: Delila_1 (10284)
Törölt nick Creative Commons License 2009.10.12 0 0 10286
E2-ben a függvény szöveget ad vissza. Csinálj numerikus értéket a szövegből:
=ÉRTÉK(JOBB(A2;HOSSZ(A2)-SZÖVEG.KERES(", ";A2;SZÖVEG.KERES(" ";A2)+1)))

A HA függvényben pedig vedd ki az idézőjeleket a cellahivatkozásból (E2):

=HA(E2>99;"Felvéve";"Nem felelt meg")
Előzmény: PPilot (10285)
PPilot Creative Commons License 2009.10.12 0 0 10285

Sziasztok,

 

A2-es cella: Kis János Budapest, 58

ezt szét kéne szednem 4 felé, 3 már meg is van,  de a számra, hivatkozok egy HA fv-el és nem hajtja végre.

Ez a szám képlete:

(E2)  =JOBB(A2;HOSSZ(A2)-SZÖVEG.KERES(", ";A2;SZÖVEG.KERES(" ";A2)+1))

 

A Ha fv pedig:

=HA("E2">99;"Felvéve";"Nem felelt meg")

 

Szerintetek mi lehet a gond?

 

Delila_1 Creative Commons License 2009.10.12 0 0 10284

Én már elszöszmöszöltem vele :), ímé az eredmény:

 

Sub Osszegzes()
    Dim usor, sor, szum
    Application.DisplayAlerts = False

 

    Sheets("Munka1").Select
    usor = Range("a65536").End(xlUp).Row

 

    For sor = usor To 3 Step -1
        With Sheets("Munka2")
            .Cells(sor, 1) = Cells(sor, 1)
            .Cells(sor, 2) = Cells(sor, 2)
            .Cells(sor, 3) = Cells(sor, 3)
            .Cells(sor, 5) = Cells(sor, 5)
            .Cells(sor, 6) = Cells(sor, 6)
        End With


        If Cells(sor, 1) = Cells(sor - 1, 1) And Cells(sor, 6) = Cells(sor - 1, 6) Then
            If Cells(sor, 4) = Cells(sor - 1, 4) Then
                With Sheets("Munka2")
                    .Cells(sor, 4) = 0
                    .Cells(sor - 1, 4) = Cells(sor, 4)
                End With
            Else
                Sheets("Munka2").Cells(sor - 1, 4) = Cells(sor, 4) + Cells(sor - 1, 4)
            End If
        End If
    Next

 

    Sheets("Munka2").Select


    For sor = usor To 3 Step -1
        If Cells(sor, 1) = Cells(sor - 1, 1) Then
            Cells(sor - 1, 4) = Cells(sor, 4) + Cells(sor - 1, 4)
            Range(Cells(sor, 1), Cells(sor - 1, 1)).Merge
            Range(Cells(sor, 4), Cells(sor - 1, 4)).Merge
        End If
    Next
   
    Application.DisplayAlerts = True

End Sub

 

Nem túl szép, hogy kétszer megyek végig az adatokon, de csak így jött össze.:(

Előzmény: Master of beginners (10282)
Törölt nick Creative Commons License 2009.10.12 0 0 10283
Ha küldesz mailben valami munkaverziót, elszöszmötölök vele, bár valószínűleg csak a hét második felében lesz rá időm.
Előzmény: Master of beginners (10282)
Master of beginners Creative Commons License 2009.10.12 0 0 10282
Így kérik, nem változtathatom meg :(
Az egyszer, kétszer, illetve háromszor ismétlődő sorokat megoldottam már, de a négyszer ismétlődőkkel kezdődően bajban vagyok, mert nem tudom kezelni a két logikai vizsgálatot normálisan. :(
Előzmény: Törölt nick (10278)
Törölt nick Creative Commons License 2009.10.11 0 0 10280
Általánosan:
az űrlapelemek aktuális értékét tudomásom szerint nem őrzi meg az Excel, úgyhogy erről magadnak kell gondoskodni. A "hogyan" az meg már lehet sokféle. Egy (rejtett) munkalapon, független szövegfájlban, tán még a Windows rendszerleíró adatbázisában is. A magam részéről a szövegfájlt használnám.

A Te konkrét példád esetében:
Ha jól értem, a Listbox aktuális állapota tükröződik, mentés esetén meg is őrződik a kimutatásokban. A munkafüzet megnyitásakor egyszerűen vissza kell állítani.

"Valamint még azt vettem észre, hogy ListBox csak akkor használható, ha el - és visszalépek arra a munkafüzetre amin rajta van."

Ezt nem értem. Tudnád pontosítani?
Előzmény: Törölt nick (10279)
Törölt nick Creative Commons License 2009.10.09 0 0 10278
Ezt a dolgot így kérik Tőled? Valami munkahelyi agymenés?
Csak azért kérdem, mert egyesített cellákat programozni mindig szívás. A helyedben valami formailag más megoldást választanék.
Előzmény: Master of beginners (10274)
szkripnyik Creative Commons License 2009.10.09 0 0 10277
Vagy:
Ha csak a sorok száma kell:

Function proba(p_string As String)
proba = Range(p_string).Rows.Count
End Function

hivása valamelyik cellában: =proba("c3:d102") (az eredmény 100 lesz)
Előzmény: Árpi84 (10275)
Törölt nick Creative Commons License 2009.10.09 0 0 10276
Így egy kicsit másképp fest a dolog. Sztem nem kell hozzá az utolsó (vagy bármelyik) cella pontos helyének meghatározása. Próbáld ki ezt:

Function UtsoCella(tomb As Range) As Long
UtsoCella = tomb.Cells.Count
End Function

A fenti kód a B3:B10 tartományra 8-at ad, nem 7-et, és szerintem ez így logikus, hacsak nem nulláról kezded a számozást. Ez utóbbi esetben módosítsd a kódot:
UtsoCella = tomb.Cells.Count - 1

PS:
A "keres" mint függvénynév nem szerencsés, mivel van ilyen nevű beépített függvény.
Előzmény: Árpi84 (10275)
Árpi84 Creative Commons License 2009.10.09 0 0 10275
Sziasztok!

Köszönöm az előző választ. Valószínűleg valami ilyesmi lesz a megoldás.

Azt a makrót amit írtam, úgy akarom használni, mint egy függvényt. Adok neki egy tetszőleges cellatartományt és szeretném visszakapni a tömb utolsó elemének sorszámát.
Pl.:
A makró meghívása:
=keres(B3:B10) (vagy bármi más cellatartomány)
A visszaadott értéke padig a tömb utolsó elemének sorszáma, ami most 7.

A makró ekkor:

Function keres(tomb)

keres = ????

End function

Ilyesmit hogyan tudnék írni?

A választ előre is köszönöm.

Master of beginners Creative Commons License 2009.10.09 0 0 10274
Elvileg azzal lenne az egyszerű...de sajnos mégsem az. Számomra legalábbis.
Nem tudom úgy elhelyezni az oszlopokat és játszani a mezőbeállításokkal, hogy jó legyen.
Jelenleg manuálisan bénázom össze a dolgot. :(
Előzmény: Törölt nick (10271)
Master of beginners Creative Commons License 2009.10.09 0 0 10273
Köszi..de a jelszóemlékeztető nem sokat segít rajtam, ugyanis a regisztrációmkor megadott fióknak sem tudom a jelszavát, mert csupán a fórumhoz hoztam létre.. :)
Előzmény: Törölt nick (10268)
szkripnyik Creative Commons License 2009.10.09 0 0 10272
Hogyan kell szöveges file-t megnyitni és írni beléje, furdalta az oldalamat már egy ideje, de lusta voltam keresgélni és itt is megkérdezni.

Ma viszont legyőztem lustaságomat, pár pillanat alatt meg is találtam a Visual Basic help-jében a megfelelő móricka programot, de nem müködött. :-)))

Sub OpenTextFileTest()
Const ForReading = 1, ForWriting = 2, ForAppending = 38, Create = True
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("d:testfile.txt", ForAppending, Create, TristateFalse)
f.Write "Hello world!"
f.Close
End Sub

Aztán megtaláltam: a szöveges leírás szerint a ForAppending értéke 8 kell legyen, a móricka programban meg elírták (3 volt).... Lehet, hogy azért, mert 2003-s EXCEL volt?

:-)))

Törölt nick Creative Commons License 2009.10.09 0 0 10271
Ennek olyan kimutatás-szaga van. Nem?
Előzmény: Master of beginners (10267)
Törölt nick Creative Commons License 2009.10.09 0 0 10270
Van erre több lehetőség.
Tegyük fel, hogy az adataid az A oszlopban vannak, kezdődnek A2-ben, és a végét keressük.
Ha a tartomány összefüggő, és legalább 2 cellából áll, akkor az alábbi a legegyszerűbb módszer:

UtolsoSor = Range("A2").End(xlDown).Row

Ha nem összefüggő, vagy nem biztos, hogy legalább 2 cella, akkor:

UtolsoSor = Range("A" & Rows.Count).End(xlUp).Row


Másik megközelítés

A következő üres celláig fut a ciklus, és nem érdekel, hogy az pontosan hol van:

i = 2
Do
MsgBox Range("A" & i).Value
i = i + 1
Loop While Range("A" & i) <> ""

Előzmény: Árpi84 (10269)
Árpi84 Creative Commons License 2009.10.09 0 0 10269
Sziasztok!

A következő problémával fordulok hozzátok:

Írtam egy makrót, ami egy keresési eljárást futtat végig egy cellatartományon. A ciklushoz viszont tudnom kéne, hogy hány elemű (sorú) cellatartomány megy be a makróba. Hogyan lehet ezt lekérdezni (gyakorlatilag hány elemű a tömb)?

A válaszotokat előre is köszönöm: Árpi
Törölt nick Creative Commons License 2009.10.09 0 0 10268
http://indapass.hu/jelszoemlekezteto/

biztos bannoltak a moderátorok;)
Előzmény: Master of beginners (10267)
Master of beginners Creative Commons License 2009.10.09 0 0 10267
Sziasztok!

Hosszú kihagyás után ismét hozzátok fordulok segítségért :)

A problémát nem tudom értelmesen leírni ábra nélkül, ezért azon minden gondom feltüntettem :)

Adott egy több száz soros tábla, alapból megtévesztő adatokkal. Makróval szeretném megoldani az alábbiakat, de kicsit kijöttem a formából (vagy ennyire talán sose voltam benne.. (think) ? )



Segítségeteket előre is köszönöm!

ui1: Master of Amateur vagyok, csak elfelejtettem a jelszavam :)
ui2: Remélem, érthetően írtam le a gondom :)

fajlkezelo Creative Commons License 2009.10.09 0 0 10266
Szia!

Nagyon köszönöm, így fordítva már jó lett!

Előzmény: Törölt nick (10237)
Törölt nick Creative Commons License 2009.10.08 0 0 10262
Várjál, hülyeséget írtam... Elnézést.
Szóval a ciklus helyesen:

For Each pi1 In pf1.PivotItems
i = HanyadikHonapEzAzOszlop(pi1)
pi1.Visible = Me.ListBox1.Selected(i - 1)
Next
Előzmény: Törölt nick (10259)
Master of beginners Creative Commons License 2009.10.08 0 0 10261
A kép:

Master of beginners Creative Commons License 2009.10.08 0 0 10260
Sziasztok!

Hosszú kihagyás után ismét hozzátok fordulok segítségért :)

A problémát nem tudom értelmesen leírni ábra nélkül, ezért azon minden gondom feltüntettem :)

Adott egy több száz soros tábla, alapból megtévesztő adatokkal. Makróval szeretném megoldani az alábbiakat, de kicsit kijöttem a formából (vagy ennyire talán sose voltam benne.. (think) ? )


Segítségeteket előre is köszönöm!

ui1: Master of Amateur vagyok, csak elfelejtettem a jelszavam :)
ui2: Remélem, érthetően írtam le a gondom :)
Törölt nick Creative Commons License 2009.10.08 0 0 10257
A listbox és a pivotitems szinkronba hozására ilyesmit javaslok:
.
.
.
For Each pi1 In pf1.PivotItems
i = HanyadikHonapEzAzOszlop(pi1)
pf1.PivotItems(i).Visible = Me.ListBox1.Selected(i - 1)
Next
.
.
.

Function HanyadikHonapEzAzOszlop(PivIt as PivotItem) As Long
'itt valami kód, ami a PivIt.Name tulajdonságból meghatározza a hónap sorszámát.
'Pl.
'Select Case LCase(PivIt.Name)
'Case "január"
'HanyadikHonapEzAzOszlop=1
'Case "február"
'HanyadikHonapEzAzOszlop=2
'stb.
'attól függ, miből származik az oszlopok neve.
End Function


Az eredeti problémáról mondják itt-ott, hogy Excel 2003/XP bug van a jelenség hátterében. Állítólag kiküszöbölhető, ha beállítod az AutoSort tulajdonságot Manual-ra.

pf.AutoSort xlManual, pf.SourceName

Forrás:
http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/01fca3d7-944e-4fb6-bf9b-0e7892b0234c

Előzmény: Törölt nick (10256)
Törölt nick Creative Commons License 2009.10.08 0 0 10255
Azt értem, hogy i-ből miért kell kivonni egyet. Más itt a gond. Abból indulok ki, hogy a Listbox tartalmazza mind a 12 hónapot. Ha nem így van, akkor az alábbi okfejtés érvényét veszti.
Na most.
A pivottáblában csak azok a hónapok jelennek, amelyekre a forrás-tábla adatot tartalmaz. Tegyük fel, hogy januárra nincs adat. Ekkor a Január nem jelenik meg a pivottáblában. Tehát a
For Each pi1 In pf1.PivotItems
ciklus Februárral kezd. Az
i = i + 1
művelet után (a ciklus első végrehajtásakor) i értéke 1 lesz. Ez, ha belegondolsz, azt jelenti, hogy a
pf1.PivotItems(i).Visible = Me.ListBox1.Selected(i - 1)
attól függően jelenteti meg Február oszlopát a kimutatásban, hogy a listbox-ban a Január be van-e ikszelve.

Előzmény: Törölt nick (10253)
Törölt nick Creative Commons License 2009.10.07 0 0 10252
Ez a szerkezet elég furcsa nekem:

For Each pi1 In pf1.PivotItems
i = i + 1
pf1.PivotItems(i).Visible = Me.ListBox1.Selected(i - 1)
Next

Miért így oldottad meg?
Előzmény: Törölt nick (10251)
Delila_1 Creative Commons License 2009.10.07 0 0 10248
Frappáns a makród.
Előzmény: Törölt nick (10247)
Delila_1 Creative Commons License 2009.10.07 0 0 10239

A listbox tulajdonságainál a bemeneti tartományban megadod azt a területet, ahol megadod a listboxban megjelenítendő adatokat, ez lehet januártól decemberig a hónapok elnevezése. A cellacsatoláshoz beírod a cellát, ahonnan majd a kimutatáshoz veszed az értéket. Itt az a sorszám jelenik meg, ami a kiválasztott elem sorszáma a bemeneti tartományban, pl. a szeptember kiválasztása után 9.

A makróban a táblázat a kimutatáshoz Munka1!A1:B20, az oszlopok címe hónap és adat, a cellacsatolás Munka2!A1.

 

Sub Kimutatas()
    Dim tabla, i_1 As String
    Dim h, i
    tabla = "A1:B20"

 

    Range("A2").Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Munka1!" & tabla).CreatePivotTable TableDestination:="", TableName:= _
        "Kimutatás1"
    With ActiveSheet.PivotTables("Kimutatás1")
        .AddFields RowFields:="hónap"
        .PivotFields("adat").Orientation = xlDataField
    End With
   
    h = Application.Fixed(Sheets("Munka2").Cells(1, 1), 0) 'listbox értéke szövegként
       
    For i = 1 To 12
        i_1 = Application.Fixed(i, 0) 'a ciklusváltozó értéke szöveggé alakítva
   
        If ActiveSheet.PivotTables("Kimutatás1").PivotFields("hónap"). _
                PivotItems(i_1) <> h Then
            ActiveSheet.PivotTables("Kimutatás1").PivotFields("hónap"). _
                PivotItems(i_1).Visible = False
        End If
    Next
End Sub

Előzmény: Törölt nick (10238)
Törölt nick Creative Commons License 2009.10.06 0 0 10237
Fordítsd meg a ciklust, hogy 5000-től menjen 2-ig.
Előzmény: fajlkezelo (10236)
fajlkezelo Creative Commons License 2009.10.06 0 0 10236
Sziasztok!

Szeretnék egy feltétel szerint törölni teljes sorokat (nemcsak a tartalmukat).

Ilyet írtam:

For i = 2 To 5000
ActiveSheet.Cells(i, 12).Select
If UCase(Left(ActiveCell, 3)) <> "HUN" Then
ActiveSheet.Rows(i & ":" & i).EntireRow.Delete
End If
Next i

Végigmegy a cikluson, jó sorokat is töröl, de nem az összeset,
többször le kell futtatni, hogy az összes "jó" sort törölje.
Mintha a sor törlése után lejjebb menne a kurzor és
ezért hagy ki sorokat.

Szerintetek mi lehet a megoldás?


Köszönöm
mesterm Creative Commons License 2009.10.05 0 0 10235
Hali!

Egy olyan kérdésem lenne, Excelben lehet-e korfát készíteni diagram segítségével.
Vagy az is nagy segítség lenne, ha valahogy az egyik diagramot sikerülne egy függőleges tengely mentén tükrözni.Ez megoldható valahogy?
Segítséget előre is köszönöm:)
Ktomi88 Creative Commons License 2009.10.04 0 0 10234
Sziasztok!
Találkoztatok már ilyen problémával? Egy munkafüzetben adatok vannak és 2 db kép
(jpeg) van beszúrva. Ha nyomtatásra kerül a sor, akkor hibaüzeneteket küld, az
oldalbeállítás teljesen összeomlik és leáll a nyomtatás, vagy is el sem indul. A végén
már a nyomtatót sem ismeri fel. Kép nélkül teljesen jól működik. Spyware-nek és
vírusnak nem gondolnám, hogy köze lenne hozzá, mert rendszeresen nézem. A
nyomtatót újra telepítettem és az Office-t is, de nem oldotta meg a problémát. Lehet,
hogy nem ide tartozik ez a probléma, de nekem csak az Excel használatában, akadtak
ilyen gondok. Mi lehet a megoldás? Előre is köszönöm
k-betti Creative Commons License 2009.10.04 0 0 10233
megcsináltam, kész lettem a feladatommal, most már ne is foglalkozzatok vele (én sem teszem)

köszi mindenkinek az építő jellegű ötleteket, hasznos volt

Betti
Előzmény: k-betti (10232)
k-betti Creative Commons License 2009.10.04 0 0 10232
köszi, az ötletet, így már majdnem jó, de....

Megszámoltam, és igazából sajnos 70 helységnevem, és 222 személyem van (hozzájön még a hónap 31 napja és a nap 24 órája). Így összesen ez 222 oszlop és 9617 sor lett

Megcsináltam a kimutatást.

Létezik olyan függvény, amit a legutolsó sornál csak vízszintesen végighúzok, és csak akkor szól, ha valamelyik oszlop valamelyik órájában (cellájában) 13, vagy ennél több van?

Egyelőre autószűrővel, egyesével nézem, ami így is jó, ha ~2 mp=1 név, több, mint 4 perc alatt végzek. Ha nem lenne ez a kimutatás, akkor vért izzadnék.... :)

Előzmény: Törölt nick (10231)
Törölt nick Creative Commons License 2009.10.04 0 0 10231
Hát például:


De lehet próbálkozni más variációkkal is. A lényeg az ADAT mező, a többi csak azt mondja meg, hogy hogyan legyen az adat csoportosítva. Oszlopnak olyat érdemes megadni, amiből kevés van. Névből csak 5 különböző, Helységből csak 2 különböző van a példádban. Ezek jók oszlopnak. Az óra viszont nem lenne jó, mert abból olyan sok van, hogy a kimutatás nem férne el a munkalapon (max. 256 oszlop).
Előzmény: k-betti (10230)
k-betti Creative Commons License 2009.10.04 0 0 10230
...nem, ott még nem

viszont abban még segítsetek, mert nem tudok rájönni, hogy melyik oszlopokat kell behúznom a SOR/ADAT/OSZLOP mezőbe, hogy a kívánt hatást elérjem.

köszi

Előzmény: Törölt nick (10228)
Delila_1 Creative Commons License 2009.10.04 0 0 10229
Jimmy válaszához annyit, hogy az időt  tartalmazó oszlop bal oldali két karakterét felhasználva érdemes egy új oszlopot beszúrni, és ezt ábrázolni a kimutatásban.
Előzmény: k-betti (10227)
Törölt nick Creative Commons License 2009.10.04 0 0 10228
Szerintem az Adatok -> Kimutatás pont erre való. Próbáltad már?
Előzmény: k-betti (10227)
k-betti Creative Commons License 2009.10.04 0 0 10227
Sziasztok!

Kérlek segítsetek, ha tudtok. Nem iskolai feladatról van szó, csak az adatokat más nevezéssel helyettesítettem be:

A táblázat egy részét feltettem ide: (http://k-betti.uw.hu/feladat/feladat.xls) http://k-betti.uw.hu/feladat/feladat.xls

Adott több személy (B oszlop) az ország több részén (A oszlop). Mindenki eszik almát, és azt szeretném megtudni, hogy ki az, aki adott napon (C oszlop) 1 óra alatt (D oszlop), 13- vagy ennél több almát eszik egy adott helységen (A oszlop) belül.

Az órák 00-val kezdődnek és **:59-kor fejeződnek be (pl: 8:00-8:59-ig, 9:00-9:59-ig, stb)

A valóság a hónap végére kb. egy 40ezer soros, kb. 50 „helységneves”, megszámlálhatatlan „személynevű” excel táblázatot generál.

Próbálkoztam már „részösszeggel”, „autoszűrővel” is, de ez meghaladja a tudásomat.

Már az is segítség lenne, ha csak az óra alatti darabszámot dobná ki nekem a gép (személyre/helységnévre/napra/órára bontva), a többit már meg tudnám oldani.

Pl.: Budapest, Erika, 09.21, 10:00-10:59-ig = 3 db

Köszi mindenkinek előre is

Betti
Törölt nick Creative Commons License 2009.10.02 0 0 10226
Nincs mit.
Az első eset akkor reagál, ha a megváltozott tartomány az A1 cella.
Az Istersect-es verzió akkor reagál, ha a megváltozott tartománynak része az A1 cella. (Pl. amikor az egész A oszlop tartalmát törlöd egy művelettel.) Ez tehát egy nagyobb halmaz.
Előzmény: Törölt nick (10225)
Törölt nick Creative Commons License 2009.10.02 0 0 10225

Szia,

köszönöm mindkettőt. Néztem a hsz-eidet, elég gyakran használod az Intersect-et

Miért jó ezzel a metszettel megadni? Nem igazán világos nekem...

Törölt nick Creative Commons License 2009.10.02 0 0 10224
Deklaráld a változót, típusmegjelöléssel. Pl.

Dim Rng As Range
Előzmény: Törölt nick (10221)
Törölt nick Creative Commons License 2009.10.02 0 0 10223
If Target.Address <> "$A$1" Then Exit Sub

vagy


If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Előzmény: Törölt nick (10222)
Törölt nick Creative Commons License 2009.10.02 0 0 10222
Legyetek szívesek segíteni még egy cseppet:
Azt hogy kell csinálni, hogy a
Worksheet_Change(ByVal Target As Range) ne az összes cella változását figyelje, hanem csak pl. az A1-et
Törölt nick Creative Commons License 2009.10.02 0 0 10221
A másik kérdésem pedig az, hogy miért nem jön fel a metóduslista minden esetben, a "." (pont) beírása után?
Törölt nick Creative Commons License 2009.10.02 0 0 10220
Én máshogy értem, mint Delila
A mennyiségekhez egy segédoszlopba:
=HA(ÜRES(B2);C1;B2)
Ezzel mindig az utolsó mennyiség fog ismétlődni, tehát meglesz minden napra, ahogy írtad.
Berakod a pivottáblába, és ott van ÁTLAG számítás is...
Előzmény: tagore72 (10217)
Törölt nick Creative Commons License 2009.10.02 0 0 10219
Makrós kérdés:
Hogy kell a pivottábla tételeit makróval beállítani?
Rögzített makró nem jó, mert mindent tételenként csinál.
(Pl. "Cikk" mezőben csak a "1111" számú tétel legyen kiválasztva)
Változót kell használnom, szerintem a "CurrentPage" kell, de nem akar működni...



Dim Cikk As String
If Not Range("CIKK") = "" Then
Cikk = Range("CIKK")
With Sheets("Norma")
.PivotTables("Kimutatás1").PivotFields("Cikk").CurrentPage = Cikk
.PivotTables("Kimutatás1").PivotCache.Refresh
End With
Else: MsgBox "Add meg a Cikket!"
End If
Delila_1 Creative Commons License 2009.10.02 0 0 10218

A táblázatban vegyél fel egy Átlag oszlopot. Az első cella képlete (címsort feltételezve):

 

=SZUM(A$2:A2)/DARAB(A$2:A2)

 

Ezt másold a le az adataid mellé.

A kimutatásba való felvételét rád bízom. :)

Előzmény: tagore72 (10217)
tagore72 Creative Commons License 2009.10.01 0 0 10217
Sziasztok!

Bocs, ha értetlen vagyok, de
- nem az a lényeg, hogy havi összesent előállítsam, mivel az megy (már az adatbázisban is van hónap mező, de képlettel is megy)
- a tényleges mező dátum formátumú, a hónap() függvény is működik rá

Tehát a lényeg,
- ha havi 2 mozgás van (pl. 2009.04.05, 2009.04.09), akkor is ki kellene számítanom minden napra (04.01, 04.02, 04.03, ..., 04.29, 04.30) a készletet és azt átlagolnom.

Példa:
2009.04.05 - 100kg (adott, mert volt aznap mozgás)
2009.04.06 - 100kg (számolt, ez is 100, mivel 100+1*0=100)
2009.04.07 - 100kg (számolt, ez is 100, mivel 100+2*0=100)
2009.04.08 - 100kg (számolt, ez is 100, mivel 100+3*0=100)
2009.04.09 - 130kg (adott, mert volt aznap mozgás)
2009.04.10 - 130kg (számolt, ez is 130, mivel 130+1*0=130)
2009.04.11 - 130kg (számolt, ez is 130, mivel 130+2*0=130)
...
2009.04.30 - 130kg (számolt, ez is 130, mivel 130+21*0=130)

Tehát a havi átlag
nem (100+130)/30,
hanem (100+100+100+100+130+130+...+130)/30

Kösz
Előzmény: Törölt nick (10216)
Törölt nick Creative Commons License 2009.10.01 0 0 10216
Másik gyakran alkalmazott lehetőség:
A kimutatás hátteréül szolgáló táblázatba beszúrsz még egy oszlopot, ezzel a képlettel:
HÓNAP(dátum cellája)
és végig húzod.
Belefoglalod a kimutatásba és kész.
Előzmény: tagore72 (10214)
Törölt nick Creative Commons License 2009.10.01 0 0 10215
Szerintem azért nem látod, mert a kimutatás hátterében a dátumok nem "dátum" formátumúak.
Ha ezt nem tudod megoldani, akkor tudod csoportba foglalni is a hónapokat. (Egérrel kijelölöd a dátumokat, jobb gomb, csoportba foglalás stb...)
Előzmény: tagore72 (10214)
tagore72 Creative Commons License 2009.10.01 0 0 10214
Szia!

Kösz a választ, de hiába próbálkozom, ezzel a módszerrel
- nem jelennek meg azok a (új) dátumok és az aznapi készletek, amelyekre nincs mozgás

Így aztán továbbra sem tudok havi átlagkészletet számolni :-(

Joe
Előzmény: Delila_1 (10213)
Delila_1 Creative Commons License 2009.10.01 0 0 10213

Állj a kimutatásban a "tenyleges" cellára, ami a dátumok címsora.

Adatok/Tagolás és részletek/Csoportba foglalás. Itt választhatsz a felajánlott idő-intervallumok közül, másodpercektől évekig.

Előzmény: tagore72 (10210)
Csemő Creative Commons License 2009.10.01 0 0 10212
Team munkában megoldottuk végül. :)))
Előzmény: Csemő (10209)
Csemő Creative Commons License 2009.10.01 0 0 10211
Ja igen. Mielőtt felmerül a kérdés. A becsipogás alatt azt értem mikor egy vonalkód olvasóval beolvastatom a táblázatba. Mi csipogásnak hívjuk, mert csippan mikor sikerül. :)
Előzmény: Csemő (10209)
tagore72 Creative Commons License 2009.10.01 0 0 10210
Sziasztok!

Van egy - szerintem érdekes - problémám.

A képen bal oldalt egy kimutatás van (ez egy adatbázisból készül).
A cél az, hogy termékkódonként havi átlagkészletet számoljak - a nyitóval most nem foglalkozom, mert az fix.

1. módszer
Kimutatás fülön: ami a képen látszik: termékkód, azon belül dátum.
Lefelé max 500 termékkód van, de sajnos nem minden tenyleges napra (365) van mozgás (lefelé nem is férne el 500*365 sor)

2. módszer
Kimutatás: lefelé termékkódok, jobbra dátumok
Képlet fülön: Lefelé csak termékkódok, jobbra 180 nap kézzel beírva (2 fülön, h elférjen)
Sikerült is fkeres, szumha módszerekkel jól beképletezni, de ha végighúzom, akkor
már az 500*365 db képlet nagyon lelassítja az átszámolást, ha a kimutatásban szűrök.

3. módszer
Lefelé termékkódok, jobbra csak a 12 hónap lenne, így biztos felgyorsulna, de annyira sok tényezőt kellene figyelembe van (sok ha() lenne, hogy nem látom át).
Pl. első tételkód vagy utolsó, napok különbsége 1 vagy több, hónap(tenylege) kölönbsége 1 vagy több, ...

Próbáltam úgy is, hogy a mennyiség göngyölített, de a fenti problémákon ez se segített.






Van valakinek mentő ötlete?

Köszönöm

Joe
Csemő Creative Commons License 2009.09.30 0 0 10209
Sziasztok!

Olyan kérdésem lenne, hogy: Azt szeretnénk megoldani, hogy egy vonalkód becsipogásánál egy fix első 4 karaktert figyeljen és, ha eltér akkor ne lehessen becsipogni. Megoldható?

Pl.: HU1ö****** ez ok, de HU11***** nem ok.

Légyszi az emilemre írjatok.

Köszi.
Delila_1 Creative Commons License 2009.09.25 0 0 10208
Szívesen, örülök, hogy sikerült rendbe tenni.
Előzmény: monic1006 (10203)
Delila_1 Creative Commons License 2009.09.25 0 0 10207
Köszönöm.
Előzmény: Törölt nick (10206)
Törölt nick Creative Commons License 2009.09.25 0 0 10206
Még ajánlom figyelmedbe ezt a hasznos linket (Cell Comments) a megjegyzések kezelésével kapcsolatban.
Előzmény: Delila_1 (10204)
Törölt nick Creative Commons License 2009.09.25 0 0 10205
Nagyon szívesen, én is Jimmytől tanultam :-)
Előzmény: Delila_1 (10204)
Delila_1 Creative Commons License 2009.09.25 0 0 10204
Nagyon köszönöm, sikerült felhasználni.
Előzmény: Törölt nick (10202)
monic1006 Creative Commons License 2009.09.25 0 0 10203

WÁÁÁÁÁÁW MŰKÖDIK!!!!!

EL SE TUDOM MONDANI, MENNYIRE KÖSZÖNÖM!!!!

MEGKÖNNYÍTETTED MINDENNAPJAIMAT!

NAAAGY PUSZI ÉRTE!

 

Előzmény: Delila_1 (10196)
Törölt nick Creative Commons License 2009.09.25 0 0 10202
Vagy még egyszerűbben ;-)

Set Kom = Range("A1").Comment
If Kom Is Nothing Then
MsgBox "Nics megjegyzés"
Else: MsgBox "Van megjegyzés"
End If
Előzmény: Törölt nick (10201)
Törölt nick Creative Commons License 2009.09.25 0 0 10201

Példa az A1 cellának van-e megjegyzése  

 

    Set Kom = Range("A1").Comment
    If Not Kom Is Nothing Then
      Msgbox "Van megjegyzés"

    Else Msgbox "Nincs megjegyzés"
    End If

Előzmény: Delila_1 (10200)
Delila_1 Creative Commons License 2009.09.24 0 0 10200

Jobb híján az is megtenné, ha azt le tudnám kérdezni, hogy egy-egy cellához van-e fűzve megjegyzés.

Ebben tud valaki segíteni?

Delila_1 Creative Commons License 2009.09.24 0 0 10199
Egy For Each ciklus segítségével végzek műveletet a lap celláihoz rendelt megjegyzésekkel.

Tudtok valami módszert annak lekérdezésére, hogy az aktuális megjegyzés milyen című cellához van rendelve?
Jozsef Creative Commons License 2009.09.24 0 0 10198
Arra van valami megoldás, hogyan lehet egy oszlopban a maximum függvényt (illetve bármilyen hasonszőrű függvényt) alkalmazni, de az oszlopban csak minden 2 sorban lévő cellát (de nem a táblázat tetejétől) kéne vizsgálni, a köztelévőket nem?
Adatbázis függvényekkel megoldható a dolog, pl. így
Előzmény: NeomatiK (10197)
NeomatiK Creative Commons License 2009.09.24 0 0 10197

Köszönöm szépen a sok segítséget! :)

 

 

Arra van valami megoldás, hogyan lehet egy oszlopban a maximum függvényt (illetve bármilyen hasonszőrű függvényt) alkalmazni, de az oszlopban csak minden 2 sorban lévő cellát (de nem a táblázat tetejétől) kéne vizsgálni, a köztelévőket nem?

Ha külön megadnám a párszáz cellát az elég körölményes, és úgy tudom, van egy határ, ami felett nem fogad el több argumentumot.

Előzmény: Delila_1 (10195)
Delila_1 Creative Commons License 2009.09.23 0 0 10196

Egy próba:

Állj az első olyan sor sorjelölőjére, ahol már nincs adat. Shift+Ctrl+le nyíllal egyszerre kijelölöd a törölni kívánt sorokat az alsóig.

Ctrl és a számbillenytűzeten a mínusz billentyűvel egyszerre törlöd az összeset.

 

Talán ez segít.

Ha mégsem, az adatokat (de csak az adatokat tartalmazó sorokat, nem a teljes lapot) másold át egy üres lapra, ezt meg töröld.

 

Előzmény: monic1006 (10194)
Delila_1 Creative Commons License 2009.09.23 0 0 10195
A törlős makró végére, az End Sub elé beírod az összegzős makró címét a zárójelek nélkül, és a törlőst indítod.
Előzmény: NeomatiK (10193)
monic1006 Creative Commons License 2009.09.23 0 0 10194

Sziasztok! Üdv mindenkinek!

 

A helyzet az, hogy nem nagyon szoktam fórumozni, de most ott tartok, hogy nem találok megoldást egy bosszantó problémára.

 

A problémám az alábbi:

Van egy nagy terjedelmű többszáz soros excel doksim, aminek az oldalsó görgetősávja megkerdült.

Elvileg a gördítősávnak tudnia kellene "kezelni" a dokumentum méretét, igazodnia kellene a felhasznált sorokhoz. Na ez nem igazodik!!!! :@

Ha egy icipicit lehúzom a gördítősáv csúszkáját már rögtön a négyezredik sornál jár, ahol már nincs is adat. Arról meg nem is beszélek, ha kicsit jobban lehúzom a csúszkát... :@

 

Megnéztem... nincsen lentebb semmilyen adat, sem pedig olyan nyomtatásban is megjelenő formátum (pl. szegély, vagy kitöltőszín) sincs úgy beállítva, hogy az egész

oszlopot jelöltem volna ki az oszlopazonosítóra kattintással.

Ha a nyomtatási képre kattintok, akkor is csak addig hozza a nyomtatnivalót, amíg ténylegesen tartalmaz adatot a táblázat.

 

Sőt! Már azzal is próbálkoztam, hogy lementem a táblázat legaljára, a 65.536. sorhoz, és kijelöltem a teljes sort, és "olcsó játék hülyegyerekeknek" módszerrel végig kijelöltem az összes e feletti sort odáig amíg nem kezdődött meg az adatokkal feltöltött táblázat, és fogtam és Szerk./Törléssel kitöröltem ezeket az üres sorokat.

Elb...tam a kijelöléssel egy csomó időt, de ez sem működött, az excel autómatikusan újragenerálta nekem ezeket a sorokat.

 

Van több hasonló terjedelmű, hasonlóan formázott doksim is, és ezekből csak 2 kerdült így meg, a többi tökéletesen normálisan működik.

Elég bosszantó, ha a doksi aljára akarok kilyukadni, és én napi szinten több órát is dolgozok ezekben a vackokban, és már kezdek tőle agylobbot kapni.

LÉCCCI LÉCCCI VALAKI SEGÍTSEN!

Előre is kösziiiiii

NeomatiK Creative Commons License 2009.09.23 0 0 10193

Beleírtam a makróba az input box helyére, most csak indítanom kell :)

 

 

Egyébként hogy lehet makrókat összefűzni? Pl ha azt szeretném hogy az 1-esek összeadása előtt megcsinálja a törlést?

 

 

 

Előzmény: Delila_1 (10188)
tbando Creative Commons License 2009.09.23 0 0 10192
Szerintem ahogy én szoktam csinálni, könnyen megírható makróban. -Sorbarendezi az az oszlop adatait, felismeri az első blank cellát, onnan kitörli a cellákat végig, majd átlép a következő oszlopra. Az utosó oszlop után visszarendezi a táblázatot az eredeti sorrendre.
Előzmény: NeomatiK (10190)
Delila_1 Creative Commons License 2009.09.22 0 0 10191
=ABS(SZUMHA(A1:A7;"<0";A1:A7))
Előzmény: blenessyb (10189)
NeomatiK Creative Commons License 2009.09.22 0 0 10190

:)

Mert az első törlős makró olyan volt, hogy az adott oszlop tartalmát törölte az első sortól az utolsóig.

 

Írtam is, hogy olyat szeretnék, amiben benne legyen, hogy mettől meddig töröljön, de ne olyan, ami külön ablakokban kéri be.

 

Próbáltam a kijelölős makródat is elteszem ha ilyen fog kelleni, de ez is lassabb, így nem ez lenne a számomra a megfelelő, hanem egy mezei makró, ami nem kér be semmi adatot inputboxban, de maga a makró tartalmazza.

Bocs a zargatás miatt.

Előzmény: Delila_1 (10188)
blenessyb Creative Commons License 2009.09.22 0 0 10189
Köszönöm, közben rájöttem, hogy ez egy elég buta kérdés volt. :) Na mindegy, azért nagyon köszi. Tudsz arra megoldást, hogy egy oszlopból a függvény csak a negatív előjelű összegeket adja össze abszolút értékű eredményt adva.
Mondjuk:
20
50
-20
10
-10
90
50

-20 + -10 =30 - erre kéne egy képlet

Előre is kösz.

Botond
Előzmény: Törölt nick (10184)
Delila_1 Creative Commons License 2009.09.22 0 0 10188

Most kezd fogyni a türelmem. :)

 

Előbb ezt írtad: "Tudnál olyat írni, mint a korábbi összeadós makró, amiben a sort és oszlopot is meg kell adni tól-ig?"

Később: "... az esetk többségében mindig azonos területen és lépésközzel használnám"

 

El kellene döntened, mit is szeretnél.

 

A $ jelekre nincs szükség, mert a 9813-as hozzászólásban ezt olvashattad: "... a törlendő területet ki kell jelölnöd, és csak a lépésközt kell megadnod." Vagyis a kijelölés határozza meg a törlendő területet.

 

Mivel az újabb jelzésed szerint a lépésköz is azonos az esetek többségében,

a 9813-as makróban az

"m_step=InputBox" kezdetű sor helyett m_step=4 -et írj. Ebben az esetben kérdés nélkül fut le a törlős makró, és csakis a kijelölt területen.

Előzmény: NeomatiK (10186)
Törölt nick Creative Commons License 2009.09.22 0 0 10187
Az is jó, ha a szóban forgó rész egyedi alapszínt kap. Vagy ilyesmi. Pl. csak a kék oszlopokat kell átszámolni.
Előzmény: NeomatiK (10186)
NeomatiK Creative Commons License 2009.09.22 0 0 10186
Ez is biztos jó megoldás lenne. Pl $ jelet tenni a táblázat behatároló sarkaira? Egyébként jelenleg üres oszlop és üres sor követi a számolandó táblázatrészt. De nem biztos, hogy így marad. A kiindulást nem tudnám ilyen egyértelműen meghatározni.
Előzmény: Törölt nick (10180)
NeomatiK Creative Commons License 2009.09.22 0 0 10185

Óóó, köszönöm szépen! Nagyon klassz!

 

Még annyit :)))) hogy ezt a törlős makrót átírnád úgy nekem olyan verzióra, hogy ne kérje be az adatokat?

Mert igazság szerint az esetek többségében mindig azonos területen és lépésközzel használnám és így csak nehézkessé, időigényessé, macerássá :) teszi a makrófuttatást, hogy mindig be kell írni.

Előzmény: Delila_1 (10178)
Törölt nick Creative Commons License 2009.09.21 0 0 10184
Formátum -> Feltételes formázás ->
1.feltétel -> A cella értéke egyenlő igen -> formátum beállítása
2.feltétel -> A cella értéke egyenlő nem -> formátum beállítása
Előzmény: blenessyb (10183)
blenessyb Creative Commons License 2009.09.21 0 0 10183
Üdv mindenki,
Hogyan oldható meg, hogy a köv. függvényben - if(b1>1,"igen","nem") - az igen vagy a nem különböző betűszínnel vagy háttérszínnel jelenjen meg.
Előre is kösz a válaszadónak!
Delila_1 Creative Commons License 2009.09.21 0 0 10182

Funkciót nem, de ez a rövid kis makró beírja az aktív lapon lévő megjegyzések szövegét egy oszlopba, A1-től kezdve lefelé.

 

Sub Megjegyz()
    Dim sor As Integer
    Dim CV As Object
   
    sor = 1
    For Each CV In ActiveSheet.Comments
        Cells(sor, 1) = CV.Text
        sor = sor + 1
    Next
End Sub

Előzmény: aderill (10181)
aderill Creative Commons License 2009.09.21 0 0 10181

Sziasztok

 

Tudtok olyan, funkcióról az excelben , mely a commentben beírt szöveget gyűjti le, akár egy cellába vagy külön cellákba (vagy esetleg txt file ba) ?

 

Köszi

Törölt nick Creative Commons License 2009.09.21 0 0 10180
Te miből ismered fel a táblázatban, hogy melyik oszlopokban, melyiktől melyik sorig kell törölni?
Ha ezt meg tudod fogalmazni, az már egy algoritmus. Arra szerintem programot is lehet írni, és akkor nem kellene azzal vacakolni, hogy hogyan kérjük be a felhasználótól az adatot.
Előzmény: NeomatiK (10177)
Delila_1 Creative Commons License 2009.09.21 0 0 10179

Ennél a makrónál a törlendő terület előre ki kell jelölnöd, és csak a lépésközt kell megadnod az inputboxban.

Biztosan van rá egyszerűbb módszer is, tőlem ennyi telt.

 

Sub torl()
    Dim ter As Range
    Dim cim, ucim, uo_bet As String
    Dim esor, usor, eoszlop, uoszlop, m_step, oszlop As Integer
   
    m_step = InputBox("Mennyi legyen a lépésköz?", _
        "Lépésköz", Default)
   
    cim = selection.Address
    esor = selection.Row
    eoszlop = selection.Column
    ucim = Mid(cim, InStr(1, cim, ":") + 1)
    ucim = Right(ucim, Len(ucim) - 1)
    uo_bet = Left(ucim, InStr(1, ucim, "$") - 1)
    usor = Right(ucim, Len(ucim) - InStr(1, ucim, "$")) * 1
   
    If Len(uo_bet) = 1 Then
        uoszlop = Asc(uo_bet) - 64
    Else
        uoszlop = (Asc(Left(uo_bet, 1)) - 64) * 26 + _
            Asc(Right(uo_bet, 1)) - 64
    End If
   
    For oszlop = eoszlop To uoszlop Step m_step
        Range(Cells(esor, oszlop), Cells(usor, oszlop)).Select
        selection.ClearContents
    Next
   
End Sub

Előzmény: NeomatiK (10177)
Delila_1 Creative Commons License 2009.09.21 0 0 10178

Semmi gond. :)

Nem jelent problémát az inputbox megírása, beleírtam. A felhasználó szempontjából kényelmesebb, mintha a makróban kellene mindig átírni az értékeket.

Lehet, hogy akad itt a fórumon olyan segítség, amivel az oszlopok sorszáma helyett a betűjelet kérhetnéd be, az még egyszerűbb lenne a használatnál – és nekem is jól jönne.

 

Sub Oszlopok_Clear()
    Dim kezd_oszlop, uoszlop, oszlop, m_step, kezd, usor As Integer
    kezd = InputBox("Melyik sortól kezdődjön a törlés?", _
        "Első törlendő sor", Default)
    usor = InputBox("Melyik sorig töröljem az adatokat?", _
        "Utolsó törlendő sor", Default)
    kezd_oszlop = InputBox("Melyik oszloptól kezdődjön a törlés? (számmal)", _
        "Első törlendő oszlop", Default)
    uoszlop = InputBox("Melyik oszlopig töröljem az adatokat? (számmal)", _
        "Utolsó törlendő oszlop", Default)
    m_step = InputBox("Mennyi legyen a lépés távolság", _
        "Lépés távolság", Default)
   
    For oszlop = kezd_oszlop To uoszlop Step m_step
        Range(Cells(kezd, oszlop), Cells(usor, oszlop)).Select
        Selection.ClearContents
    Next
End Sub

Előzmény: NeomatiK (10177)
NeomatiK Creative Commons License 2009.09.21 0 0 10177

Kedves Delila_1

 

Most már biztos elkívnász engem a francba, de azért remélem, hogy mégsem :)

 

Szóval az a nyűgöm, hogy nem jó ha az egész oszlop tartálmát törölné, mert sok adat is kárba veszne.

 

Tudnál olyat írni törlésre, mint a korábbi összeadós makró, amiben a sort és oszlopot is meg kell adni tól-ig?

Nem kell, hogy bekérje az adatot ablakban, majd átírom a makróban ezeket az értékeket, ha változna a táblázat terjedelme.

 

Kb így nézne ki amit kell törölni:

20. sortól 350-ig sorig

11. oszloptól 4 oszloponként 135. oszlopig.

 

 

 

 

 

Előzmény: Delila_1 (10176)
Delila_1 Creative Commons License 2009.09.21 0 0 10176

Két adatot kér be a makró: melyik az első törlendő oszlop, és mennyi a törlendő oszlopok távolsága.

 

Sub Oszlopok_Clear()
    Dim kezd_oszlop, uoszlop, oszlop, m_step As Integer
    uoszlop = ActiveSheet.UsedRange.Columns.Count
    kezd_oszlop = InputBox("Melyik oszloptól kezdődjön a törlés?(számmal)", _
        "Kezdő oszlop", Default)
    m_step = InputBox("Mennyi legyen a lépés távolság", _
        "Lépés távolság", Default)
   
    For oszlop = kezd_oszlop To uoszlop Step m_step
        Columns(oszlop).Select
        Selection.ClearContents
    Next
End Sub

Előzmény: NeomatiK (10168)
tbando Creative Commons License 2009.09.21 0 0 10175
Egér probléma lenne? Megnézem. Kösz.
Előzmény: NeomatiK (10174)
NeomatiK Creative Commons License 2009.09.20 0 0 10174
Nem lehet hogy az egérrel veszik össze? Időszakosan már előfordult nálam, hogy valami miatt az egeret megutálta gép :) Próbáld ki másik egérrel, hátha ez a gond.
Előzmény: tbando (10171)
blenessyb Creative Commons License 2009.09.19 0 0 10173
Köszönöm
Előzmény: Törölt nick (10172)
Törölt nick Creative Commons License 2009.09.19 0 0 10172
Eszközök -> Beállítások -> Általános fül -> S1O1 hivatkozási stílust kell kikapcsolni.
Előzmény: blenessyb (10170)
tbando Creative Commons License 2009.09.19 0 0 10171
Korábban én sem. Sőt, a nálam jóval szakértőbb barátaim sem. Egyikük megigérte, hogy átfésüli a netet, hátha talál rá valami információt. A többi excelemmel nincs baj, de azok nem ezen a partición vannak.

A legvalószínübb ok, hogy az Excel Adatelemzés bővítménye a windows által megnyitott valamelyik háttér programmal akad össze, pl tűzfal, vírusfigyelő, szótár, skype stb. Összeakad de nem mindig. Pl. az A és B oszlopokat jól jelöli ki, de a C helyett már a D-t, a D helyett az E-t stb.
Előzmény: NeomatiK (10169)
blenessyb Creative Commons License 2009.09.19 0 0 10170
Szevasztok!
Remélem tud valaki segíteni egy problémámmal. Az excel munkaoszlopai eddig betűkkel voltak jelölve, most nem tudom ilyen okból számozva vannak azok is mint a sorok. Hogyan lehet visszaállítani az eredeti állapotot?
NeomatiK Creative Commons License 2009.09.19 0 0 10169
Ilyet még nem tapasztaltam. Másik verziójú excel is csinál ilyet nálad?
Előzmény: tbando (10167)
NeomatiK Creative Commons License 2009.09.19 0 0 10168

Nagyon baba! Köszönöm szépen!!!!! A táblázat első néhány oszlopából kiderül, hogy meddig tart az egész táblázat, úgy hogy ez nem lesz gond.

 

 

Még lenne egy nagy kérésem! :)

 

Ezzel a szisztémával meg tudod írni, hogy törölje ki az oszlopokban a cellákat? Tehát ahová eddig az 1-eseket számolta össze, ott kéne törlést csinálni. Külön makróval gondoltam. Mert elvileg lehetne az általad írt makróba belevenni, hogy mielőtt összeszámolja az 1-eseket, töröljön ott minden adatot. De rugalmasabb ha külön makróban van, mert akkor más táblázatoknál is tudnám alkalmazni ezt a törlés funkciót.

Előzmény: Delila_1 (10165)
tbando Creative Commons License 2009.09.18 0 0 10167
Újra installáltam az office2003-t. De a hiba maradt. Hab a tortán, hogy a kijelölést mutató szaggatott keret sem igazodik a cellahatárokhoz. Kb egy fél cellával balra felfelé elcsúszik.
Előzmény: tbando (10166)
tbando Creative Commons License 2009.09.17 0 0 10166
Tapasztaltatok már ilyesmit?

Az excelem idáig a korrelációkat könnyedén számolta. Ezzel most sincs baj, de kb 1 hete megőrjít az adatkijelölésnél azzal, hogy ráklikkelek a cellára, de nem azt jelöli ki. Mi a franc lehet ennek az oka, és hogy lehetne reparálni?
Delila_1 Creative Commons License 2009.09.17 0 0 10165

Sub Oszlopok_1()
    Dim sor, summ, usor, oszlop, kezd As Integer
    kezd = InputBox("Melyik sortól kezdődjön az összesítés?", "Kezdő sor", Default)
    usor = InputBox("Melyik sorig készüljön az összesítés?", "Utolsó sor", Default)
   
    For oszlop = 11 To 135 Step 4
        For sor = kezd To usor
            If Cells(sor, oszlop) = 1 Then
                summ = summ + 1
            Else
                If summ > 0 Then Cells(sor - 1, oszlop + 1) = summ
                summ = 0
            End If
        Next
    Next
End Sub
.

Ennél inputbox kéri be a két adatot.

A hátulütője, hogy pl. megadod a 20. sort kezdőnek, de ha valamelyik oszlopban a 15:30 sorokban van 1-es, akkor hamis eredményt, 10-et ad a 15 helyett.

 

Előzmény: NeomatiK (10164)
NeomatiK Creative Commons License 2009.09.17 0 0 10164
Megint én.

Hogy teljes legyen, jobb lenne úgy hogy hányadik sortól hányadik sorig fusson le a makró a táblában. Ha azt bele lehetne írni a makróba... Köszi előre is.

Mert alatta is lesznek majd egyesek, amik mellé nem lenne jó, ha bármi kerülne.

Előzmény: NeomatiK (10162)
NeomatiK Creative Commons License 2009.09.17 0 0 10163
Igen :) Köszönöm neked is az eddigi és ezutáni :)) sok segítséget!
Előzmény: Törölt nick (10159)
NeomatiK Creative Commons License 2009.09.17 0 0 10162

Köszi, igen én is így gondoltam hogy más nevet adok a makrónak. De lehet inkább a 9789-est módosítom aszerint, hogy melyik oszloptól kezdje és melyik oszlopig csinálja. Így 1 makróm lesz lényegében, csak más tól-ig és step adatokkal.

 

 

Még annyit tudnál (lehet) módosítani, hogy a 9789-ben írt makróba beírni, hogy hányadik sortól kezdje? Ez is fontos lenne! :)

 

Mert a táblázatom első X sorában (mondjuk 25 sor) vannak 1-esek amik mellé nem kell írni semmit, mert azok nem számolandók így össze, mert más jellegű adatok. És ezen 1-esek oszlopa egybeesik a számolandó oszlopok valamelyikével. Remélem, érthető :)

 

Már csak amiatt is jó lenne ez, mert ha bővülne a táblázat újabb pl 2000 sorral, akkor nem vizsgálná elölről az egészet az oszlop tetejétől.

 

Vagy nem így működik a makró, hogy ha a kiértékelendő (1-eseket és ürec cellákat tartalmazó) oszlopok mellett ha van már érték, arra a területre nem fut le a makró? Vagy minden futtatáskor elejétől vizsgálja?

Előzmény: Delila_1 (10160)
NeomatiK Creative Commons License 2009.09.17 0 0 10161
Kipróbáltam, működik, köszi. Egyelőre maradok a makrós megoldásnál. Ha az valami miatt nem alkalmazható, akkor megnézem ezt és összehasonlítom az eredetivel, ami az oszlop tetejétől számol. Feltételezem, hogy ezzel kevesebb ideig számol a gép. Sőt, ha majd kicsit jobban ráérek, akkor mind a hármat összehasonlítom, melyikkel végez hamarabb a gép.
Előzmény: tbando (10157)
Delila_1 Creative Commons License 2009.09.17 0 0 10160

Kicsit frissebb fejjel megnézve a kérdésedet [a 20. oszlop után 10 oszlop kihagyás van, de onnantól megint 4 (vagy akármennyi) oszloponként kell ez a számítás]:

 

A 20. oszlopba állva futtatsd a 9786-os hozzászólásban lévő makrót, utána írd át a 9789-est úgy, hogy a 30. oszloptól kezdjen, és azt futtatsd le. Adj más címet is neki, nem lehet két azonos című makró egy füzetben.

Az első makró is inkább EgyOszlop névre, vagy valami hasonlóra hallgathat, mert már nem igaz, hogy csak a B oszlopra szól. :)

 

tbando

A függvényekkel az volt a baj, hogy a sok adat – sok függvény – miatt nagyon lelassult a frissítés.

Előzmény: NeomatiK (10155)
Törölt nick Creative Commons License 2009.09.17 0 0 10159
Azt hiszem, ezt most pihentetem, mert úgy látom, jó kezekben vagy.
Előzmény: NeomatiK (10145)
tbando Creative Commons License 2009.09.16 0 0 10158
Söt még egyszerübb az üres függvények=1 helyett az x<>1 használata.
Előzmény: tbando (10157)
tbando Creative Commons License 2009.09.16 0 0 10157
Látom már vannak príma makrós megoldások a feladatra. De azért ideteszem a magamét is az érdekesség kedvéért. Én 1 segédoszlop bevezetésével oldanám meg a feladatot. És 2 képlettel.

Amennyiben az 1-esek oszlopa az A10 celláról indul akkor a két képlet:

B10-be: =HA(ÜRES(A9)=IGAZ;1;B9+1)
C10-be: =HA(ÉS(ÜRES(A11)=IGAZ;A10=1);B10;"")

B oszlop a segédoszlop, ha akaros elrejted.
C oszlopban meg a megszámolt 1-k.
Előzmény: NeomatiK (10138)
Delila_1 Creative Commons License 2009.09.16 0 0 10156

Úgy érted, hogy a két futtatás között átírod a For oszlop kezdetű sor értékeit?

 

Nem törli a beírt adatokat. A makrót sem kell egyik füzetből a másikba átmásolgatni, mindig az aktuális füzet aktuális lapján hajtódik végre.

 

Mikor az Egyik.xls-ben van a makró, de meg van nyitva a Másik.xls is, és az az aktuális, a makró indításakor a Másik.xls aktív lapján fut.

Előzmény: NeomatiK (10155)
NeomatiK Creative Commons License 2009.09.16 0 0 10155
Értem, köszi!

És akkor az pl két makró egymás utáni lefuttatásával megoldható, hogy ha egy munkalapon belül 4 oszloponként kell ez a számítás, de a 20. oszlop után 10 oszlop kihagyás van, de onnantól megint 4 (vagy akármennyi) oszloponként kell ez a számítás?

Ha a fájl elmentése előtt törlöm a makrót, attól még a fájl a lefuttatott makró eredményeit nem törli, ugye?

Előzmény: Delila_1 (10154)
Delila_1 Creative Commons License 2009.09.16 0 0 10154

Bárhol állhatsz, és bővítheted a tábládat. A *-os sorban a 135 az EE oszlop, azt nem írtam az előbb. Lehet, hogy azt is kell módosítanod.

 

Azt, hogy melyik oszlop hányadik, legegyszerűbben úgy nézheted meg, hogy ráállsz az oszlopra, és a Beállítások Általános fülén bejelölöd az S1O1 hivatkozási stílust. Akkor a betű jelzés helyett az oszlop sorszámát írja ki felül.

Előzmény: NeomatiK (10153)
NeomatiK Creative Commons License 2009.09.16 0 0 10153

Ez überfankó!!!!! :)

Nagy-nagy-nagy köszönet!!!!!!!!!!!!

Hova küldjem a sört? :))

 

 

Itt mindegy, hogy melyik cellán állok? Főleg ha bővül a táblázat, akkor érdekes.

 

Előzmény: Delila_1 (10152)
Delila_1 Creative Commons License 2009.09.16 0 0 10152

Bele kellett vinni a szabályszerűséget, de *-okkal jeleztem, hol kell átírnod.

Itt a lépés (Step) 4, és a K oszloptól indulunk, ami a 11. Ezt a két adatot kell átírnod, amikor más fájlban teszteled. Nullákat nem ír.

 

Sub B_oszlop()
    Dim sor, summ, usor, oszlop As Integer
    usor = ActiveSheet.UsedRange.Rows.Count + 2
    For oszlop = 11 To 135 Step 4 '*********
        For sor = 2 To usor
            If Cells(sor, oszlop) = 1 Then
                summ = summ + 1
            Else
                If summ > 0 Then Cells(sor - 1, oszlop + 1) = summ
                summ = 0
            End If
        Next
    Next
End Sub

Előzmény: NeomatiK (10151)
NeomatiK Creative Commons License 2009.09.16 0 0 10151

Több ilyen fájlom is van, máshol vannak benne ezek az oszlopok.

 

Az egyik munkafüzetben, minden negyedik oszlop a K-tól (L-től):

 

32 oszlopban számolandó, ezekben vannak az 1-esek:

 

a K, O, S, W, AA, AE, AI, AM, AQ, AU, AY, BC, BG, BK, BO, BS, BW, CA, CE, CI, CM, CQ, CU, CY, DC, DG, DK, DO, DS, DW, EA, EE -ben az 1-esek

 

az 1-esek melletti összeg pedig ezekbe az oszlopokba kéne:

 

L, P, T, X, AB, AF, AJ, AN, AR, AV, AZ, BD, BH, BL, BP, BT, BX, CB, CF, CJ, CN, CR, CV, CZ, DD, DH, DL, DP, DT, DX, EB, EF

 

 

Ha erre megírnád, abból megpróbálnám átidomítani a többi fájlhoz. Lehetőleg úgy kérném, hogy a szabályszerűséget  - vagyis hogy itt ebben a példában minden negyedik oszlopnál számolandó - ne vedd bele, mert akkor nem fogom tudni testreszabni a többi fájlnál, mert azokban másképp követik egymást.

 

És ha bele tudnád írni, hogy ezekben az oszlopokban törölje a 0-kat, az tuti lenne!

 

Előzmény: Delila_1 (10150)
Delila_1 Creative Commons License 2009.09.16 0 0 10150
Add meg, melyik az a 60 oszlop.
Előzmény: NeomatiK (10147)
Delila_1 Creative Commons License 2009.09.16 0 0 10149

A nullák törlése:

 

Sub B_oszlop()
    Dim kezd, sor, összeg, usor, oszlop As Integer
    kezd = Selection.Row: oszlop = Selection.Column
    usor = Cells(65536, oszlop).End(xlUp).Row + 1
    For sor = kezd To usor
        If Cells(sor, oszlop) = 1 Then
            összeg = összeg + 1
        Else
            If összeg > 0 Then Cells(sor - 1, oszlop + 1) = összeg
            összeg = 0
        End If
    Next
End Sub

Előzmény: NeomatiK (10147)
Delila_1 Creative Commons License 2009.09.16 0 0 10148
Akkor ez már nem is jó, míg kerestem a billentyűket, kiderült, hogy több üres cella is lehet az 1-esek között.
NeomatiK Creative Commons License 2009.09.16 0 0 10147

Olyan utasítást nem lehet beleírni a makróba, hogy törölje a 0-kat a B oszlopból? Hozzáteszem nem értek hozzá, sajnos :-/

 

 

Az a helyzet, hogy több oszlopnál kéne ezt megcsinálni, hogyan lehet bővíteni ezt a makrót kiterjesztve a többi oszlopra? Mondjuk összesen 60 oszlopról van szó egy munkalapon belül.

Előzmény: Delila_1 (10141)
Delila_1 Creative Commons License 2009.09.16 0 0 10146

A 9775-ben azt írod, hogy sok oszlopban vannak ilyen adatok az A-n kívül. Van benne rendszer? Pl. minden harmadik oszlop tartalmaz 1-eseket, amik mellé oda kell íratni a darabszámot?

Az egyes oszlopokban azonos sorig vannak adatok?

 

Átírtam úgy a makrót, hogy ha a két fenti kérdésre nem a válasz, akkor is lehessen használni.

Vegyük példaként, hogy az A oszlop 1-esei mellé már 3000-ig be van írva a B-be az érték, és az A oszlopban még vannak adatok. Ekkor az A3001-en állva indítsd a makrót.

A D oszlopban is vannak adataid, itt a 20. sorig van az E oszlopban összegezve. D21-en állva ismét indítod. Tehát mindig az 1-eseket tartalmazó oszlopnak arra a cellájára állsz, ahova még a következő oszlopba nincs beírva az összeg.

 

Sub B_oszlop()
    Dim kezd, sor, összeg, usor, oszlop As Integer
    kezd = Selection.Row: oszlop = Selection.Column
    usor = Cells(65536, oszlop).End(xlUp).Row + 1
    For sor = kezd To usor
        If Cells(sor, oszlop) = 1 Then
            összeg = összeg + 1
        Else
            Cells(sor - 1, oszlop + 1) = összeg
            összeg = 0
        End If
    Next
End Sub

 

Előzmény: NeomatiK (10140)
NeomatiK Creative Commons License 2009.09.16 0 0 10145

A meglévő adatok már nem módosulnak, tehát utólag nem kell változtatni '15-ből 1 törlése' illetve 'egybeolvadás' elmélete szerint.

 

 

Igaz-e, hogy az A oszlopban csak 1-esek és üres cellák vannak?

igen

Igaz-e, hogy egymás után nincs két üres cella?
nem, több üres cella is követheti egymást

 

Lehet-e maximálni valahogy az egymás után következő 1-esek számát?

igen, ezért írtam a 30-as figyelést korábban, tehát max 30 db 1-es lehet

 

Több ilyen jellegű szabályszerűség nincsen.

Előzmény: Törölt nick (10144)
Törölt nick Creative Commons License 2009.09.16 0 0 10144
A szóban forgó algoritmus számára bemeneti adat mind az A, mind a B oszlopnak az adott cella fölötti része. Pl. a B147-es cella képletének bemenő adata az A1:B146-os terület. Ha itt változás történik, a képlet újraszámolódik. Valamint minden B147 alatti képlet is újraszámolódik. Sőt, azt hiszem, a B147 újraszámolása is kiváltja az összes B147 alatti képlet újraszámolását, de ebben nem vagyok biztos. Mindenesetre kaszkádnak tűnik. Minél több sor van, annál nagyobb szívás.

A gond az, hogy nem nagyon tudok elképzelni olyan képletet, ahol ne kellene végighivatkozni az egész A oszlopot, hiszen honnan tudnánk előre, hogy hány cellát kell a hivatkozásba belevenni?

Mert ugye a képleteknek automatikusan jelezniük kell a változást. Ha pl. egy 15 darabból álló sorozat közepén a 8. egyest töröljük, akkor a 7. egyes mellett meg kell jelennie egy hetesnek, illetve a 15. egyes mellett szintén egy hetesnek. De ha a 15 darabból álló sorozat fölé beírunk egy egyest, akkor a két sorozatnak egybe kell olvadnia. A Te példádon, ha az A oszlop összes üres cellájába 1-et írunk, akkor a B oszlop összes képletének újra kell számolódnia, hogy a mutatott érték helyes legyen. De ez csak akkor lehetséges, ha a képletek hivatkoznak minden olyan cellára, amelyektől az értékük függhet.

Esetleg el tudom képzelni, hogy a B oszlopra hivatkozást mellőzzük, de ehhez szükség van néhány megkötésre. Ilyenekre gondoltam:

Igaz-e, hogy az A oszlopban csak 1-esek és üres cellák vannak?
Igaz-e, hogy egymás után nincs két üres cella?
Lehet-e maximálni valahogy az egymás után következő 1-esek számát? (Pl. azt mondjuk, a feladat ismeretében, hogy nem lehetséges, hogy egymás után 42 egyesnél több legyen.)

Illetve bármi egyéb szabályszerűség, ami segíthet.

Vagy marad az a megoldás, amit Delila javasolt, hogy nincs automata követés, hanem gombnyomásra újraszámoljuk az egészet.

Vagy egy VBA felhasználói függvény, ami csak az A oszlopra hivatkozik. Valszleg az is gyorsabb lenne, mint a múltkori.

Előzmény: NeomatiK (10138)
NeomatiK Creative Commons License 2009.09.16 0 0 10143
Vagyis oda a 0-k nem kellenek.
Előzmény: NeomatiK (10142)
NeomatiK Creative Commons License 2009.09.16 0 0 10142

Őőőő , köszi :)
Kipróbáltam egy próba fájlon. Működik is azzal a kitétellel, hogy ahol az oszlopban több üres cella követi egmyást, ott az utolsó üres cella kivételével mellé 0-t ír. Így néz ki:

 

1

1  2

 

1  1

 

1  1

    0

    0

 

1  2

    0

 

1

1

1

1

1  5

 

1

1  2

(vége)

 

Lehet ezen segíteni?

Előzmény: Delila_1 (10141)
Delila_1 Creative Commons License 2009.09.16 0 0 10141

Állj az első olyan cellára, ahol még nincs beírva a B oszlopba az érték.

 

Ha még sehova sincs, akkor az első (vagy ha az címsor, a második) sor valamelyik cellájára.

A makró mindenhova beírja a B-be, amit kell, ameddig adatokat talál az A oszlopban.

Ha legközelebb tovább írod az A oszlopot, a 30001 sorra állj, és onnan folytatja a beírást. :)

Előzmény: NeomatiK (10140)
NeomatiK Creative Commons License 2009.09.16 0 0 10140
Mind a kb 30000 cellára álljak rá? Ezt nem szeretném :)
Előzmény: Delila_1 (10139)
Delila_1 Creative Commons License 2009.09.16 0 0 10139

Állj arra a cellára, ahol még nincs beírva az érték a B oszlopba, és indítsd az alábbi makrót:

 

Sub B_oszlop()
    Dim kezd, sor, összeg, usor As Integer
    kezd = Selection.Row: usor = Range("A65536").End(xlUp).Row + 1
    For sor = kezd To usor
        If Cells(sor, 1) = 1 Then
            összeg = összeg + 1
        Else
            Cells(sor - 1, 2) = összeg
            összeg = 0
        End If
    Next
End Sub

Előzmény: NeomatiK (10138)
NeomatiK Creative Commons License 2009.09.16 0 0 10138

Helló!

 

 

Korábban volt ez kérdésem (9294. hsz), hogy:

 

Adott egy oszlop, benne 1-esek és üres cellák.

Azt szeretném, hogy az egymást követő (vagyis két üres cella közti) 1-eseket összeadja a mellette lévő oszlopban, úgy hogy a legalsó cella mellé írja az összeget.

tehát így nézne ki:

 

A  B

 

1

1  2

 

1  1

 

1  1

 

1

1

1

1  4

 

1

1  3

 

 

erre kaptam (9297. hsz):

 

=HA(A2="";"";HA(A3=1;"";DARABTELI($A$2:A2;1)-SZUM($B$1:B1)))

 

 

(ez azt csinálja, hogy az A oszlopban lévő összes 1-esből kivonja a B oszlopban lévő számok összegét, amit beír abba a cellába, ami után az A oszlopban üres cella követ)

 

Na most az a bajom, hogy sok oszlopban alkalmazom, amik sok sorból állnak, nagyon sokáig lefogja a gépet, mert hogy ez a képlet az oszlop tetejétől számol, és ráadásul az adatbázis is bővül. Tehát gyakorlatilag fagy a gép tőle.

 

Kérdésem:

 

Lehet olyan függvényt kreálni, hogy ne az oszlop tetejétől számoljon, hanem ha pl a B4000 cellán vagyok akkor csak 30 cellára visszamenőlegesen?

 

Gondolkoztam rajta, de ez a fenti függvény leszűkítve 30 cellára nem lenne jó, mert ha az A oszlopban egymást követő egyesek között kezdődne a "30 cella figyelés", akkor ha kivonom belőle a B oszlopan a B4000 cella fölötti 30 cella összegét, akkor az téves eredményt ad.

Ki lehet ezt küszöbölni? Légyszi segítsetek! :)

 

 

Előzmény: Törölt nick (9561)
Törölt nick Creative Commons License 2009.09.15 0 0 10137
Hát igen, ez valóban jobb ötlet. Köszönöm! :-)
Előzmény: Törölt nick (10136)
Törölt nick Creative Commons License 2009.09.15 0 0 10136
A Locked tulajdonságot kell True-ra állítani.
Előzmény: Törölt nick (10135)
Törölt nick Creative Commons License 2009.09.15 0 0 10135

Közben kisütöttem valamit, de hátha van valakinek jobb ötlete:

 

Private Sub TextBox10_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 If KeyCode <> 37 And KeyCode <> 39 Then
   KeyCode = 0
 End If
End Sub

Előzmény: Törölt nick (10134)
Törölt nick Creative Commons License 2009.09.15 0 0 10134
Ismét csak segítséget szeretnék kérni, adott egy TextBox (MultiLine = true), ahol le szeretném tiltani a módosítási (felülírás, törlés...stb.) lehetőségeket, de nem szeretném, ha inaktív lenne (Enabled = false), mert hosszabb szöveget is tartalmazhat és ezt jó lenne görgetve látni. Meg lehet oldani ezt valahogy?

Előre is köszönöm.

Előzmény: Törölt nick (10127)
gabszak Creative Commons License 2009.09.15 0 0 10133
kivéve, ha tartomány cellái általános vagy szám formátumúak. :) szövegként megy. (rájöttem, hogy hülye voltam)
Előzmény: Delila_1 (10114)
blaszlo7 Creative Commons License 2009.09.15 0 0 10132
Szia Jimmy the Hand.

Tiszteletre méltó a hozzáállásod. Én is ezt vallom, de a mai pénzéhes világban …..

Biztatásodra egy levelet írtam neked a fellelhető e-mail címedre.

Köszönöm
Előzmény: Törölt nick (10131)
Törölt nick Creative Commons License 2009.09.14 0 0 10131
Mások nem ilyen szégyenlősek, és jól teszik. Csak annak van esélye választ kapni, aki kérdez. Itt a tudást ingyér osztják, és 9700 hsz fölött van már a topik, ha érted, mire gondolok.

Egyébként ne hidd, hogy amit itt csinálunk, az ellenérték nélkül marad. Például, ha én itt segítek Neked, azt majd Te szépen továbbadod valaki másnak, egy olyan területen, amihez Te értesz, ő pedig nem. Aztán ő megint másnak adja tovább, és ez a láncreakció előbb-utóbb visszaér hozzám. Ez kozmikus törvény.
Előzmény: blaszlo7 (10130)
blaszlo7 Creative Commons License 2009.09.14 0 0 10130
Szia Jimmy the Hand. Sziasztok.

Igaz nem nekem válaszoltál, de mivel a válasz engem érint, ezért nagyon szépen megköszönöm a segítségedet.
Testhez álló kérdések biztosan lennének, de egy komplex feladatot nem nagyon merünk kérdezni, hiába egy nonprofit baráti társaság hobby tevékenységéhez kellene, mivel a tudás pénz, amiből sajnos a legkevesebb van.

Köszönöm még egyszer.
Előzmény: Törölt nick (10107)
Garffi Creative Commons License 2009.09.14 0 0 10129
Igen válaszoltam is rá! :)
Előzmény: Delila_1 (10128)
Delila_1 Creative Commons License 2009.09.14 0 0 10128
Megkaptad az e-mail-t?
Előzmény: Garffi (10125)
Törölt nick Creative Commons License 2009.09.14 0 0 10127
Szívesen. Végre valami nekem való kérdés ;)
Előzmény: Törölt nick (10126)
Törölt nick Creative Commons License 2009.09.14 0 0 10126
Nagyon szépen köszönöm!
Előzmény: Törölt nick (10120)
Garffi Creative Commons License 2009.09.14 0 0 10125
Kedves Delila_1 !!

Hát nem is tudom hogy köszönjem meg!
Sikerült minden!!!!!!!!!!!!!!!!
Nagyon segítőkész vagy! KÖSZÖNÖM SZÉPEN!! (és a képfeltöltési tanácsot is) :) :)

Ezer hála! Üdv! Garffi!
Előzmény: Delila_1 (10122)
Delila_1 Creative Commons License 2009.09.14 0 0 10124

Ez nem az én napom.

A 6-os érték nem H1-be, hanem H6-ba kerül, az F pedig az I6 cellába.

:(

Előzmény: Delila_1 (10122)
HungF Creative Commons License 2009.09.14 0 0 10123
Van egy tábla. Kb fél éve készült. Azóta az adatok folyamatosan kerültek rá.
Viszont dátum sosem lett melléírva, h melyik adat, mikor került bele a táblába.
Kérdés.. Tudja-e vki, hogy milyen billentyűkombinációval lehet megtudni, hogy egy adat mikor került egy cellába?

Köszi
Delila_1 Creative Commons License 2009.09.14 0 0 10122

Javítás:

Az FKERES függvényhez a tartomány $H$1:$I$6 legyen, H1 értéke 6, I1 értéke F.

Delila_1 Creative Commons License 2009.09.14 0 0 10121

 

Ki kell keresnünk a megfelelő sort, és oszlopot (E12 és E13).

Az oszlopnál az FKERES függvény kikeresi a számhoz tartozó betűjelet.

Az INDIRET függvény megadja az oszlop és sor metszetében lévő értéket.

 

Off:

Képet a saját gépedről is fel tudsz tölteni.

Új kép, Tallózás, Feltölt, beszúrás.

Előzmény: Garffi (10119)
Törölt nick Creative Commons License 2009.09.14 0 0 10120
"Ezt hol tudom állítani? Mondjuk, a Me.ComboBox1.RowSource = "'Munka1'!A1:B5" tartományból veszi az adatokat, de azt szeretném, hogy a B oszlopban lévő adatok jelenjenek meg a választáskor."

Például:
Me.ComboBox1.ColumnWidths = "0;100"

A 0 (nulla) az A oszlop adatait elrejti, a 100 pedig a B oszlop adatait mutatja meg. Ez utóbbi adat tényleges értéke attól függ, hogy milyen széles szövegeket akarsz megjeleníteni. Igény szerint módosíthatod. A ColumnWidths tulajdonságot tervező módban is beállíthatod, ha van értelme (ha a RowSource-t nem változtatgatod nyakra-főre).

"A választás után, hogy tudom lekérdezni a kiválasztott értékhez tartozó "A" oszlopbeli értéket?"

A felhasználó a ComboBox-ban valójában egy sort választ ki. A ComboBox értéke az az érték lesz, ami a kiválasztott sor és a BoundColumn tulajdonság által meghatározott oszlop metszetében van.
A Te konkrét példádban be kell állítani a BoundColumn tulajdonságot 1-re, mert A1:B5 tartományban az A az első oszlop, és Neked ez kell. Ha tehát 1-re van állítva, akkor a felhasználó által kiválasztott B értékhez a ComboBox1.Value érték tartozik az A oszlopban.

A BoundColumn tulajdonság egyaránt beállítható tervező módban és kóddal is. Ez utóbbi esetben arra kell vigyázni, hogy a tulajdonság beállítása (tehát már az is, ha nem módosítod, hanem ugyanazt az értéket állítod be) kiváltja a ComboBox Change eseményét.
Előzmény: Törölt nick (10113)
Garffi Creative Commons License 2009.09.14 0 0 10119
Delila_1 köszönöm a gyors választ. Ez így jó is lenne, de nekem szükségem van a sor és oszlopok sorszámaira. Ugyanis nagyon sok név van felsorolva és gyorsabb ha számokat ütök be mint kiírjam a neveket.
Megkérnélek leírnád a bonyolultabb megoldást az oszlop és a sor számokkal?

Köszönöm szépen! :)
Delila_1 Creative Commons License 2009.09.14 0 0 10118

Bármilyen hihetetlen, elég ennyit beírni: =Peti ló, vagyis az oszlop-, ill. sor címét, szóközzel elválasztva. A sorszámokat tartalmazó sorra és oszlopra sincs szükség.

Ez a példa a szóköz-, más néven metszer operátor alkalmazására jó példa.

Sokkal bonyolultabban is meg lehet oldani. :)

 

Előzmény: Garffi (10117)
Garffi Creative Commons License 2009.09.13 0 0 10117
[url=http://kepfeltoltes.hu/view/090913/762252560n_vtelen_www.kepfeltoltes.hu_.jpg][img]http://kepfeltoltes.hu/thumb/090913/762252560n_vtelen_www.kepfeltoltes.hu_.jpg[/img][/url]
A képet a Képfeltöltés.hu tárolja. [url=http://www.kepfeltoltes.hu]http://www.kepfeltoltes.hu[/url]

http://kepfeltoltes.hu/090913/762252560n_vtelen_www.kepfeltoltes.hu_.jpg

na most remélem már belinkeltem a képet. Bocs!
Garffi Creative Commons License 2009.09.13 0 0 10116
itt a kép :)
Garffi Creative Commons License 2009.09.13 0 0 10115
Sziasztok!

A képen található problémára szeretnék megoldást!
Köszönöm!
Delila_1 Creative Commons License 2009.09.13 0 0 10114

=DARABTELI(A:A;"A*")

 

Az A oszlop adatai közül az A-val kezdőődeket számlálja össze.

Előzmény: gabszak (10110)
Törölt nick Creative Commons License 2009.09.13 0 0 10113

Köszönöm szépen!

 

"Ha több oszlopod van, és valamelyiket nem akarod megmutatni, akkor egyszerűen nullára állítod a szélességét."

 

Ezt hol tudom állítani? Mondjuk, a Me.ComboBox1.RowSource = "'Munka1'!A1:B5" tartományból veszi az adatokat, de azt szeretném, hogy a B oszlopban lévő adatok jelenjenek meg a választáskor.

 

A választás után, hogy tudom lekérdezni a kiválasztott értékhez tartozó "A" oszlopbeli értéket?

Előzmény: Törölt nick (10112)
Törölt nick Creative Commons License 2009.09.13 0 0 10112
A ColumnCount tulajdonság adja meg az oszlopok számát. A ColumnWidths állítja be a szélességüket (azt hiszem, pixelben). Ha több oszlopod van, és valamelyiket nem akarod megmutatni, akkor egyszerűen nullára állítod a szélességét. A BoundColumn tulajdonság adja meg, hogy melyik oszlopból jön az érték, amikor a felhasználó kiválasztja a sort.
Előzmény: Törölt nick (10111)
Törölt nick Creative Commons License 2009.09.13 0 0 10111
Azt hogyan lehet megoldani egy ComboBox-al, hogy egy munkafüzet két oszlopából vegye az értékeit (mondjuk A és B oszlopából), de a választási lehetőségenél csak az egyik oszlop értékei látszanak? A választás után persze minkét értékre szükség lenne.
Előzmény: Törölt nick (10106)
gabszak Creative Commons License 2009.09.13 0 0 10110
hali
darabteli függvény kritériumánál hogyan kell használni a csillagot?
idézőjelek nélkül hibásnak írja ki a képletet, idézőjelekkel viszont nem működik (vagyis eredeti funkciója helyett azokat a cellákat keresi, amelyek tartalmazzák a csillag karaktert). ötlet?
Törölt nick Creative Commons License 2009.09.13 0 0 10109
Nagyon jó, köszönöm szépen!
Előzmény: Törölt nick (10106)
Törölt nick Creative Commons License 2009.09.12 0 0 10108
Hű, de jó.
Néztem az egyéni számformátum beállításokat, de ez csak úgy magamtól nem jutott eszembe:)
Előzmény: Törölt nick (10107)
Törölt nick Creative Commons License 2009.09.12 0 0 10107
Ha a cella számformátumát erre állítod: óó:pp:mm,000
akkor látszanak az ezredmásodpercek is, ki is lehet vonni őket. Lásd a képen az A4 cella képletét.
Előzmény: Törölt nick (10105)
Törölt nick Creative Commons License 2009.09.12 0 0 10106
A felfelé nyíl billentyűkódja 38. Tehát:


******************************************
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 Then TextBox2.Enabled = False
End Sub

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox2.Enabled = True
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 Then ComboBox1.Enabled = False
If KeyCode = 38 Then TextBox1.Enabled = False
End Sub

Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
ComboBox1.Enabled = True
TextBox1.Enabled = True
End Sub
******************************************
Előzmény: Törölt nick (10104)
Törölt nick Creative Commons License 2009.09.12 0 0 10105
Az excel időformátumai nem kezeleik a századmásodpercet.
Írd külön cellába a századmásorpercet.
A szmp nélküli időértékeket egyszerűen ki tudod vonni egymásból, megkapva a különbségüket. A szmp-et pedig kivonod külön.
(A cella formátumát ne felejtsd el "Idő"-re állítani a szmp nélküli időértékeknél)
Előzmény: blaszlo7 (10102)
Törölt nick Creative Commons License 2009.09.12 0 0 10104

Szia Jimmy!

 

Köszönöm ez működik itt a 2007-ben, csak a TextBox2-nél az elv alapján sehogy sem tudom beilleszteni, hogy felfelé billentyűre ne lépjen vissza a TextBox1-re. A lényeg az lenne, hogy a TextBoxokból csak Tab-al lehessen kilépni.

Előzmény: Törölt nick (10103)
Törölt nick Creative Commons License 2009.09.12 0 0 10103
Itt egy lehetséges megoldás. Az elv az, hogy amikor a lefelé nyilat nyomja a felhasználó, letiltjuk az adott vezérlőelem alatti vezérlőelemet. Amikor elengedi a billentyűt, akkor újra engedélyezzük. Ezért tehát a kód szempontjából fontos, hogy milyen sorrendben vannak a vezérlők egymás alatt. Ha például az alábbi vezérlők vannak az alábbi sorrendben

felül: TextBox1
középen: TextBox2
alul: ComboBox1

akkor a TextBox1 eseménykezelőjében a TextBox2-t kell letiltani majd engedélyezni. VBA:
************************************
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 Then TextBox2.Enabled = False
End Sub

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox2.Enabled = True
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 40 Then ComboBox1.Enabled = False
End Sub

Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
ComboBox1.Enabled = True
End Sub
************************************
(KeyCode = 40 a lefelé nyíl kódja.)

Na most, ez biztosan működik 2003-as Excelben, teszteltem. Viszont elképzelhető, hogy 2007-ben valami változás volt, pl. ha TextBox2 le van tiltva, akkor továbblép ComboBox1-re, ezt nem tudom. De ezen az elven akkor is lehet működő kódot alkotni, csak kicsit bonyolultabb lesz.
Előzmény: Törölt nick (10101)
blaszlo7 Creative Commons License 2009.09.12 0 0 10102
Sziasztok.

Szeretném a segítségeteket kérni abban, hogy az Excel, meg tudja e állapítani az alábbi két idő különbségét, valamint azt, hogy melyik a kevesebb idő? Össze tudja e őket adni? Ha igen, akkor ezt, hogyan teszi?

1:04:12.041
1:04:12.061

Előre is köszönöm a válaszotokat.

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!