Keresés

Részletes keresés

Sánta Kutya (SK) Creative Commons License 2013.10.30 0 0 22898

Nálam szépen muzsikál a 2000-es, nem kér támogatást. :-)

Előzmény: pimre (22895)
Delila10 Creative Commons License 2013.10.30 0 0 22897

Olyan sűrűn változtatsz a lap felépítésén, hogy nem tudlak követni.

 

Legjobb lenne, ha kitennéd a füzetet egy elérhető helyre publikus adatokkal, vagy elküldenéd priviben, de előbb goldold jól át, mit hol szeretnél megjeleníteni.

 

Előzmény: hunterzsolt (22893)
pimre Creative Commons License 2013.10.30 0 0 22896

Meg is van a hiba oka. A két verzió közti különbség okozta. Amikor a 2007-es alatt kompatibilis üzemmódban akarom menteni a fájlt, akkor a program figyelmeztető üzenetet küld: "A munkafüzetben lévő tömbképletek némelyike egy teljes oszlopra hivatkozik. Az Excel régebbi verziói ezeket a képleteket várhatóan #SZÁM! hibává fogják alakítani újraszámításkor."

 

Sajnos kénytelen leszek hamarosan áttérni, pedig nagyon nem szeretem a 2003 utáni verziókat:-(

Előzmény: pimre (22895)
pimre Creative Commons License 2013.10.30 0 0 22895

Ebben nagyon konzervatív vagyok. Még mindig a 2003-assal dolgozom. (Csak végső esetben, ha majd jövőre beszűntetik ennek is a támogatását az XP-vel együtt - ha jól tudom - akkor fogok áttérni). De hát a tömbfüggvényt a 2003-as is ismeri.

 

Viszont a kérdésed után kipróbáltam egy masik gépemen 2007-es változat alatt, és ott működik. Akkor most már csak azt kell tisztáznom magammal, hogy a két verzió közti különbség okozza-e a hibát, vagy az asztali gépemen a 2003-as valamelyik beállítása okoz gondot.

Előzmény: Fferi50 (22894)
Fferi50 Creative Commons License 2013.10.30 0 0 22894

Szia!

 

Milyen excel verziód van? Nálam 2010-en a kompatibilis üzemmódban megnyitva a #Szám!-ot azonnal átírja számra, amit dátumformátumosíthatok.

 

Üdv.

Előzmény: pimre (22892)
hunterzsolt Creative Commons License 2013.10.30 0 0 22893

Azt hittem így már egyszerűbb lesz, de ahogy az lenni szokott, tévedtem! A makró amit küldtél tökéletesen működik le a kalappal!
Úgy gondoltam, hogy ha mégegyszer bemásolom a makrót, de módosítom a célokat, úgy frankón működni fog ugyanazon a lapon! Hát nem! Szóval az amire kellett, hogy az adatokat egy másik munkalapról áthozza hivatkozással együtt, az működik, de én ugyanezen a lapon szeretném ezt még egyszer alkalmazni, csak más célterületre! 

Jelenleg: A D oszlopban változtatok, és a hozzá tartozó dokumentum megjelenik a H oszlopban!

Viszont nekem szükségem lenne arra, hogy a C oszlopban amit kiválasztok, az ahhoz tartozó dokumentumot ugyanúgy áthozza a másik "ADAT" munkalapról a G oszlopba! 

Ha a makrót bemásolom, akkor a keres kifejezésre hibát dob ki, de valószínűleg, ha ezt orvosolnám, akkor jönnének a többi hibák is! Van megoldása ennek! Ha igen, akkor milyen infora lenne szükség a segítségben?

Köszi előre is!

Előzmény: Delila10 (22887)
pimre Creative Commons License 2013.10.30 0 0 22892

De valami egyéb hiba kell, hogy legyen nálam. Ha az A és F oszlopokba számokat írok, és ehhez kötöm a tömbfüggvényt pl.: =MAX(HA(F:F=2;A:A)), akkor is #SZÁM! az egyes cellák értéke.

Előzmény: pimre (22891)
pimre Creative Commons License 2013.10.30 0 0 22891

Köszönöm. Ha jól értem, arra gondolsz, hogy - tekintettel arra, hogy az F oszlopnak csak az első 7 sorát töltöttem ki - csak az első 7 sorba írjam a tömbfüggvényt?

 

Kipróbáltam így is, sajnos változatlan eredménnyel. Kipróbáltam úgy is, hogy egy munkalapon csak az első néhány sort töltöttem ki, a tömbfüggvény nekem így sem működik a mintapéldámban megadott szerkezetű adatokkal:-(

 

Előzmény: Delila10 (22888)
hunterzsolt Creative Commons License 2013.10.30 0 0 22890

Oké, meglett a hiba és javítva! Most már minden ok! Köszönöm mindenkinek a sok segítséget! :)

Előzmény: hunterzsolt (22889)
hunterzsolt Creative Commons License 2013.10.30 0 0 22889

Köszi, működik, még pluszba kért egy End If sort,  de végül is összejött! A baj az, hogy így az előző dátumbeíráshoz használt makró csak akkor írja ki a dátumot, ha a cél mezőbe szerkesztek! Eddig úgy zajlott, hogy a soron belül bárhol változtatok, a dátum azonnal beíródik! Ahhoz is használok modul-t és thisworkbook-ot

Ez a munka1 makrója:

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim sorBeir As Integer, nev 'helyfoglalás a változókhoz
If Target.Column = 4 Then 'ha a bevitel oszlopa a B, akkor
nev = Target.Value 'a nev válztozó vegye fel a kiválasztott értéket
sorBeir = Target.Row 'a sorBeir változó vegye fel a beírás sorának a számát
Keres nev, sorBeir 'Meghívjuk a Keres makrót, átadva a nev és sorBeir változók aktuális értékét
If Target.Count > 1 Then _
MsgBox "Ha több cellát szerkesztesz egyszerre, nem működik.": Exit Sub
If Target.Column > 1 Then
Call AddDate_sh(Target.Row)
With ActiveSheet
If Application.WorksheetFunction.CountA(.Range(.Cells(Target.Row, "B"), _
.Cells(Target.Row, "G"))) = 0 Then Call RemoveDate_sh(Target.Row)
End With

End If

End If

End Sub

 

Ez a ThisWorkbook:

Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Call LockCells_sh

End Sub

Private Sub Workbook_Open()

Call LockCells_sh

End Sub

Ez a modul1 (az első makrómhoz):

Option Explicit

'made by RHCPgergo
'nagy.gergely1888@gmail.com

Sub LockCells_sh()

Dim Rng As Range

With Munka1
.Unprotect "jelszavam"
.Cells.Locked = False
For Each Rng In .Range("A1:A30")
If Rng.Value <> "" Then Rng.EntireRow.Locked = True
Next Rng
.EnableSelection = xlUnlockedCells
.Protect "jelszavam", UserInterfaceOnly:=True
End With

End Sub

Sub UnProtect_sh()
ActiveSheet.Unprotect "jelszavam"
End Sub

Sub AddDate_sh(MyRow As Long)
Munka1.Range("A" & MyRow).Value = Now
Columns(1).AutoFit
End Sub

Sub RemoveDate_sh(MyRow As Long)
Munka1.Range("A" & MyRow).Value = ""
End Sub

És ez, amit Te küldtél:

Sub Keres(nev, sorBeir)
Dim sor As Integer
sor = Application.WorksheetFunction.Match(nev, Sheets("Adatok").Columns(5), 0) 'Az Adat lap G oszlopában (6) meghatározza a nev változó sorát (a HOL.VAN függvény VBA-s megfelelője a Match)
Sheets("Adatok").Range("E" & sor).Copy Sheets("Munka1").Range("H" & sorBeir) 'másolás
End Sub

Ezeket használom jelenleg!

Előzmény: Delila10 (22887)
Delila10 Creative Commons License 2013.10.30 0 0 22888

NE teljes oszlopokra írd meg a tömbfüggvényt, hanem csak a kitöltött területekre. Akkor működik.

Előzmény: pimre (22886)
Delila10 Creative Commons License 2013.10.30 0 0 22887

Olyan aprók a karakterek, hogy nem sokat tudok kivenni belőlük, pl. nem látszik, hogy a feltételek melyik oszlopokra vonatkoznak.

 

Azért próbáld meg, hogy a 2. makróból az összes sort átteszed az első elejére, a másodikat pedig megszünteted.

Előzmény: hunterzsolt (22885)
pimre Creative Commons License 2013.10.30 0 0 22886

Hát akkor jobb híján megadom a tesztfájlt, hátha abból kiderítite, hogy mit bénázok el: http://data.hu/get/7079712/tombfuggveny_teszt.xls

 

Előzmény: tbando (22882)
hunterzsolt Creative Commons License 2013.10.30 0 0 22885

Sajnos nem tudom futtatni a makrót, mert már azonos "nevű" függvény van a szerkesztőben, ami megadja a sorbeírás dátumát!

Adok egy képet! Össze tudom rakni a 2 makrót, hogy egy "néven" szerepeljenek?

Előzmény: Delila10 (22866)
NeomatiK Creative Commons License 2013.10.30 0 0 22884

Köszi. Annyira nem érdekes, mert egy külön oszlopban van egy sorszám azonosítója, az alapján tudok szűrni. Csak ugyebár a sorszámból nem látom, hogy az mit takar. Emiatt lenne jobb a szöveg szerinti szűrés.

2007-es excelben megnyitva ugyenezt a munkafüzetet viszont nincs ilyen hiányosság. Nem tapasztalom, hogy 255 karakter lenne a korlát.

Előzmény: tbando (22873)
Fferi50 Creative Commons License 2013.10.29 0 0 22883

Szia!

 

Próbáld így beírni az F oszlopot:  ="Aktív" és ="Inaktív"

Szerintem akkor működik a képlet.

(Az A oszlopban valódi dátumértékek legyenek a beíráskor.)

 

Üdv.

Előzmény: pimre (22881)
tbando Creative Commons License 2013.10.29 0 0 22882

Szia!

 

Elképzelni sem tudom mi a probléma nálad. Most újra teszteltem a képletet dátumokkal, normál számokkal, és működik. A dátumokat beírtam stringnek is, de akkor 0-t ad eredményül és nem #SZÁM! hibát. A képlettel mindenféle hibát (#érték!, #név!), elő tudtam idézni, de #szám!-ot azt nem. Tehát elképzelni sem tudom, hogy nálad mi okozhatta. Talán a dátumok számformátuma nem megfelelő. Próbáld ki a képletetet normál számokkal is, ha azokkal működik, akkor nagy valószínűséggel a dátumfomádat nem szereti. Ha nem, akkor valami excelbeállítási probléma lehet. Nálam a Lotus kompatibilitás szokott időnként nem várt eredményhez vezetni. Lehet hogy nálad is van valami extremítás. Ha nem boldogulsz, küldd el priviben, hagy nézzem meg én is.

 

És végül: Van egy olyan gyanúm, hogy valamit egészen másképp csinálsz mint kéne. Ezt abból gondolom, hogy ezt írod:  "de valamennyi cellában #SZÁM! az érték, akár aktív, akár inaktív szó áll az F mezőben". Hol vannak ezek a valamennyi cellák? Amikor összesen  csak 1 cella értéke fűgg az F mezőbeli beírásoktól. A max képleté.

 

Előzmény: pimre (22880)
pimre Creative Commons License 2013.10.29 0 0 22881

Nem hosszú 1-re, hanem hosszú í-re. És nem megoldásogra, hanem megoldásodra (és nem osztogatnak, hanem fosztogatnak:-)))

Előzmény: pimre (22880)
pimre Creative Commons License 2013.10.29 0 0 22880

Akkor most egy pillanatra visszatérnék egy több mint 3 hete elhangzott megoldásogra, a tömbképletre.  Djmorphy 22505-ös kérdésére az =Max(ha(F:F=äktiv";A:A)) képletet javasoltad megoldásnak tömbképletként beírva.

Érdekelt a dolog, kipróbáltam, és nekem semmiképp sem akar összejönni. A tömbképlet rendben megjelenik {=MAX(HA(F:F="aktív";A:A))}, de valamennyi cellában #SZÁM! az érték, akár aktív, akár inaktív szó áll az F mezőben. Az A oszlopban dátumok vannak 2013.01.01, 2013.01.02 stb. formában, az F oszopban aktív, vagy inaktív, ügyelve a hosszú 1-re.

Ha a függvényből a MAX() részt elhagyom, akkor is ugyanez az eredmény.

 

Vajon ez miért nem működött nálam. Akkor nem akartam rögtön megzavarni a dolog megoldását a kérdésemmel, de azért továbbra is érdekel.

 

 

 

Előzmény: tbando (22507)
Sánta Kutya (SK) Creative Commons License 2013.10.29 0 0 22879

Ezt hívja Dale Carnegie mesterelmének, ezért érdemes ilyen fórumokban tagnak lenni.

Előzmény: tbando (22878)
tbando Creative Commons License 2013.10.29 0 0 22878

Pont jókor. A probléma a tripletek munkafűzeti és vba sorbarendezési különbsége  volt. 

 

A legszebb ebben a történetben, ahogy egymásra épültek a fejlemények. Ahogy tisztázódott. 

Előzmény: Sánta Kutya (SK) (22877)
Sánta Kutya (SK) Creative Commons License 2013.10.29 0 0 22877

És én még el sem olvastam, mi volt a feladat, csak a tripletek rendezésénél kapcsolódtam be. :-)

Előzmény: tbando (22874)
tbando Creative Commons License 2013.10.29 0 0 22876

Valamit azonban nem értek ennél az autoszűrőnél. A 255 karakternél hosszabb stringeket is illene szűrnie az 1-255 karakter alapján. De nem teszi. Miért? Úgy dereng az írányított szűrőnél nem volt ilyen probléma.

Előzmény: tbando (22873)
Fferi50 Creative Commons License 2013.10.29 0 0 22875

Szia!

 

Benne van a VBA elején az Option utasítások között. Ugyanott van az Option Base is. Valamint a szöveghasonlító strcomp függvény magyarázata is hivatkozik rá.

Én sokkal izgalmasabbnak és újdonságnak találtam a magyar kettősbetűk ügyét.

 

Üdv.

Előzmény: Sánta Kutya (SK) (22871)
tbando Creative Commons License 2013.10.29 0 0 22874

Klassz! Máris megérte feltenni ide a problémát. 

Előzmény: pimre (22870)
tbando Creative Commons License 2013.10.29 0 0 22873

Az autószűrőnek van korlátja. 255 karaktert képes szűrni. (excel 2007)

 

Ha ennél hosszabb szövegeket akarsz szűrni, használd a special (írányított) szűrőt. Annak is van korlátja, de lényegesen magasabb. Hogy mennyi, arra nem emlékszem, de sok, több mint ezer. Arra viszont emlékszem, hogy nekem még annak a korlátját is túl lépve kellett szűrnöm (excel 2003-mal). meg is oldottam. De József feltett ide a fórumra  egy az enyéménél elegánsabb megoldást, ami szintén többezres stringeket volt képes szűrni. De megtalálni...... Talán ha olvassa, kedve lesz újra ismertetni. Ha nem és szűkséges lesz, megírhatom az én módszeremet. 

Előzmény: NeomatiK (22869)
pimre Creative Commons License 2013.10.29 0 0 22872

Ja és elfelejtettem itt a táblázatba betenni az összetett magyar betűket, de kipróbáltam, és az opció alkalmazásával azokat is a magyar ABC szerint rendezi, ahogy ezt megírtad.

Előzmény: Sánta Kutya (SK) (22868)
Sánta Kutya (SK) Creative Commons License 2013.10.29 0 0 22871

Ezt valahová fel kéne írni a topikkincstárba...

Előzmény: pimre (22870)
pimre Creative Commons License 2013.10.29 0 0 22870

Megtaláltam a megoldást a VBA-ban. Ha a modul elején elhelyezzük az Option Compare Text utasítást, akkor az adott nyelvi beállításokat veszi figyelembe. Ki is próbáltam ezt, és az alábbi táblázatban szedtem össze az eredmények közti különbséget:

 

Option Compare Text

nélkül rendezve            Option Compare Text használatával rendezve

Az                                      Az

Er                                       az

Iz                                        Áz

Ok                                      áz

Ut                                       Er

az                                       er

er                                        Ér

iz                                        ér

ok                                       Iz

ut                                        iz

Áz                                      Íz

Ér                                       íz

Íz                                        Ok

Ók                                      ok

Ön                                      Ók

Út                                       ók

Üt                                       Ön

áz                                       ön

ér                                        Őn

íz                                        őn

ók                                       Ut

ön                                       ut

út                                        Út

üt                                        út

Őn                                      Üt

őn                                       üt

Űt                                       Űt

űt                                        űt

 

Ez kicsit csúnyácska lett, de a lényeg látszik. Tehát az opció nélkül lefuttatva a nagybetűk előre kerültek, az á, é, í ó, ö, ú és ü utánuk, ezen belül is a nagy-, majd a kisbetűk, aztán az Ő és ő végül az ű és Ű. Az opció használatával csak a nagybetűk kerülnek a saját kisbetűs párjuk elé. 

Előzmény: Sánta Kutya (SK) (22868)
NeomatiK Creative Commons License 2013.10.29 0 0 22869

Sziasztok!

2002-es Excelben autószűrőt használok a mukalap oszlopaira. Az egyik oszlop celláiban (20 cella kb) elég sok szöveg van, van közte egyforma is és van különböző tartalmú is, kb 14 fajta van. A fönti szűrő gomb lenyílásakor azonban csak 6 szűrési lehetőség jelenik meg. Létezik, hogy van valami karakterbeli korlát? És emiatt nem listázza a többit?

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