Keresés

Részletes keresés

_Nyuszi Creative Commons License 2011.02.26 0 0 14186

... megint gyorsabban írtam mint gondolkodtam. :(

Bocsánat!

 

"abszulivitását" -> abszolutivitását

"tartományban keres" -> "tábla" (Snoopynak: a tartományban keres egy logikai érték.)

Előzmény: _Nyuszi (14183)
_Nyuszi Creative Commons License 2011.02.26 0 0 14185

A birtokszerkezetet sztem felejtsd el. Ezt csak egy embertől fogadom el, és az nem te vagy.

 

Irodalma a témának óriási van magyar és angol (meg gondolom cseh, lengyel stb. :) ) nyelven is, érdemes valami középiskolai táblázatkezelős tankönyvet keresni. A Műszaki Kiadónak vannak egész jó könyvei a témában. :-)

De ilyen alap dolgokat, mint HA, FKERES, VKERES stb. egy 300 forintos, 5-ös Excelhez írt könyv is tudja. :) (Persze sztem érdemes valamilyen relevánsabb kiadványra beruházni, hátha érdemes lesz lapozgatni később is. :) )

Igazából gyakorolni kell, nagyon sokat. Annál jobbat nem tudok elképzelni.

Előzmény: :Snoopy: (14184)
:Snoopy: Creative Commons License 2011.02.26 0 0 14184

köszi Nyuszim :)

 

De volt.... 15 éve :) 

Nincs valami kis oktatóprogram valahol vagy leírás az alap dolgokról? mert itt tök jól elmondjátok csak gondoltam lementeném hátha pár év múlva is szükségem lehet rá :)

Előzmény: _Nyuszi (14183)
_Nyuszi Creative Commons License 2011.02.26 0 0 14183

Hogyne számítana! :)

Ha a D1-be azt írod, hogy =A1, majd ezt másolod, akkor a hivatkozás minden más cellában átalakul úgy, hogy a balra háromra levő cella tartalmára fog hivatkozni. Ezt nevezik relatív hivatkozásnak, mert tulképp te nem az A1-es cellára hivatkozol logikailag, hanem a D1-től balra háromra lévőre (ami formailag az A1).

Ha azt írod be, hogy =$A$1, majd másolod, akkor minden cella pontosan az A1-es cellára fog mutatni. Ezt abszolút hivatkozásnak nevezik, mert akárhová másolod a D1-ből a képletet, mindig pontosan az A1-et fogja meghivatkozni.

Persze nem feltétlenül kell a sor és az oszlop abszolút hivatkozását együtt használni vagy egyszerre elhagyni, lehet keverni is: csak a sor vagy csak az oszlop abszulivitását használni. Akkor jön jól, ha pl. egy szorzótáblát csinálsz, ahol az egyik tényezőnél a sor adott, de az oszlop mindig más, a másik tényezőnél pedig pont fordítva. Ekkor pl. a B2-be írhatod, hogy =B$1*$A2. (Egyébként az F4 lenyomásával kivarázsolható ez a hivatkozási forma az Excelből, ha a szerkesztőlécen a cella hivatkozásán állsz.)

Az abszolút hivatkozást én az FKERES-nél szoktam használni viszonylag gyakran, még a képlet lehúzása előtt, különben a "tartományban keres" szépen elcsúszik... :(

 

Neked nem volt középsuliban Excel? :S

Előzmény: :Snoopy: (14181)
:Snoopy: Creative Commons License 2011.02.26 0 0 14182

Bár nem exeles kérdés.. Vista oldalsávon az időjárásnál eltünt a kép (napocska vagy felhő) csak piros X lásztik.  Leválaszottam újra felraktam, nem javította meg.  Valakinek hasonló gondja volt, mi lehet a megoldás?

:Snoopy: Creative Commons License 2011.02.26 0 0 14181

Nagyon köszi, mostmár megy a dolog, és valóban működik.

Az hogy C$1 vagy C1 nek írom az számít vajon?

Előzmény: Sznida (14145)
_Nyuszi Creative Commons License 2011.02.26 0 0 14180

Ez nagyon jóóóó! :)

Azt hiszem, próbálgatom majd, köszi! :)

Előzmény: Törölt nick (14179)
Törölt nick Creative Commons License 2011.02.26 0 0 14179

Valami ilyesmi:

 

Sub irasvedelem()
    Dim PathName As String
    PathName = "C:\proba.txt"
    SetAttr PathName, (GetAttr(PathName) And (255 - vbReadOnly))
End Sub

Előzmény: _Nyuszi (14154)
72G Creative Commons License 2011.02.26 0 0 14178

Köszönöm!

Előzmény: Törölt nick (14084)
Sznida Creative Commons License 2011.02.26 0 0 14177

Megvan a megoldás!!!!! :D

 

Ha esetleg valakinek még ilyen problémája lenne, a jól működő kód:

 

Function MinKereso(Tartomány As Range, Lépték As Variant)
Dim MyRange As Range
Dim Min, Oszlop As Integer
Min = Application.WorksheetFunction.Max(Tartomány)
Oszlop = Range(Tartomány.Address).Column
If Lépték <= 0 Then
    MinKereso = "Hibás lépték!"
    Exit Function
End If
'For Each MyRange In Range(Tartomány.Address) ' Ez a sor volt a rossz

For Each MyRange In Tartomány ' Így jó
    If ((MyRange.Column - Oszlop) Mod Lépték) = 0 Then
        If MyRange.Value <= Min And MyRange <> 0 Then
                Min = MyRange.Value
                MinKereso = MyRange.Value
        End If
    End If
Next
If MinKereso = Empty Then
'    MinKereso = "Nincs ilyen cellaérték"
    MinKereso = 0
End If
End Function

 

Üdv: Sznido

 

Előzmény: Sznida (14161)
Törölt nick Creative Commons License 2011.02.26 0 0 14176

Na ez gyönyörű lett:))))

 

Nem lesz kép:)

Előzmény: _Nyuszi (14175)
_Nyuszi Creative Commons License 2011.02.26 0 0 14175

Nekem nem sikerült. :-(

Esetleg csinálj három képet a háttérképedből az eredeti szétvágásával, és tegyél egy darabot a D3:F4, egyet a C2:C6, egyet pedig az B3:B6 cellákra és tedd egymás mellé őket. :)

Előzmény: Törölt nick (14174)
Törölt nick Creative Commons License 2011.02.26 0 0 14174

Sziasztok!

 

Egy kis segítségre lenne szükségem.

Ismét:)

A második sor és a hetedik sor közé egy háttérképet szeretnék beszúrni.

Lehetséges ez úgy, hogy a D,E,F 6 cellák is működjenek?

 

Nekem nem sikerült.

 

Sznida Creative Commons License 2011.02.26 0 0 14173

Nem volt kikapcsolva.

Kicsit még nem értem ezeknek az UDF-nek a lelki világukat.

Nem tudom mikor futnak le.

Az én esetemben amikor lefut, akkor az összes munkalapon végigmegy, és számolja a képleteket, és valami oknál fogva az első munkalap tartományban számol, pedig a képlatben nincs munkalap hivatkozás, lehet ez a baj?

Előzmény: tt65 (14172)
tt65 Creative Commons License 2011.02.25 0 0 14172

Ki volt kapcsolva az automatikus újraszámolás?

Előzmény: Sznida (14171)
Sznida Creative Commons License 2011.02.25 0 0 14171

jaja, nekem is annak tűnt, aztán véletlenül nyomtam egy F9-et és minden helyreállt, ezért írtam be a munkalapváltáshoz a számolást! :)

Előzmény: tt65 (14170)
tt65 Creative Commons License 2011.02.25 0 0 14170

nekem ez így X akták jellegű!

Nekem (igaz nem a te UDF.eddel) de mindig az adott lapról veszi a hivatkozást.

Nem lehet, hogy magában az UDF-ben viszi valami félre?

Előzmény: Sznida (14168)
Sznida Creative Commons License 2011.02.25 0 0 14169

Az lett egy megoldás, lehet csak köztes, de így működik, hogy a thisworkbook-ba betettem az sheetactivate-hez egy calculate-ot, ami annyit jelent, hogy minden munkalap váltásnál újraszámol, és frissít mindent szépen!

Előzmény: Sznida (14168)
Sznida Creative Commons License 2011.02.25 0 0 14168

Ez így néz ki "=MinKereso(B4:AA4;3)", csak beírod a cellába. Ha egy munka2 munkalapra írod be, akkor a Munka1 tartományából veszi az adatokat. :(

Most találtam a neten egy hasonló megoldást, és ott jó működik, most próbálok a kettőből egy jót fabrikálni! :)

Előzmény: tt65 (14167)
tt65 Creative Commons License 2011.02.25 0 0 14167

és mivel hívod meg az egyes lakokon, hogy néz ki?

Előzmény: Sznida (14161)
_Nyuszi Creative Commons License 2011.02.25 0 0 14166

"Bár biztos megoldható az is amit te szeretnél, txt fájlokat kezelni excelből."

 

A felülírás nagyon szépen megy (menne), sőt, a tartalmat is össze tudja hasonlítani, hogy egyáltalán felül kell-e írni a fájl tartalmát. De én úgy vettem észre, hogy az Excel (és a VBA) nem nagyon támogatja az ilyen szintű fájlműveleteket... :-(

Külön könyvtárba: ez is egy lehetőség, de szeretnék felhasználóbarát megoldást. ;-)

Előzmény: tt65 (14164)
tt65 Creative Commons License 2011.02.25 0 0 14165

Köszönöm, igérem megérem a tavaszt!

Előzmény: Sznida (14162)
tt65 Creative Commons License 2011.02.25 0 0 14164

Ehhez nem sok lövésem van. 

Nem egyszerűbb lenne egy külön üres könytárba menteni, majd rámásolni az eredetikre, vagy szinkronizálni?

 

Bár biztos megoldható az is amit te szeretnél, txt fájlokat kezelni excelből.

Előzmény: _Nyuszi (14159)
_Nyuszi Creative Commons License 2011.02.25 0 0 14163

Köszi! :)

Előzmény: Sznida (14162)
Sznida Creative Commons License 2011.02.25 0 0 14162

A hétvégén gondolkodom rajta, hátha eszembe jut valami!

tt65 jobbulást!

 

Üdv: Sznido

Előzmény: _Nyuszi (14159)
Sznida Creative Commons License 2011.02.25 0 0 14161

Segítség!!!

 

Írtam egy UDF-et (ez volt az első). Az a baj, hogy nem jól működik!

A kód:

 

Function MinKereso(Tartomány As Range, Lépték As Variant)
Dim MyRange As Range
Dim Min, Oszlop As Integer
Min = Application.WorksheetFunction.Max(Tartomány)
Oszlop = Range(Tartomány.Address).Column
If Lépték <= 0 Then
    MinKereso = "Hibás lépték!"
    Exit Function
End If
For Each MyRange In Range(Tartomány.Address)
    If ((MyRange.Column - Oszlop) Mod Lépték) = 0 Then
        If MyRange.Value <= Min And MyRange <> 0 Then
                Min = MyRange.Value
                MinKereso = MyRange.Value
        End If
    End If
Next
If MinKereso = Empty Then
    MinKereso = 0
End If
End Function

 

A kijelölt tartomány minden negyedik cellájáinak a minimumát adja, a nullát kihagyja. A probléma az, hogy ha ez a képlet "=MinKereso(B4:AA4;3)" több munkalapon szerepel, mindig az első munkalap tartományában dolgozik.

A kérdés, hogyan lehet egy UDF-et csak az aktuális munkalapra tartományára hivatkoztatni?

 

Köszi!

 

Üdv: Sznido

_Nyuszi Creative Commons License 2011.02.25 0 0 14160

A három pont nálam azt jelenti, hogy "jól van, mondjad csak a hülyeségedet, de most már jó lenne befejezni". (Bocsánat a stílusért (vagy annak hiányáért).)

Általában ez inkoherens a környezetében lévő hozzászólásokkal és inkongruens a közlő szándékával, ezért inkább nem értem, mitsem félreértsem. A szmájli a végén meg teljesen érthetetlenné teszi számomra. :)

Szóval kb. ennyi....

 

Előzmény: tt65 (14157)
_Nyuszi Creative Commons License 2011.02.25 0 0 14159

Nem, nem arra..

Van párszáz fájl (asszem valami 182 körül, de végülis mindegy), amik textfájlok, jegyzettömbben szerkeszthetőek (egy programnak a bemenő adatai, változók értékeit olvassa be belőle).

A fájlok tartalma struktúrált, tabulátorral tagolt. A legkönnyebb Excelben szerkeszteni és makróval kimenteni őket munkalaponként külön-külön fájlba (és ez a gyakorlat is).

Jelenleg az a megoldás, hogy ctrl+A, majd jegyzettömbben beillesztés, mentés. Ez sok változás esetén macerás, makróval gyorsítható.

Ez a makrós mentés szépen megy is, de ha az előző fájl már létezik, megkerülhetetlen külső ok miatt rajta van a read only bit. Ha nem új munkalapot hozok létre, hanem a tartalmát módosítom, akkor nem tudja felülírni a már létező fájlt (meglepő módon :P). Megoldásként le kéne venni róla a read only bitet, majd a kimentés után visszatenni.

Előzmény: tt65 (14158)
tt65 Creative Commons License 2011.02.25 0 0 14158

Húha, nem maradunk inkább a menetrendnél, abba már kezdek beletanulni! 

Sosem szoktam fálj atrributumokat módosítani, de ha ezt tenném a Total Commanderben tenném.

Nem arra gondoltál, hogyan lehet egy írásvédett excelt írhatóvá tenni?

Előzmény: _Nyuszi (14154)
tt65 Creative Commons License 2011.02.25 0 0 14157

én csak tőled idéztem, igaz nem tettem idézőjelbe! Te mire gondoltál? Átlagtól eltérőre? 

Előzmény: _Nyuszi (14156)

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