Keresés

Részletes keresés

Törölt nick Creative Commons License 2008.11.04 0 0 8186
Szerintem próbáld ki a célértékkeresőt. (Eszközök->Célértékkeresés...)
A célcella legyen a G1, a módosuló cella a H1, a célérték pedig 1.
Előzmény: repuleskepekben (8185)
repuleskepekben Creative Commons License 2008.11.04 0 0 8185

Sziasztok!

 

Lenne egy kérésem, nem tudom, hogy ez az excelben megoldható-e.

 

A következő:

 

 

Van benne egy léptető, amely a H1 cella értékeét változtatja.

Ez a H1 cella értéke K és az L oszlopokkal van összefüggésben.Azaz jelenleg a H1 cella értéke 234, ami a K oszlopban 234-nél a vele azonos sorban lévő érték 67.

 

A K oszlop állandó értékek, de az L oszlop változó értékek vannak,amelyek egy másik cella értéke alapján más lehet, bár ezt most nem tüntettem fel itt.

 

A 234 érték ugye jelenleg a 67-et hozza, amit behelyettesít a D oszlopba.

 

Az A , B , C, D oszlopok értékei soronként össze vannak adva,ami az E oszlopban jelenik meg.

 

Az F oszlopban meg HA függvény található, amely a G4-es cellával van összefüggésben, aminek az értéke szintén változó érték ,ami változtatható, de itt most 1160.Ennek hatására abban a sorban megjelent egy 1-es, ahol a G4 cella értéke megyegyezik.Ez az 1 es szám van ott megjelenitve a G1 cellában.

 

A művelet a következő:A léptetőt 1-es értékről indulva léptetjük, ami D , és az E oszlopban folyamatosan változik.De a G4 es oszlopba beírunk egy tetszőleges értéket, ami itt 1160, és a léptetőt addig léptetük, mig nem talál olyan sort, ami megfelel a G4 cella kritériumának, és ha megfelel akkor a HA függvény segítségével megjelenik az adott sorban az 1 szám, ami összesítve megjelenik a G1 cellában.

 

A léptetőt meg addig léptetjük, amig itt a példán 234 értékre nem ér,mert itt adta ki előszőr azt a sort, ahol egyezés van.

 

Ez volt a leírása a dolognak, és most jönne a kérdésem.

 

Lehet-e olyat csinálni, hogy H1 cella értékét 1-től kezdve az excel automatikusan 1-el növekedve addig helyettesítse be magának, mig el nem ér addig, ahol egyezés található, azaz itt a 234 értékig.Mert a léptetőt nem akarom egyfolytában nyomni, és figyelni, hanem helyettesítsen be magától, és ott ahol megfelelnek a feltételek, ott álljon meg.

 

Remélem nem ilyet tud az excel, és nem csak álmodozom...

 

Előre is köszönöm a segítséget.

 

 

Törölt nick Creative Commons License 2008.11.04 0 0 8184
Egyébként elnézést kell kérjek, mert ezt pusztán kíváncsiságból kérdeztem - és nem kell használnom (egyelőre) sehol.
Előzmény: Törölt nick (8178)
Törölt nick Creative Commons License 2008.11.04 0 0 8183
Ezt sajnos nem tudtam megnézni, nem jön be az oldal.
De nézd meg ezt:
www.tar.hu/exalto/excelpackman.rar

Jimmy:
A kód ebben elérhető
Előzmény: Jozsef (8180)
Törölt nick Creative Commons License 2008.11.04 0 0 8182
De durva. Azt gondoltam, hogy erre lesz egy tulajdonság, aztán kész - amit ki lehet fejezni 1-2 rövid sorral.
Erre ( ha jól értem a kódot) az oldaltörés szélétől kell kiszámolgatni a cella helyét.
Előzmény: Törölt nick (8178)
Törölt nick Creative Commons License 2008.11.04 0 0 8181
Kár, hogy nem színes :)
Előzmény: Jozsef (8180)
Jozsef Creative Commons License 2008.11.04 0 0 8180
Törölt nick Creative Commons License 2008.11.04 0 0 8179
Ja még annyit, hogy a bemenő paraméter Range típusú, tehát meghívható úgy is, hogy pl.
MsgBox Oldalszám(Workbooks("akármi.xls").Sheets("Munka1"):Range("AB1234"))
Előzmény: Törölt nick (8178)
Törölt nick Creative Commons License 2008.11.04 0 0 8178
Aprócseprő válasz, és nem tökéletes.

Function Oldalszám(Cella As Range)
Dim SavedBckp As Boolean, EmptyCell As Boolean, WS As Worksheet
Dim HPB As HPageBreak, VPB As VPageBreak
Dim HCount As Long, VCount As Long, i As Long

Set WS = Cella.Parent
SavedBckp = WS.Parent.Saved

If Cella = vbNullString Then EmptyCell = True
If EmptyCell Then Cella = 1
For i = 0 To WS.HPageBreaks.Count - 1
If Cella.Row < WS.HPageBreaks(i + 1).Location.Row Then Exit For
Next
HCount = i

For i = 0 To WS.VPageBreaks.Count - 1
If Cella.Column < WS.VPageBreaks(i + 1).Location.Column Then Exit For
Next
VCount = i

If WS.PageSetup.Order = xlDownThenOver Then
Oldalszám = VCount * (WS.HPageBreaks.Count + 1) + HCount + 1
Else
Oldalszám = HCount * (WS.VPageBreaks.Count + 1) + VCount + 1
End If

If EmptyCell Then Cella = vbNullString
WS.Parent.Saved = SavedBckp

End Function


Sub teszt()
MsgBox Oldalszám(Range("W67"))
End Sub


Az Excelben van egy "beépített" hiba az oldaltörések kezelésében. Bizonyos esetekben előfordulhat, hogy a fenti program kiakad. Más esetekben pedig hibás eredménnyel tér vissza. Ez utóbbi akkor fordul elő, amikor a táblázat utolsó értéket tartalmazó sora éppen egy vízszintes törésvonal fölött van, illetve az utolsó értéket tartalmazó oszlop éppen függőleges egy törésvonal előtt.
Biztosan ezt is le lehet kérdezni, de arra most nem fussa.
Egyéb esetekben szerintem jól működik.
Előzmény: Törölt nick (8177)
Törölt nick Creative Commons License 2008.11.04 0 0 8177
Aprócseprő kérdés, de próbálkozásaim, keresgéléseim ellenére sem sikerült:

Hogy lehetne lekérdezni azt, hogy egy cella melyik oldalszámra esik
(oldaltörés szerinti oldalszám)
Törölt nick Creative Commons License 2008.11.04 0 0 8176
A groupweb előtt a backslasht duplán kell kitenni, az index ezt lenyelte...
Előzmény: Törölt nick (8175)
Törölt nick Creative Commons License 2008.11.04 0 0 8175

Hátha valakinek még segítség lesz, több különböző probálkozás eredményre vezetett:

 

Sub Lista()

 

  ListaAdat = 0

  tmp = "\groupweb\mappa1\mappa11\mappa111\"

 

  FN = Dir(tmp & "*.xls", vbNormal)

 

  Do While FN <> ""

    MsgBox FN

    FN = Dir()

    ListaAdat = ListaAdat + 1

  Loop

 

End Sub

Előzmény: Törölt nick (8172)
Törölt nick Creative Commons License 2008.11.03 0 0 8174
Köszönöm, próbálkozom vele.
Előzmény: Törölt nick (8173)
Törölt nick Creative Commons License 2008.11.03 0 0 8173
Én még ilyet nem próbáltam, de a neten ezt találtam.
Előzmény: Törölt nick (8172)
Törölt nick Creative Commons License 2008.11.03 0 0 8172
Sziasztok!

 

A következő problémában szeretnék segítséget kérni:

 

Adott egy Microsoft Office SharePoint Portal Server 2003 tárhely, ahonnan hiba nélkül tudok egyenként excel fájlokat megnyitni az alábbi utasítással:

Workbooks.Open Filename:= "http://groupweb/mappa1/mappa11/mappa111/teszt1.xls"

 

Ami probléma, az a tárhelyen található *.xls fájlok listázása, az alábbi eljárás Run-time error 52 (Bad file name or number) hibaüzenettel akad ki.   

 

Tudna valaki segíteni?

 

Sub Lista()

 

  ListaAdat = 0

  tmp = "http://groupweb/mappa1/mappa11/mappa111/"

 

  FN = Dir(tmp & "*.xls", vbNormal)

 

  Do While FN <> ""

    MsgBox FN

    FN = Dir()

    ListaAdat = ListaAdat + 1

  Loop

 

End Sub

Törölt nick Creative Commons License 2008.11.02 0 0 8170
A Worksheet_SelectionChange eseménykezelő, mint a neve is mutatja, akkor aktiválódik, amikor a munkalapon megváltozik a kijelölés. Tehát pl. másik cellába kattintasz.

A Worksheet_Change eseménykezelő ezzel szemben akkor aktiválódik, amikor a munkalapon bármelyik cella tartalma változik meg.

Mindkettőnek van egy Target nevű "paramétere", amely egy Range típusú objektum, és az első esetben az újonnan kijelölt, a második esetben az éppen megváltozott tartományt tartalmazza. Ha pl. az A1 cellába írsz 1-et, akkor a Worksheet_Change eseménykezelő esetében a Target az A1 cella lesz, és a pl. a következő értékek olvashatók ki belőle
Target.Address = $A$1
Target.Value = 1
Target.Interior.ColorIndex = ... (az aktuális színkód)
stb.

Ha azt akarod, hogy cellától függjön, hogy az eseménykezelő lefut-e, akkor így lehet eljárni:
If Target = Range("A1") Then
(lefut)
Else
Exit sub
End If

Előzmény: Gavriel (8169)
Törölt nick Creative Commons License 2008.11.02 0 0 8168
Miért nem a Worksheet_Change eseményt használod?
Előzmény: Gavriel (8167)
Sánta Kutya (SK) Creative Commons License 2008.11.02 0 0 8166
Vszleg számformátumban adta meg az eredményt, tehát a célcella formátumát kellene időre állítani.
Előzmény: Gavriel (8165)
Jozsef Creative Commons License 2008.10.29 0 0 8164
Nem értem hogyan, mert ellentmond a józan észnek, hiszen a képlet csak az adatbázis második sorára hivatkozik, nincs definiált mezőnév de működik. >:o)
Hát, ez az Excel... Különben hogyan is lenne több, mint nyolcezer hozzászólás ebben a topikban :))
Előzmény: E.Istvan (8163)
E.Istvan Creative Commons License 2008.10.28 0 0 8163

Hálás köszönetem. A 3613-as hozzászólásod.

 

Tehát alapesetben a feltételnek úgy kellene kinézni, hogy az első sor tartalmazza a mezőnevet ami azonos az adatbázis első sorában lévő névvel a második sortól pedig kezdődnének a feltételek.

Azonban ha képletet akarunk megfogalmazni, akkor az első sort (D25) hagyjuk üresen a második sorba (D26) pedig írjunk be egy képletet, melynek igaz vagy hamis lehet az eredménye. Jelen esetben a problémás oszlopom az adatbázisban az E oszlop. Tehát a feltételbe ezt kell beírnom: =Adatbázis!E2<>"987" és már működik is. Nem értem hogyan, mert ellentmond a józan észnek, hiszen a képlet csak az adatbázis második sorára hivatkozik, nincs definiált mezőnév de működik. >:o) Így a =AB.SZUM(alapadatok;"Érték";Feltételek!D25:D26) eredménye az összes rekord kivéve a 987-esek.

 

Előzmény: Jozsef (8162)
Jozsef Creative Commons License 2008.10.28 0 0 8162
Az általad említett logikai és információs függvényeket csak magában az adatbázisban használhatnám, de oda nem lehet annyi oszlopot és annyi logikai feltételt beírni, amennyi
Valamelyik régebbi hozzászólásomban leírtam, hogyan lehet függvényeket használni a feltételtáblában a szűrőfeltétetel megadására, keress rá, nagy valószínűséggel megoldja a problémádat.
Előzmény: E.Istvan (8159)
Sánta Kutya (SK) Creative Commons License 2008.10.28 0 0 8161
Szerintem passz. Inkább átadnám valakinek a telefont.
Előzmény: E.Istvan (8159)
Delila_1 Creative Commons License 2008.10.28 0 0 8160

1. Nyiss egy új füzetet.

2. Formázd meg kedved szerint (pl. a cellák szöveg formátumúak, kedvenc betűtípusod, függőlegesen középre, szegélyek, stb.).

3. Mentés másként,  a fájlnév Munkafüzet, a fájltípus xlt legyen, a helye pedig

C:\Document and Settings\Felhasználó\Application Data\Microsoft\Excel\XLSTART

 

Az Excel újraindítása után minden újonnan megnyitott füzeted ezt a formát veszi fel.

 

Előzmény: egoman (8147)
E.Istvan Creative Commons License 2008.10.28 0 0 8159

Mint írtam adatbázis függvény szűrési feltételeivel van probléma.

Az adatbázis egy 50000 sorból és 21 oszlopból áll. Ebből kell adatbázis függvényekkel egy kész jelentést készíteni. Az egyes adatok bonyolult szűrési feltételekkel állnak elő, melynek egy csekély része ez a korábban említett kizárás.

 

Az általad említett logikai és információs függvényeket csak magában az adatbázisban használhatnám, de oda nem lehet annyi oszlopot és annyi logikai feltételt beírni, amennyi feltételt meg kellene fogalmaznom. (Legalábbis úgy értettem, hogy oda írjam be ezeket a függvényeket és arra az új oszlopra hivatkozzak a feltételnél.)

 

Ez a problémás oszlop 3 karakterből álló kombináció, melyben lehet szöveges és számos karakter is. A 987 csak egy példa volt.

 

Mellesleg már kipróbáltam mindegyik említett függvényt és mindegyik azt az információt adja vissza, hogy a cellában szöveg található, hiszen a cellában található érték egy szövegfüggvény eredménye.

 

Tehát problémás képlet a

=AB.SZUM(alapadatok;"Érték";Feltételek!D25:D26)

melyben a D25:D26 a feltétel lenne. Ez a feltétel majd több oszlopból és sorból állna, de most maradjunk csak ennél az egy problémás feltételnél. A D25 a mezőnév, a D26 a feltétel, ami a példa kedvéért <>987 lenne, de ez nem működik, mert nem zárja ki a 987-es rekordokat. Hogy tudnám megadni, hogy a <>987 feltételben lévő karakterek, (jelen esetben a 987) szövegként értelmezendők és nem számként. (Az idézőjelekre sem működik <>"987"

 

Lehet, hogy a végén nem marad más hátra, mint hogy magában az adatbázisban kell megoldanom, hogy ha az adott cellában csak szám karakterek szerepelnek, akkor az legyen számmá alakítva az ÉRTÉK függvénnyel, ha viszont van benne betű is (5P9) akkor maradjon szöveg.

Előzmény: Sánta Kutya (SK) (8157)
Sánta Kutya (SK) Creative Commons License 2008.10.28 0 0 8158
Bocsi, ezek nem a logikai, hanem az információs függvények.
Előzmény: Sánta Kutya (SK) (8157)
Sánta Kutya (SK) Creative Commons License 2008.10.28 0 0 8157
Most akkor kell a 987 vagy nem kell? Ha kell, akkor valami olyannal próbálkoznék, hogy ÉS(B1=987;SZÁM(B1))
A lényeg, hogy a logikai függvények segíthetnek, nézd meg ezeknek a súgóját:
SZÁM
NEM.SZÖVEG
TÍPUS
Előzmény: E.Istvan (8156)
E.Istvan Creative Commons License 2008.10.28 0 0 8156

Üdv mindenkinek!

 

Átolvasgattam a forumokat és itt találtam sok okos embert, akik talán tudnak segíteni nekem is. :)

 

Van egy adatbázisom. Az egyik oszlopban szövegfüggvényekkel előállított adatok találhatóak. Például AAA és 987. Mivel ezek szövegfüggvényekkel vannak előállítva, ezért a 987-et nem számként, hanem szövegként értelmezi az excel (balra van rendezve). Ennek így is kellene maradnia.

 

Most adatbázis függvényyel szeretnék számolni. Ha a feltételt tartalmazó cellába 987-et írok összeszámolja a 987-es szöveget tartalmazó rekordokat annak ellenére, hogy a feltétel cellában lévő 987-es érték szám és nem szöveg. (cellaformátum általános és a beírt értéket jobbra rendezi az excel) Most szeretném kizárni a 987-es rekordokat. Ha a <>987 értéket írom a feltételbe, akkor eredménynek az összes rekordot kapom. valószínűleg azért mert az excel úgy "találja", hogy 987-es számot nem tartalmaz az adatbázis, ami igaz is mert csak 987-es szöveget tartalmaz. A <>"987" sem működik. Tud valaki valamilyen megoldást? Úgy rémlik, hogy kb 6 évvel ezelött ezt már sikerült megoldanom, igaz akkor még 95-ös excelben, most meg 2003-as van. Lebutult az excel?

Természetesen megoldás lehetne hogy két képlettel számolom ki a kívánt értéket. Az összes rekordból kivonom a 987-es rekordok értékeit, de más okok miatt szükségem van rá hogy a kizárás <> feltételt használjam.

Sánta Kutya (SK) Creative Commons License 2008.10.28 0 0 8155
A listák rendezgetése szerintem teljesen korrekt táblázatkezelési feladat. Nekem is az Excel jut eszembe először az ilyenről.
Előzmény: egoman (8154)
egoman Creative Commons License 2008.10.28 0 0 8154

Köszönöm a tanácsokat! Tényleg valami olyasmit vártam, hogy itt tegyél egy pipát, vagy onnan vegyed ki, és kész. Azért lett jó ötlet!

 

Igazából -mint nagyon sokan- nem arra használom az exelt, amire ki van találva. Különböző listákat irogatok bele, ezeket rendezgetem különböző szempontok alapján. Meg számológépnek is használom.  :) 

Törölt nick Creative Commons License 2008.10.28 0 0 8153
"Én legalábbis nem találtam a 2000-esben,"

Én sem 2003-ban, de még a neten sem. És ha Micro$oft sem tud/akar jobbat javasolni, akkor nincs más hátra, mint betenni a jelenséget az "ez van, ezt kell szeretni" feliratú dobozba.
Előzmény: Sánta Kutya (SK) (8151)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!