Hirdetés

2024. május 4., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.

Összefoglaló kinyitása ▼

Hozzászólások

(#28751) Fferi50 válasza the radish (#28750) üzenetére


Fferi50
őstag

Szia!

Workbooks.Open Filename:= "C:\A.xls"
Range(cells(2,2),cells(2,2).End(xlDown)).Copy destination:=Workbooks("B.xls").Sheets("munka1"). Range("A2")

Üdv.

(#28752) the radish válasza Fferi50 (#28751) üzenetére


the radish
senior tag

Köszönöm!

(#28753) the radish


the radish
senior tag

Adott egy elég hosszú makró, aminek a közepén, ha munka1 A1 = 1 le kéne futnia Szatocs1981 által közzétett makrónak:

Dim Zelle As Range

For Each Zelle In Selection.Cells
Zelle.NumberFormat = "@"
Zelle.Value = Replace(Zelle.Value, ",", ".")
Next Zelle

Ezzel semmi probléma nem is lenne, "THEN" kóddal meg is oldanám, de nem ilyen egyszerű.
A makrónak folytatódnia kell, akár így, akár úgy de ugye ez középen van, tehát nem kéne kilépnie ha a feltétel nem teljesül, viszont a fenti kódnak csak a feltétel teljesülése esetén kéne lefutnia.
A "Case" kapcsoló megint nem lenne jó, mert akkor két makrót kéne fenntartani, ráadásul - amint írtam - a makró közepén lenne az elágazás.

Lehet, hogy nagyon egyszerű, de nem jövök rá.

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

[ Szerkesztve ]

(#28754) poffsoft válasza the radish (#28753) üzenetére


poffsoft
addikt

dupla

[ Szerkesztve ]

[ Szerkesztve ]

(#28755) poffsoft válasza the radish (#28753) üzenetére


poffsoft
addikt

miért lépne ki?
az if then lefuttatja a cserét, és megy tovább a makród.

if worksheet("munka1").range("A1")=1 then
Dim Zelle As Range

For Each Zelle In Selection.Cells
Zelle.NumberFormat = "@"
Zelle.Value = Replace(Zelle.Value, ",", ".")
Next Zelle

ELSE
blabla2
blabla2
END IF

?
vagy nem értelek.

[ Szerkesztve ]

[ Szerkesztve ]

(#28756) the radish válasza poffsoft (#28755) üzenetére


the radish
senior tag

Köszi. Jól belekavarodtam...

(#28757) Rota


Rota
tag

.

[ Szerkesztve ]

(#28758) air


air
nagyúr

Sziasztok!

Először is köszi a segítséget a múltkori problémámban.
Most lehet, hogy picit nehezebbet kérdezek.
Próbált már valaki Excelben műszakbeosztás varázslót csinálni?
Vagy erre inkább Access-t javasolnátok?

Tintatartó, aligátor, búzavirág, csók, gyalupad, fogpiszkáló

(#28759) poffsoft válasza air (#28758) üzenetére


poffsoft
addikt

volt ilyen próbálkozásom.
elég régen. Excel.
Műszak ütemezés, nem komplett nyilvántartás.

[ Szerkesztve ]

[ Szerkesztve ]

(#28760) spe88


spe88
senior tag

Hello,

Olyat, hogy tudok csinálni, hogy egy adott tartományban színezze be a cellát, ha egy másik cella teljes elemét megtalálja benne

Pl.:

A oszlop

asdfalmagfdg
vxcvkörtenvbn
cyxvbarackwerwe
bnvbnvbalmayxcvyxv
agdfagananászvccxv

B oszlop

alma
körte
barack

szóval ezeket színezné ki:

asdfalmagfdg
vxcvkörtenvbn
cyxvbarackwerwe
bnvbnvbalmayxcvyxv

köszi

Spóroljunk! Kerül, amibe kerül!

(#28761) poffsoft válasza spe88 (#28760) üzenetére


poffsoft
addikt

feltételes formázás, kijelölés képlettel.
itt meg az instr() excel megfelelője (talán keres) szövegfüggvény.

[ Szerkesztve ]

[ Szerkesztve ]

(#28762) ueva


ueva
csendes tag

Sziasztok!
Segítséget szeretnék kérni a következő problémára.
Adott egy oszlop, amelyben pl. magasságokat tárolunk csökkenő sorrendben.
Fel kell osztani gondolatban a magasságokat 10 m-es sávok szerint. A „legfelső” sávba tartozzon minden, legalább 2650 m-es magasság, a következőbe az ezeknél kisebb, de legalább 2640 méteresek, az az utáni csoportba kerüljön minden eddig nem szerepelt, de legalább 2630 m-es magasság és így tovább!
Segédcellák nélkül meg kellene adni, hogy hány magasság esik az egyes sávokba! (Ezek szerint a GYAKORISÁG függvény nem alkalmazható!?)

Köszönöm előre is!

[ Szerkesztve ]

(#28763) poffsoft válasza ueva (#28762) üzenetére


poffsoft
addikt

miért nem lehet gyakorisággal?

[ Szerkesztve ]

(#28764) the radish


the radish
senior tag

Az alábbi kijelölés hogy lenne helyesen?

Dim tol$
tol$ = Range("BH2")
Dim ig$
ig$ = Range("BI2")
Range("A" tol$:"B" ig$).Select

Az "ig" tulajdonképpen a BI oszlopban található legnagyobb érték, =MAX(BI:BI)

[ Szerkesztve ]

(#28765) ueva válasza poffsoft (#28763) üzenetére


ueva
csendes tag

Hát, segédcella nélkül kell megadni. A GYAKORISÁG-hoz pedig a csoportokat meg kell adni. :(

(#28766) poffsoft válasza ueva (#28765) üzenetére


poffsoft
addikt

nem ülök excel előtt, de tömböt tudtommal nem csak hivatkozásként tudsz megadni.
talàn a
=GYAKORISÁG(A2:A20;{2360;2350;2340;2330}
Vonalon kellene elindulnod?
tömbképletként.

[ Szerkesztve ]

(#28767) ueva válasza poffsoft (#28766) üzenetére


ueva
csendes tag

Megpróbáltam, de sajna nem működik. :F

(#28768) Fferi50 válasza ueva (#28767) üzenetére


Fferi50
őstag

Szia!

Ha a képen levő értékek számok (azaz cellaformázással van a " m" hozzáadva), akkor a GYAKORISÁG függvénynek működnie kell (Ha F2 után, illetve a szerkesztősorban csak a szám jelenik meg).
A "titok", hogy poffsoft képletét tömbképletként kell megadni annyi sort kijelölve, ahány gyakorisági osztályt tartalmaz a második paraméter, jelen esetben 4 sort, ha bővíted az osztályok számát akkor annak megfelelő sort kell kijelölnöd a cél oszlopban.

Ha viszont a 2655 m érték szövegként van beírva (azaz 2655 m a cella értéke, ha F2-t nyomsz rá), akkor nem használható a gyakoriság függvény, mert nem számként értelmezi.

Egyébként mit jelent a sajna nem működik? 0 értéket ír ki vagy hibát, ha hibát akkor melyiket? Adj több információt, hogy segíthessünk.

Üdv.

(#28769) the radish


the radish
senior tag

Sziasztok!

Tegnap esti problémámat egy kis utánajárást követően megoldottam.

Most az alábbit szeretném kivitelezni:
Egy makró behív egy file-t. Ha az nem található, akkor az alábbi üzenet fogad:

Meg lehet azt oldani, hogy ha nem találja az adott file-t, akkor egy felugró msg box fogadjon a VB ablaka helyett?

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

(#28770) szatocs1981 válasza the radish (#28769) üzenetére


szatocs1981
aktív tag

Ez segít a továbbiakban?

If Dir("C:\amitakarsz.txt") <> "" Then
MsgBox "File létezik!"
Else
MsgBox "File nem létezik!"
End If

(#28771) rgqjx


rgqjx
aktív tag

Sziasztok!

Ezzel kapcsolatban tudnátok adni pár támpontot? Ti hogy indulnátok neki?

Köszönöm!

(#28772) the radish válasza szatocs1981 (#28770) üzenetére


the radish
senior tag

Köszönöm!

(#28773) ueva válasza Fferi50 (#28768) üzenetére


ueva
csendes tag

Szia!
A táblázat értékei számok, a m csak formázással van mögé téve.
Igen tömbképletként alkalmaztam a GYAKORISÁGOT, de teljesen hibás értékek jöttek ki. Erre írtam, hogy sajna nem működik.
Aztán rájöttem, hogy a csoporttömb értékeinek nem a leírásban szereplő 2650, 2640, 2630..... értékeket kell megadnom, hanem 10-zel felfelé tolva 2660, 2650, 2640.....
Így már jobb az eredmény. Csak az a gond, hogy a kerek értékeket nem a jó csoportba számolja, hanem az alatta lévőbe.
Lehet, hogy mégsem jól adtam meg a csoporttömb értékeit?

(#28774) Fferi50 válasza ueva (#28773) üzenetére


Fferi50
őstag

Szia!

Úgy gondolom, akkor a csoporttömb értékeket kellene 1-gyel csökkentened, így a kerek értékek már felfelé esnének.

Üdv.

(#28775) ueva válasza Fferi50 (#28774) üzenetére


ueva
csendes tag

Köszönöm a segítséget neked és poffsoft-nak is!!! :K
Még egy kérdésem lenne. A különböző sávba eső értékeket feltételes formázással váltott színnel (egyik sávba eső értékek kék háttérrel, következő sávba esők fehér háttérrel) jelenjenek meg.
A képen kézzel csináltam, és elvileg ezt is segédcellák nélkül kellene.
Talán valamiféle maradékos osztásos képlettel meg lehetne oldani?

[ Szerkesztve ]

(#28776) m.zmrzlina


m.zmrzlina
senior tag

Hogyan tudom beállítani az AutoFit tulajdonságot egy cellára?

Nem a sor/oszlop azonosítók közti duplakattra gondolok, hanem hogy automatikusan történjen az AutoFit ha szükség van rá. Régen volt ilyen egy munkalapomon de nem tudom hogyan lehet beállítani.

[ Szerkesztve ]

(#28777) szatocs1981 válasza m.zmrzlina (#28776) üzenetére


szatocs1981
aktív tag

Néha egyszerübb (és gyorsabb) lenne a googliban keresgélni....

[link]

(#28778) the radish válasza Fferi50 (#28774) üzenetére


the radish
senior tag

Jaj bocsánat, nem válasznak szántam.

Egy ismeretlen hibába ütköztem.

Egy változó alapján megy végbe a szűrés:

Sheets("m1").Select
kr10 = Sheets("m2").Range("IV1")
Range("A:A").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:= _
"=" & kr10
Range("A1:F20000").Select

Semmi gond nincs, de ha a változó 10, vagy nagyobb érték, nem működik. Mi lehet a gond?

[ Szerkesztve ]

(#28779) the radish válasza the radish (#28778) üzenetére


the radish
senior tag

Láma vagyok.
A kijelölés volt kevés. A1:F20000

[ Szerkesztve ]

(#28780) poffsoft válasza ueva (#28775) üzenetére


poffsoft
addikt

ez feltételes formázás lesz, elvileg cellaérték alapján, de képlettel is megoldható.
minden osztálynak más színt kell adni?
mert a gyakoriság leírása szerint: az osztály felső, alsó határával (HF, HA ) kifejezve x-et:
HF1> x >=HA1
HF2=HA1> x >=HA2
vagyis:
1. osztály: ]HF1 - HA1]; [HF2 - HA2];

ezt én annyi feltételes formázással tudom megadni, ahány osztályod van.

Kijelölöd az adattartományt, és egyesével hozzáadod ezeket a feltételeket a formázáshoz:
1.) =ÉS(A2<1000000;A2>=2300)
2.) =ÉS(A2<2300;A2>=2290)
3.) =ÉS(A2<2290;A2>=2280)
...

[ Szerkesztve ]

(#28781) kopi.dll


kopi.dll
tag

Sziasztok.

Lenne egy megoldandó problémám,amiben a segítségeteket szeretném kérni.

Adott egy hexadecimális szám egy cellában pl.:"‭01 E6 AB‬" majd ezt szeretném összeadni (01+E6+AB), és egy cellában megkapni az eredményt.

Tudna ebben segíteni nekem vki.?

Köszönöm előre is. :R

kopi.dll

(#28782) the radish


the radish
senior tag

Függőleges tartományban az alábbi számok vannak (max 999, min -99):
230
-67
98
-98
11
Szükségem lenne arra, hogy minden szám maximum 3 karakter hosszúságú legyen:
230
-67
098
-98
011
stb
SZÖVEG függvénnyel próbálkozom, de nem jön össze.

(#28783) m.zmrzlina válasza kopi.dll (#28781) üzenetére


m.zmrzlina
senior tag

Én a Szövegből oszlopok paranccsal először szétdarabolnám /akár rejtett cellákba/ és azt már össze lehet adni.

(#28784) m.zmrzlina válasza the radish (#28782) üzenetére


m.zmrzlina
senior tag

Próbáld a következő egyéni formátumkóddal:

000;-00

(#28785) Fferi50 válasza kopi.dll (#28781) üzenetére


Fferi50
őstag

Szia!

Ha számod az A1 cellában van, akkor a képlet a következő:
=HEX.DEC(BAL(A1;2))+HEX.DEC(KÖZÉP(A1;4;2))+HEX.DEC(JOBB(A1;2))
Ha az eredményt is hexában szeretnéd látni, akkor a fenti képletet tedd be a DEC.HEX függvénybe.
Üdv.

[ Szerkesztve ]

(#28786) the radish válasza m.zmrzlina (#28784) üzenetére


the radish
senior tag

Ezzel összejött, köszönöm!

(#28787) m.zmrzlina válasza the radish (#28786) üzenetére


m.zmrzlina
senior tag

Szivesen.

(#28788) ueva válasza poffsoft (#28780) üzenetére


ueva
csendes tag

Köszönöm szépen!
Klasszul működik! :R :R

(#28789) poffsoft válasza ueva (#28788) üzenetére


poffsoft
addikt

nm :)

[ Szerkesztve ]

(#28790) kopi.dll válasza Fferi50 (#28785) üzenetére


kopi.dll
tag

Szia,
köszönöm szépen sikerült.

Egy kis módosítás, hogy a függvény alakilag, így néz ki HEX2DEC.

üdv
:R :R :R

kopi.dll

(#28791) Fferi50 válasza kopi.dll (#28790) üzenetére


Fferi50
őstag

Szia!

No igen, a függvények "kinézete" és neve verziófüggő - sajnos.

Üdv.

(#28792) kopi.dll válasza Fferi50 (#28791) üzenetére


kopi.dll
tag

Ok. Köszi :B

kopi.dll

(#28793) ueva válasza poffsoft (#28780) üzenetére


ueva
csendes tag

Szia!
Mégsem működik! :(
Az én hibám félreértelmeztem a feladatot.
A feltételes formázást 2 színnel kell csak elvégezni. A legnagyobb érték fehér hátterű legyen a többi sávba tartozó pedig ennek megfelelően kék/fehér felváltva.
A sávok: 2659-2650i, 2649-2640, 2639-2630,.....,2509-2500.
Ezt úgy oldottam meg, hogy a feltételes formázáshoz a következő két szabályt írtam:
=MARADÉK(KEREK.LE($A2/10;0);2)=1 --> FEHÉR HÁTTÉR
=MARADÉK(KEREK.LE($A2/10;0);2)=0 -->KÉK HÁTTÉR

Aztán utána néztem, hogy abban az esetben, ha valamelyik értéken módosítok, akkor attól függően a formázásnak is követnie kell.
pl: Ha a 4. értéket a 2634-et 2640-re módosítom, akkor mivel 3 érték esik a 2640-es sávba mindhárom kék színű viszont az utána következő sávnak már fehérnek kell lenni.
Ilyennek kéne lenni:
Nekem viszont nem az, mivel a képletem szerint 10-zel osztva az is páros.
Az enyém így néz ki:

Hogy lehetne úgy megadni a formázás szabályát, hogy helyesen működjön?

Nagyon köszönöm!
Üdv.

(#28794) poffsoft válasza ueva (#28793) üzenetére


poffsoft
addikt

Eléggé zavaros.
Nem tudom, miért osztással próbálkozol, ha a feladat az osztályképzéssel indult, valószínű a formázásnál is az osztályokat kellene használni.

feltételes formázással add meg ugyanígy:

fehér háttér:
=VAGY((A2>=2650);ÉS(A2<2639;A2>=2630);ÉS(A2<2619;A2>=2610);ÉS(A2<2599;A2>=2590);ÉS(A2<2579;A2>=2570);ÉS(A2<2559;A2>=2550);ÉS(A2<2539;A2>=2530);ÉS(A2<2519;A2>=2510))
kék háttér:
=VAGY(ÉS(A2<2649;A2>=2640);ÉS(A2<2629;A2>=2620);ÉS(A2<2609;A2>=2600);ÉS(A2<2589;A2>=2580);ÉS(A2<2569;A2>=2560);ÉS(A2<2549;A2>=2540);ÉS(A2<2529;A2>=2520);(A2<2509))

nem nagyon értem, mi a feladat...

a leírásod szerint mégsem az osztályok szerint kell színezned (azért kék a következő is, mert a köztük lévő osztály gyakorisága 0 (nincs ilyen adat).

most akkor pontosan mi is a feladat?
segédoszlopok nélkül?
ha egy osztályköz üres, azt ne vegye figyelembe a feltételes formázás?
ez szép feladat, most nem is vállalnám be...

[ Szerkesztve ]

[ Szerkesztve ]

(#28795) ueva válasza poffsoft (#28794) üzenetére


ueva
csendes tag

Szia!
Bocs, hogy ilyen zavarosan adom elő, de először én is félreértelmeztem a problémát.
Megpróbálom kevésbé zavarosan leírni.
Szóval:
Van néhány magasság adatom, amelyeket gondolatban 10 m-es sávokra fel kell osztani, majd megadni, hogy az egyes sávokba hány adat tartozik. Ehhez kellet a GYAKORISÁG.(A színezést itt csak manuálisan végeztem)

Aztán jött az új kihívás, hogy ezeket a sávokat ki kell emelni úgy, hogy az azonos sávba tartozó magasságok azonos háttérrel, a különböző sávokba tartozó, viszont a táblázatban „szomszédos” magasságok adatai eltérő háttérszínnel jelenjenek meg! Első sáv adatai fehér, következő kék...stb. Csak arra nem figyeltem, hogy a színezés automatikusan reagáljon minden (a magasságok eredeti, monoton csökkenő rendezettségét megtartó) adatváltozásra! Tehát, ha pl. a 2634 m-es magasságot átírom 2640 m-re, akkor így már az a 40-es sávba fog tartozni, tehát kék színű. A 30-as sáv gyakorisága 0, a 20-as sávnak így fehérnek kell lennie.
Valahogy így:
De, ha a feltételes formázásban lefixálom, hogy melyik sáv milyen színű legyen, akkor nem fogja követni a változásokat.
Most egy kicsit érthetőbb voltam?
Nagyon köszi a segítséget előre is!
Üdv

(#28796) spe88


spe88
senior tag

Olyat, hogy tudok, hogy feltételes formázásnál a képletbe az legyen, hogy az adott szám egyenlő 0-val és a .Pattern = xlGray25 szerint van bepontozva, akkor rakja a cellát pirosra!

Igazából ez a .Pattern = xlGray25 az amit nem tudom, hogy tudnék egy képeltbe beilleszteni!

Köszi

Spóroljunk! Kerül, amibe kerül!

(#28797) the radish


the radish
senior tag

Sziasztok!

Msgbox kód kéne, amin van egy Ok és egy Mégse.
Az Ok lenne az alapértelmezett és 10 sec múlva aktivizálódna is, ráadásul az sem ártana, ha a hátralévő idő ez az OK felirat mellett (előtt) zárójelben látszódna.

Van erre megoldás?

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

(#28798) Fferi50 válasza the radish (#28797) üzenetére


Fferi50
őstag

Szia!

Szerintem ez saját alkotású UserForm-mal oldható meg. Egy cimke az üzenettel, két parancsgomb + egy cimke a timernek.
Amikor megmutatod a formot, beállítod az üzenetet és a timert - megjelenítés userform.show false paraméterrel, hogy a program fusson tovább, de a programba beteszed a 10 mp várakozási időt is (Application.Wait) a megjelenítő sor után - ha lejárt az idő, végrehajtod a műveletet és eltünteted a formot.
Ha Mégse gombot nyomnak, akkor is el kell tüntetned a formot, mielőtt tovább mész.

Üdv.

[ Szerkesztve ]

(#28799) the radish válasza Fferi50 (#28798) üzenetére


the radish
senior tag

Köszi, de az aktiválást úgy gondoltam, hogy le is nyomódik az ok gomb.

Most ezzel kísérletezek, de az a baj, hogy ugyan lenyomódik a kijelölt gomb, de nem tudok semmi mást csinálni amíg tart az idő, konkrétan még klikkelni sem tudok egyik gombra sem.

Sub vagy()
UserForm11.Show
Application.Wait Time + TimeSerial(0, 0, 10)
UserForm1.CommandButton1 = True
UserForm1.CommandButton1 = vbClick
End Sub

Azaz valahogy jó lenne a visszaszámolás, de ugyanakkor aktívnak kéne maradnia a gomboknak, ha meg akarom pl. szakítani a mégsem gombbal.

(#28800) Fferi50 válasza the radish (#28799) üzenetére


Fferi50
őstag

Szia!

A userformnak van egy modal paramétere, ami
vagy 1 (ha nem adod meg, ez a default), ebben az esetben addig nem megy tovább a program, amíg a form látszik
vagy 0 ill. False lehet, ezt mindig meg kell adni. Ilyenkor a form nem állítja meg a program futását. Ezért is írtam, hogy a False paramétert is állítsd be a show meghívásakor.

Az application.wait valóban megállítja a program futását, bocs erre nem voltam figyelemmel, más módon kell a 10 mp - visszaszámlálást megoldani.
Még agyalok rajta egy kicsit, lehet az időzítő funkciót kell használni.

Üdv.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.