Keresés

Részletes keresés

Garashan Creative Commons License 2024.02.21 0 0 37867

Tölts fel valahova egy anonimizált verziót. Ha látjuk, hogy eddig mit csináltál és mit is szeretnél csinálni, akkor könnyebben segítünk.

Előzmény: KingSide (37865)
djuice Creative Commons License 2024.02.21 0 0 37866

A munkalapok nyomtatására nincs olyan lehetőség, hogy egyszerre mindre legyen érvényes az egy oldalas nyomtatás?

KingSide Creative Commons License 2024.02.20 0 0 37865

Sziasztok,
Legyetek szívesek segítsetek.
Terem órarendet kellene készítenem, amit aztán kinyomtatunk és a terembe kiragasztunk.
A munkalapon megvan a teremszám, kezdési dátum és időpont, tantárgynév, oktató. A dátumból számítottam hét napját.
Beleteszem egy kereszttáblába (nem túl elegáns, de majd szétszedem termenként) sorok a kezdés időpontja, az oszlopok a hét napjai.
A tárgynév+oktató összefűzését belehúzom az értékhez, ahol mindenképpen számított cellák vannak, így darabszámot jelenít meg.
Hogyan tudnám az értéknél a cellák szöveges értékét megjeleníteni? Szóval nekem oda a tárgynév és oktató kellene.
Köszönöm szépen!

Fferenc50 Creative Commons License 2024.02.19 0 1 37864

Szia!

Nézd meg légy szíves az Adatok - Speciális (leánykori nevén irányított) szűrőhoz tartozó súgót. Ebben lehet vagy kapcsolatot is megadni szűrőfeltételként.

Üdv.

Előzmény: djuice (37863)
djuice Creative Commons License 2024.02.19 0 0 37863

Sziasztok!

Ezt hogyan csinálnátok?

 

Vannak egy listában nevek s hozzá taj-szám, személyigazolvány-szám és adószám.

Bizonyos embereknek valami hiányzik, van akinek több minden is.

Próbáltam szűrőket rakni az oszlopokra, de ugye ezzel az a baj, hogy akinek nincs taj-száma, de van adószáma és én a hiányzó adószámokra szűrők, akkor nem lesz benne mindenki olyan, akinek bármi más adata is hiányzik.

Ezeket hogy lehetne legegyszerűbben egységben kezelni?

_Nyuszi Creative Commons License 2024.02.19 0 0 37862

Szia!

 

"A mutatott utasítás (...)"

Tudom, mert ha működne, nem kérdeznélek titeket. :)

 

Ez lesz a kulcsmondat szerintem: "Direktben cella tartalmat nem lehet változóként használni."

 

A dictionary-s részt nézem, köszönöm!

 

Előzmény: Fferenc50 (37860)
Fferenc50 Creative Commons License 2024.02.19 0 0 37861

További lehetőség:

Létrehozol egy Dictionary változót, amelyben kulcsok szerint lehet elhelyezni és módosítani a kulcsok tartalmát:

Dictionary object | Microsoft Learn

Először fel kell töltened a Dictionaryt  kulcs - érték párosokkal.

A kulcs lehet a változó neve, ehhez rendelheted az aktuális értéket.

A változó nevét - a kulcsot - így már kiolvashatod a cellákból, illetve a kulcs alapján számolásokat is tudsz végezni vele.

Üdv.

Előzmény: Fferenc50 (37860)
Fferenc50 Creative Commons License 2024.02.19 0 0 37860

Szia!

Nem egészen értem. Mit jelent ez:

"azaz a cella tartalma és a változó nevei megegyeznek"

Egy cella tartalma nem lehet név és érték is egyúttal.


A mutatott utasítás 

 "CBool(Munka3.Cells(i, 5).Value) = True"

pedig nem ad semminek értéket.

A CBool utasítás átalakítja a paraméter értékét logikai értékké, a következők szerint:

Szöveg esetén hibajelzés (Type mismatch

0 esetén FALSE

Bármilyen más szám (negatív is!) esetén TRUE

Ha változónak szeretnél értéket adni, akkor annak a formája változónév = érték. Direktben cella tartalmat nem lehet változóként használni.

Egy lehetséges megoldás:

If cella.value (vagy text)="Kalap" then Kalap=valami (esetedben TRUE/False).

Ha mégsem jól értettem a kérdést, légy szíves tegyél fel egy példafájlt elérhetően.

Üdv.

Előzmény: _Nyuszi (37858)
pimre Creative Commons License 2024.02.19 0 1 37859

Kösz, de nem. Időközben megtaláltam a megoldást itt: https://www.extendoffice.com/documents/excel/5117-excel-active-cell-top-screen.html

A képlet, ami nem csak használni engedi a cellát, hanem meg is mutatja a képernyőn az a következő: Application.Goto ActiveCell, Scroll:=True

 

Előzmény: XtraP (37857)
_Nyuszi Creative Commons License 2024.02.19 0 0 37858

Köszi!

Azt hiszem, rosszul fogalmaztam meg.

Valami ilyesmit szeretnék:

for i = 5 to 82

    CBool(Munka3.Cells(i, 5).Value) = True

    (...)

Next i

 

Tehát a változó neveit felsorolom egymás alatt egy-egy cellában, és az éppen aktuális változó értékét szeretném igazra állítani (azaz a cella tartalma és a változó nevei megegyeznek). A tömb sajnos nem jó, mert később ezt logikai egyenletekben szeretném felhasználni és a változó neve sokkal-sokkal beszédesebb, mint a tömb egy-egy elemére hivatkozás.

Előzmény: Fferenc50 (37855)
XtraP Creative Commons License 2024.02.19 0 0 37857

Csak két tipp:

a) a munkalap "Set ws = ..." formában lett megadva?
b) nem lehet, hogy maga a munkalap nem az aktív? Azaz elsőként esetleg egy ws.Select ..?

Előzmény: pimre (37856)
pimre Creative Commons License 2024.02.19 0 0 37856

Egy egészen alapvetőnek látszó feladatot nem tudk megoldani. Munkalapokat másolok át egy kész munkafüzetből. Az egyik munkalapon háromszázvalahanyadik sor látszik.  Ugyanakkor a lekérdezésekkel kiderül, hogy valójában az A1 az aktív. Viszont ez nem látszik

A későbbi panel rögzítéshez szükségem lenne, hogy az első sort lássam, mert az N3 cellán állva szeretném a rögzítést. 

Kiválasztani, írni bele, olvasni, minden további nélkül tudnék, de képtelen vagyok elérni, hogy ráálljon a vezérlés.

A ws.Range("A1").Select parancs ellen nem tiltakozik, csak éppen nem áll rá. 

 

Kézzel persze meg tudom oldani, de programból kellene.  Már órák óta keresgélek, de nem találok megoldást.

Fferenc50 Creative Commons License 2024.02.18 0 0 37855

Szia!

Nem kell túlkomplikálni:

(Amennyiben szöveges érték van a cellában, akkor célszerűbb a Text tulajdonságot használni a Value helyett.)

 

KeJ_1=Munka3.Cells(23, 5).Text = "KeJ_1" 

Az összehasonlítás eredménye True/False lesz.

 

Üdv.

Előzmény: _Nyuszi (37854)
_Nyuszi Creative Commons License 2024.02.18 0 0 37854

Sziasztok!

Én is kérdeznék egyet: hogyan tudok a cella tartalmából a tartalomnak megfelelő változónak értéket adni?

Egy példa:

If Munka3.Cells(23, 5).Value = "KeJ_1" Then KeJ_1 = True

Ilyenből lenne kb. 90-100, a cella koordinátáját léptetném, az majd változó lesz.

A változók már léteznek, valami olyasmire gondoltam, mint a CBool(Munka3.Cells(23, 5).Value) = True, de ez _Nyúlván nem működőképes.

 

Tudtok valami ötletet erre?

XtraP Creative Commons License 2024.02.18 0 0 37853

Mi lehet az oka annak, hogy a VBA program alábbi utasítása néha nem törli a teljes tartományt?

 

MthSheet.Rows("1:13").Delete

 

Fizikailag ugyanarra a munkalapra ráeresztve kb 5-ből egyszer nem 13, csak 12 sort töröl, és hogy cifrázzam a dolgot, a "bennfelejtett" sor mindig a hajdani tizedik.  

 

Az alábbi verzió pontosan ugyanígy önállóskodik:

 

MthSheet.Rows("1:13").Select

Selection.Delete 

 

A 10-es sorban természetesen nem találok semmi extrát (az a sor amúgy üres is eredetileg, csak a teszteléshez felöltöttem mind a 13 sor első celláját, hogy lássam, melyik ragad bent) - arról nem beszélve, hogy "többnyire" azzal a sorral is megbirkózik.

 

Mi lehet a dolog mögött?

 

pimre Creative Commons License 2024.02.18 0 0 37852

Egész megdöbbentő és érthetetlen jelenséget tapasztaltam programírás közben:

 

Oszlopszámokból képzek oszlopneveket a következő függvény segítésével (az elvet Jimmytől kaptam évekkel ezelőtt):

 

Function oszlopnev(oszlszam As Long) As String 
Dim cellastring As String
cellastring = Cells(1, oszlszam).Address(rowabsolute:=True, columnabsolute:=False)
oszlopnev = Left(cellastring, InStr(cellastring, "$") - 1)
End Function

 

Évek óta használom, tökéletesen működik. Igazából most is, csak meglepetésemre az eredményt a VBA képernyőn nem jól jeleníti meg.

A cél a 41 és 41, valamint a 36 és 37 oszlopszámok összegét per jellel elválasztva betenni az immediate ablakban látható képletbe egy későbbi számítás alapjául. 

 

Meglepetésemre a "szoveg" változó fölé állva csak a képlet első fele jelenik meg, az immediate ablakban látszik a teljes képlet. Mielőtt az utóbbit lekérdeztem, hosszasan keresgéltem az okát, hogy hol hibáztam el az összefűzést, mire kiderült, hogy a képlet a szándékom szerint sikerült, csak nem látszik.

Érdekes módon az értékadás után a munkalap megfelelő cellájában szintén hibásan jelenik meg a képlet. Később a munkalapon már a jó adat látszik.

Ehhez hasonló összefűzögetést elég sokat csinálok ugyanebben a programban, és mind rendben van, ennek az egynek a kivételével.

 

Még annyit, hogy karakterenként megnéztem, nincs-e benne valami rejtett karakter, de semmi. 

 

Találkoztatok már hasonlóval?

 

 

Delila10 Creative Commons License 2024.02.16 0 0 37851

Teljesen jó az elképzelésed, én csak a felesleges részeket vettem ki a makródból, a felépítésen nem változtattam.

Előzmény: maciti (37850)
maciti Creative Commons License 2024.02.16 0 0 37850

Szuper! Köszi!

Igazán profi munka...

Én meg csak úgy "parasztosan" írtam...

Köszi még egyszer!

Előzmény: Delila10 (37849)
Delila10 Creative Commons License 2024.02.15 0 0 37849

Szia!

 

Klassz, de megpróbáltam kicsit egyszerűsíteni a makrókat a Module2-ben.

https://data.hu/get/14109334/Kimutatas_proba_1.xlsm

Előzmény: maciti (37848)
maciti Creative Commons License 2024.02.14 0 0 37848

Sziasztok!

Egy sorba rendezéssel, és formázással megoldódott, ha érdekel valakit…

link:

https://data.hu/get/14108770/Kimutatas_proba.xlsm

 

Előzmény: maciti (37846)
Eredő Vektor Creative Commons License 2024.02.14 0 1 37847

De hisz elmenti a munkafüzettel együtt. Megtalálod az Cellák Formázása / Szám / Egyéni (Valahol a lista legalján kell lennie)

Előzmény: Frenki02 (37840)
maciti Creative Commons License 2024.02.13 0 0 37846

Köszi!

Egy kicsit furán néz ki, mert nem egészen erre vágytam...
Ha nincs jobb ötlet akkor megszokjuk!

 

Előzmény: Delila10 (37845)
Delila10 Creative Commons License 2024.02.13 0 0 37845

A hossz mezőt át kell tenned az oszlopokhoz a kimutatásban.

Előzmény: maciti (37844)
maciti Creative Commons License 2024.02.13 0 0 37844

Sziasztok!

Segítségeteket szeretném kérni, az alábbi excel problémával kapcsolatban. Van egy néhány soros adatbázis, és abból készítenék egy rendszerezett táblázatot, mely hasonlóan néz ki mint egy kimutatás. Nagyon jó is lenne, addig amíg nincsenek azonos rekordok, mert azokat összevonja. Persze a kimutatásnak az a feladata, gondoltam ki lehet valahogy kapcsolni ezt az értékmezők számolásait, de nem sikerült. Tud valaki segíteni ez ügyben, vagy más megoldás is jó lenne, ami hasonlóan néz ki…

Előre is köszönöm…

 

minta:

 

https://data.hu/get/14108024/Kimutatas_proba.xlsx

m54-b Creative Commons License 2024.02.11 0 0 37843

Köszönöm!

 

Reméltem tudja az Excel, és ráérek bezáráskor foglalkozni vele.

Előzmény: Delila10 (37842)
Delila10 Creative Commons License 2024.02.11 0 1 37842

Egy eseményvezérelt makrót adhatsz a laphoz, ami a példa szerint az AX1 cellába írja be az utolsó bevitel helyét, és idejét.

 

Private Sub Worksheet_Change(ByVal Target As Range)
   Application.EnableEvents = False
   Cells(1, "AX") = Target.Address & " " & Format(Now, "yyyy.mm.dd hh:mm:ss")
   Application.EnableEvents = True
End Sub

Előzmény: m54-b (37841)
m54-b Creative Commons License 2024.02.10 0 0 37841

Létezik olyan vba változó, hogy melyik volt az utolsó módosított cella?

Frenki02 Creative Commons License 2024.02.09 0 0 37840

Segítséget szeretnék kérni.

Ha létrehozok egy új számformátumot, pl. "db" azt hogyan tudom elmenteni akár hozzárendelni egy kis parancsikont, hogy ne kelljen a későbbiekben újra előállítani?

VízÜgyes Creative Commons License 2024.02.09 0 0 37839

Igen, alapvetően így van, és próbáltam is ezt, de nem működik, marad a régi képlet.

Egyébként valószínűleg nem ugyanaz a verzióm van, mert nekem ezt így nem engedi. Formázás táblázatként lépés után tudok rá táblázatként hivatkozni.

De van ahol egyszerűen elneveztem a tartományt és úgy hivatkozom rá, ott is ugyanez történik.

Előzmény: Delila10 (37837)
VízÜgyes Creative Commons License 2024.02.09 0 0 37838

Nekem az összes táblázatom úgy működik, hogy be van képletezve, és ha sort szúrok be, bizonyos cellákba automatikusan bekerül a képlet, bármiféle makró nélkül. Azt gondolom, hogy azért, mert táblázatként van definiálva.

Egyébként most is azt csinálom, hogy amikor beszúrom a sorokat felhúzom a képleteket, hogy átírja a régi rosszat az új jóra, és épp ennek szükségességét akarom elkerülni.

Előzmény: pimre (37836)

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