Keresés

Részletes keresés

Sánta Kutya (SK) Creative Commons License 2013.10.31 0 0 22914

Szerintem ne jelezd, mert egy másik fórumra gondolhatsz. 13 és fél év fórumozáshoz és lassan 216 hozzászóláshoz közeledve én még nem találkoztam ilyesmivel.

Előzmény: Delila10 (22913)
Delila10 Creative Commons License 2013.10.31 0 0 22913

Eddig lehetett privátot küldeni. Most azt sem találom, hol kellene jelezni, hogy nem működik.

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

Miért, volt itt valaha ilyen szolgáltatás? :-O

Előzmény: Delila10 (22911)
Delila10 Creative Commons License 2013.10.31 0 0 22911

Adnék, ha működne a privi küldése. Itt nem akarom megadni nyilvánosan a címemet, így is nyakra-főre le kell tiltanom a beérkező reklámokat.

 

Később megint megpróbálom, hátha helyreáll ez a szolgáltatás.

Előzmény: hunterzsolt (22906)
Delila10 Creative Commons License 2013.10.31 0 0 22910

A transpose utasítás nem azonos a transzponálással.

Előzmény: tbando (22901)
tbando Creative Commons License 2013.10.31 0 0 22909

Korrigálom ezt az állitásomat:

 

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.

 

Utána néztem. A 2007-es excel special szűrésének már nincs stringhosszúsági korlátja. Ahány karakter befér a cellába (max 32 ezervalamennyi), azokat mind látja a szűrésnél. A 2003-as excelben ehhez még trükközni kellett

Előzmény: tbando (22873)
pimre Creative Commons License 2013.10.30 0 0 22908

Igazad van, Delila tanácsát sikeresen félreértettem:-( Amit írsz, azzal tényleg működik.

Előzmény: tbando (22900)
pimre Creative Commons License 2013.10.30 0 0 22907

???

Előzmény: Sánta Kutya (SK) (22898)
hunterzsolt Creative Commons License 2013.10.30 0 0 22906

Inkább privátban küldeném! Adsz egy címet, vagy megtalálom valahol itt az oldalon?

Előzmény: Delila10 (22897)
hunterzsolt Creative Commons License 2013.10.30 0 0 22905

Rendben! Akkor holnap reggel átküldöm, és leírom, hogy mi is lenne a terv! Nem gondoltam, hogy ennyire bonyolult lesz az elkészítése ne haragudj! És köszönöm!

Előzmény: Delila10 (22897)
tbando Creative Commons License 2013.10.30 0 0 22904

Nagyon fincsi. Köszi.

 

 

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

Szia!

 

Ha a tömb egy dimenziós és 9 elemű, akkor simán a következő az értékadás:

Range("M11:M19").value=tmb

 

Ez akkor működik, ha a tartomány sorainak és oszlopainak száma megegyezik a tömb dimenziójával.

 

Üdv.

Előzmény: tbando (22901)
Fferi50 Creative Commons License 2013.10.30 0 0 22902

Szia!

 

Neked és mindenkinek aki a tömbképlettel foglalkozott eddig:

 

A 2003-as azért nem tudja kezelni a teljes oszlopra vonatkozóan megadott 2007-es tömbképletet, mert a 2007-esben a sorok száma már nem 64 ezer x, 2010-ben több, mint 1 millió.

Ezt nem veszi be a 2003-as "gyenge gyomra".

 

Üdv.

Előzmény: pimre (22896)
tbando Creative Commons License 2013.10.30 0 0 22901

Megismételném 22867-es kérdésem.  Nem csak Delilának.   Ebben a sorban:   

 

Range("M11:M19")=Application.Transpose(tmb)

 

mire kéne kicserélni a transpose-t, hogy a tmb() tomb adatait ne transzponáltként vigye az m11:m19 cellákba?

tbando Creative Commons License 2013.10.30 0 0 22900

Szia! 

 

A magasabb verzióra bár érdemes áttérni, de a tömképletbeli problémád miatt felesleges. Ha Delila tanácsát nem értetted volna félre, akkor ezt már te is látnád. Delila nem az javasolta, hogy csak az első 7 sorba írd a tömbfüggvényt, hanem hogy a tömbfüggvényben vizsgálandó tartományokat precízen add meg. Tehát a 2003-as excelben  ez a képlet működik az 1-7 sorokra:

 

{=Max(HA(F1:F7=”aktív”;A1:A7))}

 

Éni is megnéztem a feltöltésedet  2007-tel.  Már az is konvertálta a #SZÁM! hibát. Amit a 2003-ban az okozhatott, hogy a 2003-as a tömbképleted az A:A, F:F hivatkozásokat nem tudta kezelni.

 

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

Szia. Örülök, hogy át tudtad hidalni a stringhosszbeli problémát. Az viszont meglepett, hogy a 2007 füzetben nem tapasztaltad a 255 karakteres határt. Ugyanis 2007-es füzetben mértem ki a 255-t. Ezek szerint rosszul. Megcsinálnád a kedvemért, hogy csinálsz egy garantáltan hosszabb stringet, és megnézed, hogy listázza-e a 2007-es autószűrő? Aztán írd meg légyszí, hogy mit tapasztaltál.

Előzmény: NeomatiK (22884)
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)

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