-
Fototrend
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.
Új hozzászólás Aktív témák
-
mr.nagy
tag
válasz
m.zmrzlina
#11889
üzenetére
Köszönöm! Ez működik.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11889
üzenetére
Pontosabban ezt:
=ÖSSZEFŰZ(B2;"00000";SZÖVEG(C2;"000");SZÖVEG(D2;"00");E2;F2;)
-
bugizozi
őstag
válasz
m.zmrzlina
#11860
üzenetére
Igen, ha nem ilyen össze-vissza rövidítések lennének, akkor ez is jó megoldás lenne

-
jerry311
nagyúr
válasz
m.zmrzlina
#11856
üzenetére
Holnap munkaidőben megpróbálom újra.

-
jerry311
nagyúr
válasz
m.zmrzlina
#11852
üzenetére
Az igazat megvallva, magát a kódot tudom értelmeni, csak azt nem tudtam, hogy lehet életre kelteni Excelben.

-
Delila_1
veterán
válasz
m.zmrzlina
#11852
üzenetére
A 2003 is ismeri a RANDBETWEEN függvényt, a 2010-ben VÉLETLEN.KÖZÖTT a neve.
-
jerry311
nagyúr
válasz
m.zmrzlina
#11850
üzenetére
Tthx!
De ezt nem tudom értelmezni.
Tippelem valahol be kéne adnom, mint makrót, de eddig még nem sikerült működésre bírni. -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11728
üzenetére

Csak hogy ne maradjon az archívumban hülyeség kijavítatlanul, a makró helyesen:
Sub min_max()
Dim min As Single
Dim max As Single
Dim tipus As String
Dim i As Integer
For i = 1 To Range("A1048576").End(xlUp).Row
Cells(i, 1).Select
tipus = ActiveCell.Value
min = ActiveCell.Offset(0, 1).Value
max = ActiveCell.Offset(0, 1).Value
If Application.WorksheetFunction.CountIf(Range("D:D"), tipus) = 0 Then
Cells(1, 1).Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = tipus Then
If ActiveCell.Offset(0, 1).Value < min Then
min = ActiveCell.Offset(0, 1).Value
ElseIf ActiveCell.Offset(0, 1).Value > max Then
max = ActiveCell.Offset(0, 1).Value
End If
End If
ActiveCell.Offset(1, 0).Select
Loop
Cells(Range("D1048576").End(xlUp).Row + 1, 4).Value = tipus
Cells(Range("E1048576").End(xlUp).Row + 1, 5).Value = min
Cells(Range("F1048576").End(xlUp).Row + 1, 6).Value = max
End If
Next
End Sub -
perfag
aktív tag
válasz
m.zmrzlina
#11728
üzenetére
Á, értem. Kell egy kigyűjtés és minden típusra a minimum-maximum.
Tömbképlettel, makró nélkül, H8-ba beírva, H7 üres kell legyen:
{=INDEX(INDIREKT("$C$5:$C$"&$H$4);HOL.VAN(0;DARABTELI($H$7:H7;INDIREKT("$C$5:$C$"&$H$4));0))}A lista C5-től indul, lehúzható. Ha elfogytak a unique iteme-ek, akkor #HIÁNYZIK üzenetek jönnek, ha nem tetszik, akkor törölhetők.
H4-be az utolsó sort megállapító {=MAX(SOR(C:C)*(C:C<>""))} tömbképlet kell innen, a minimum és maximummal együtt.
-
válasz
m.zmrzlina
#11710
üzenetére
Először is egy új/üres munkalappal kezdj, arra tegyél egy activex CommanButton-t, ami megjeleníti a UserForm1-et, a UserForm1-re megint egy CommandButton-t, ami negjeleníti a UserForm2-öt, UserForm2-re egy CommandButton, ami bezárja. Mindezt úgy, ahogy korábban írtam(abban a formában, a modal-t is úgy használva), semmi más.
Ha ez működik, akkor a VBA kódoddal van gond, ami akár abból is adódhat, hogy különböző események is fel vannak programozva, és esetleg "keresztbe tesznek" egymásnak stb.
Így legalább kiderül, hogy merre kell keresni a hibát. Ha a kódodban, azt sajnos csak Te tudod megtenni/javítani... -
válasz
m.zmrzlina
#11707
üzenetére
És ha simán az ablak/form jobb felső sarkában lévő X-el zárod be, akkor is ez a szitu?
Badb0y
Ezt nem kell indítani, ez egy függvény, amit úgy használhatsz, mint pl a SZUM függvényt. Ha új modulba bemásolod a kódot (első bekezdés), amit adtam, akkor egy adott cellán állva elkezded begépelni, hogy =FSCD és már látod is a függvény nevét meg hogy egy cellát kell megadni bemenő paraméterként. -
válasz
m.zmrzlina
#11704
üzenetére
Megjeleníteni egyik form-ról a másikat próbáld meg így (UserForm1-en lévő CommandButton1-el jeleníted meg a UserForm2-őt, Modal módban (a Modal mód azt jelenti, hogy amíg az adott ablakot/Form-ot be nem zárod, addig nem tudsz kattintani máshova, se munkafüzetre, se másik form-ra stb))
Private Sub CommandButton1_Click()
UserForm2.Show vbModal
End SubA UserForm2-ön lévő CommandButton1-el meg így zárd be a UserForm2-őt.
Private Sub CommandButton1_Click()
Unload Me
End SubEz Nálam kifogástalanul működik évezredek óta...

-
válasz
m.zmrzlina
#11702
üzenetére
A korábbi példádban még van két munkalap kiválasztás is (Select), lehet, hogy az zavar be...
Ezenkívül az sem mindegy, hogy milyen módban jeleníted meg a form-ot, azaz csak egy info ablak és attól még lehet matatni a munkalapon, avagy egy modal ablak, amikor nem, amíg a form-ot be nem zárod... -
válasz
m.zmrzlina
#11700
üzenetére
Lehet, hogy nem kellene letiltani a ScreenUpdating-et...
Azt tiltod, ami a (képernyő)frissítésért is felel... -
Delila_1
veterán
válasz
m.zmrzlina
#11646
üzenetére
A felhasználó szabja meg, hány szót választ ki.
Ha 10 kiválasztott szóból tud 2-t, az 20%. 100 közül 20 jó válasz szintén 20% lenne, de ez a 20 darab felszorozva pl. 1,3-mal már 26 helyes válasznak felel meg, javul az elért eredmény.
A szorzó mértéke a kiválasztott szavak számától függjön, minél több szót választ ki a felhasználó, annál nagyobb legyen a szorzó.
-
Oly
őstag
válasz
m.zmrzlina
#11645
üzenetére
Szia
Ezt néztem már, de nem a
winfowindows beállítása, hanem az Office lesz, mert csak azokban ilyen. -
Delila_1
veterán
válasz
m.zmrzlina
#11633
üzenetére
Ennek tényleg örülök, és gratulálok!

-
Delila_1
veterán
válasz
m.zmrzlina
#11609
üzenetére
Igen.

-
Delila_1
veterán
válasz
m.zmrzlina
#11607
üzenetére
Az újabb D1 határ után törölheted a D1 tartalmát, és indulhatsz nulláról, ABC szerint rendezett szavakkal.
-
Delila_1
veterán
válasz
m.zmrzlina
#11604
üzenetére
Minden válasz, vagy ellenőrzés után növeld az értéket egy cellában, a tartományt pedig rendezd a hibapontokat tartalmazó oszlop szerin csökkenő sorrendbe.
A szavak számától függően, de pl. 100 db válasz után a Randbetween értékhatárát 1 és X közé állítsd be.Ez a számláló cella legyen pl. a D1 az aktuális lapon. Ha ennek az értéke 100 alatt van, akkor az Rnd legyen úgy, ahogy írtad. A rendezést minden válasz után megcsinálod.
Ha a D1=100, akkor töröld a hibapontokat (a rendezés marad), és legyen az Rnd 1 és 20 között. Újabb D1 határnál abc szerint rendezheted ismét a szavakat az A oszlop szerint. -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11604
üzenetére
Ahány lecke annyi munkalap (mindegyiken csak A és B-ben szavak) és amelyiket kiválasztja a felh. a Comboboxban az aktiválódik és válik fehérré a betűszíne.
-
Delila_1
veterán
válasz
m.zmrzlina
#11601
üzenetére
Public sor%
Public WS1 As Worksheet, WS2 As Worksheet
Sub szavak()
Dim usor%
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
usor% = WS1.Range("A1").End(xlDown).Row
sor% = Int(Rnd() * usor%) + 1
WS2.Cells(1) = WS1.Cells(sor%, 1)
WS1.Cells(3) = sor%
End Sub
Sub ell()
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
sor% = WS1.Cells(3)
If WS1.Cells(sor%, 2) <> WS2.Cells(2) Then
WS1.Cells(sor%, 3) = WS1.Cells(sor%, 3) + 1
End If
End SubAz elsővel feldobod a szót a Munka2!A1-be, az Rnd-vel kiválasztott sor számát beírod a Munka1!C1-be. A másodikkal ellenőrzöd a Munka2!B1-be írt választ. Ha nem jó, a Munka1 lapon a 3. oszlop értékét növeled 1-gyel a Munka1!C1-edik sorában, ahonnan a szót kiválasztotta az Rnd.
Sok kérdés és ellenőrzés után ki tudod választani a Munka1 C oszlopából a legtöbbször tévesztett szavakat, ezeket másolod az eredeti szavak alá, és úgy irányítod a véletlent, hogy ezekre mutasson.
Szerk.: nem is kell másolni. Rendezed a Munka1 A:C tarományát a C oszlop szerint, és szűkíted az Rnd tartományát.
-
Delila_1
veterán
válasz
m.zmrzlina
#11601
üzenetére
Helytelen válasz esetén a függvénnyel létrehozott sor egy cellájának az értékét növeled. X db kérdés után a randbetween alsó és felső határát ezeknek a számoknak a minimumával és maximumával határozhatnád meg.
Ez még nem az igazi, csak közelít. Az új értékhatárok előtt törlöd a helytelen válaszok oszlopát, az új határokkal megint feltöltöd az X kérdésre adott hibás válaszokkal. Így szűkítheted a tartományt, de biztosan van ennél jobb ötlet is.Úgy is csinálhatod, hogy a maximumot veszed alapul, és ezt bővíted fel- és le néhány sorral.
Szerk.:
A legtöbbször elhibázott szavakat a lista végére teszed, és a véletlen határait eszerint szabod meg. -
ArchElf
addikt
válasz
m.zmrzlina
#11583
üzenetére
Option Explicit
AE
-
ArchElf
addikt
válasz
m.zmrzlina
#11581
üzenetére
Ha az Initialize-ban deklarálod, akkor sehogy (mert csak annak a kontextusában léteznek).
Ha viszont a Form-on definiálod, akkor a form bármely tagja eléri (nem kell átadni), ha Protected-ként deklarálod, akkor a Form és a leszármazottjai, ha Internal-nak, akkor az adott namespace-en belül bármelyik tag, ha pedig Public-nak, akkor akárki.AE
-
biker
nagyúr
válasz
m.zmrzlina
#11540
üzenetére
igen, rosszul gondolkodtam

-
biker
nagyúr
válasz
m.zmrzlina
#11538
üzenetére
köszi!
sajna a 3-4-5-6x ismétlésekre nem jó, ezért 2-3-4 lépésben kell azt hiszem lejátszam, de megoldható
-
gigi183
csendes tag
válasz
m.zmrzlina
#11471
üzenetére
Az eredeti táblázatomban természetesen egy egész hónapnyi adat szerepel, tehát nyilván van aki szombaton jön és kedden távozik, csak leszűkítettem egy hétre, kiindulásnak mindenki hétfőn jön, és vasárnap mindenkit kipakolnak

A D oszlopban csak szoba sorszám van, teljesen elhanyagolható, nincs semmilyen jelentősége.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11449
üzenetére
Csak Select Case szerkezetben kell a páratlan sor helyett a párosból kivonni az 1-et így:
Természetesen a "páratlan sor" helyesen "páratlan oszlop".
-
beers
addikt
válasz
m.zmrzlina
#11452
üzenetére
Ezt is megnézem hétfőn! (cégnél ilyen)

-
Padam
aktív tag
válasz
m.zmrzlina
#11400
üzenetére
Szia!
Kicsit változtatni kellett a táblázaton, úgyhogy most úgy néz ki, hogy az A,B oszlopban fix infók vannak, tehát a napok így vannak:
C,D oszlop szeptember 26:
C oszlop délelőtt, D oszlop délutánE,F oszlop szeptember 27:
E oszlop délelőtt, D oszlop délutánstb.
Ez alapján módosítanád kérlek amit írtál?

A napokat írhatom a végtelenségig?
Előre is kösziiii!

-
lomajpure
csendes tag
válasz
m.zmrzlina
#11431
üzenetére
ok. már annyi köszönöm volt, hogy helyette itt egy grat taps

-
lomajpure
csendes tag
válasz
m.zmrzlina
#11428
üzenetére
Amúgy amikor alulra kiírja a színkódokat, azoknak adhatok fehér színű betűtípust ugye? és akkor nem is lenne látható
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11426
üzenetére
Illetve hogy legyünk konzekvensek és ne keveredjen a Target.... meg az Activecell....:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 3 And Target.Row <= 5 And Target.Column <= 32 And Target.Column >= 3 Then
If Target.Interior.ColorIndex <> 24 Then Target.Offset(10, 0).Value = Target.Interior.ColorIndex
If Target.Interior.ColorIndex = 24 Then
Cells(Target.Row, 36).Value = Cells(Target.Row, 36).Value - 8
Target.Interior.ColorIndex = Target.Offset(10, 0).Value
Exit Sub
End If
Cells(Target.Row, 36).Value = Cells(Target.Row, 36).Value + 8
Target.Interior.ColorIndex = 24
End If
End Sub -
lomajpure
csendes tag
válasz
m.zmrzlina
#11426
üzenetére
Pfűűű.. azta!! stb.. örök hála. Amúgy hogy értsd miben segítettél: ez egy munkanap naptár bruttó+nettóbérszámoló lesz. Emberke odakattintgat amikor dolgozott, és kidobja az elvileg pontos bruttóbérét majd, aztán már csak arra kell rájöjjek hogyan szedjem ki a nettober.com ról a nettóbér számolót

köszönöm!! -
válasz
m.zmrzlina
#11421
üzenetére
A makró első futtatásakor tárold le tömbben az eredeti színeket , aztán onnan vissza tudod állítani. (pl egy változót 0 kezdőértékkel, ezt viszgálod az első futtatáskor, ha 0, akkor elmented a színeket, majd a változót 1-re állítod, így a következőkben már nem ne mentődnek el a színek, hisz felesleges is lenne)
poffsoft
Nem lett véletlenül benyomva a scroll lock a billentyűzeten?
(vagy be van ragadva, de ilyenkor más alkalmazásokban is "furcsa" dolgokat kellene tapasztalnod) -
lomajpure
csendes tag
válasz
m.zmrzlina
#11420
üzenetére
Tökély. Már csak az a bibi, ahogy láttad, vannak színezett cellák alapból, és fehér lesz mind szürke után. Gondolom megjegyeztetni nem lehet vele a cella színét, hogy milyen volt, és olyan legyen ha visszakattintok. Elvileg így is jó, köszönöm még1x.
-
lomajpure
csendes tag
válasz
m.zmrzlina
#11417
üzenetére
Még talán annyit, ha lehet, hogy ahogy látom a cellák 24-es színt kaptak belül. Hogy ha adott sorban 24-es színű cellára kattintok, ahol ugye már számolta a 8at, akkor levonja, és visszakerüljön az eredeti szín?
-
lomajpure
csendes tag
válasz
m.zmrzlina
#11413
üzenetére
Hali!
Köszi a segítséget, szürkülnek a cellák
Viszont ha jól veszem ki a kódból, a 36. sorba írná az eredményt, de én nem látok sehol semmit, ahol számolna. -
Padam
aktív tag
válasz
m.zmrzlina
#11373
üzenetére
Szia!
Szuper, így már működik, köszönöm szépen!
A napok egymás után lesznek, tehát most van a B,C, szeptember 6. az D,E, stb..
Előre is köszi ezt is!
-
válasz
m.zmrzlina
#11375
üzenetére
bocs, parancsolj itt van egy példának:
[link]és amit szeretnék belőle:
sallang nem kell, üres sorok sem a dátum egységesen éééé.hh.nn. ha lehet text cella típusba
és a szóközöl eltávolítása.
lehetséges ez?
-
válasz
m.zmrzlina
#11371
üzenetére
m.zmrzlina, perfag.
Elosszor is koszonom a valaszotokat.Vegul is nem titok. A police.hu-n fent leveo trafi adatokat akarom exelbe rakni. Ott egy html alapu tablazatba van rakva. Direkt, vagy sem szinte alig van ugyan az ketszer leirva, ha tobb havi eredmenyt nezunk. Vagy az eleen vagy a vegen van tobb szokoz, illetve egy egy betu el van utve.
Azert akarnam makroba, mert tobb muveletet szeretnek egymas utan elvegezni. Tehat csak bemasolom az adatokat, es kapok eredmenykent egy rendes adathalmazt. Jelen formajaban feldolgozhatatlan, ha mondjuk statisztikat szeretnek belolecsinalni. -
Padam
aktív tag
válasz
m.zmrzlina
#11366
üzenetére
Szia!
Van rá igény, de lehet a 2-es munkalapon is a dolgozók neve.
Viszont létrehoztam egy makrót és beírtam amit javasoltál, de továbbra is enged két azonost kiválasztani.
Illetve arra van tipped, hogyan lehetne megcsinálni, hogy, ha a következő napoknál is működjön a dolog?
Köszi az eddigi és az elkövetkezendő segítséget is!

-
pitman
őstag
válasz
m.zmrzlina
#11310
üzenetére
Igen erre gondoltam, nagyon köszönöm kipróbálom.
-
pitman
őstag
válasz
m.zmrzlina
#11263
üzenetére
Elnézést, hogy csak most reagálok, kicsit el voltam veszve.
Azt hiszem, hogy ezt szerettem volna. Végül megírtam makróban a vizsgálatot, nagyon köszönöm az eddigi segítségedet.Még egy kérdésem lenni az az aktuálisan megváltozó cella helyének meghatározásához.
Az általad leírt megoldás jól működik addig, amíg a cellából munkalapon belül lép ki az ember, azonban ha a szerkesztést úgy fejezi be, hogy átvált egy másik munkalapra, akkor a sor és oszlop értékeket jól adja vissza, viszont a munkanap neve már az új munkalapé lesz (így viszont a kívánt ellenőrzéseimet rossz munkalapon fogja elvégezni). Ezt hogyan lehet orvosolni? -
kangool
tag
válasz
m.zmrzlina
#11272
üzenetére
PDF fájllal van gond. Próbáltam sok olvasóval, optimalizáltam is, de ugyanaz a helyzet.
-
Angerfis
csendes tag
válasz
m.zmrzlina
#11266
üzenetére
Nagyon szépen köszönöm!Nálatok a pont!
Köszi még egyszer -
pitman
őstag
válasz
m.zmrzlina
#11241
üzenetére
Lehet, hogy rosszul magyaráztam el, hogy mit szeretnék, de a képleted enged olyan értéket bevinni, amit nem lenne szabad.
A feladat az lenne, amit az én képletem megvalósít, viszont ez nem akar működni érvényesítésként.
B1 cellában tetszőleges értékek lehetnek vagy lehet üres is a cella.
B2-ben azon lista elemei fordulhatnak elő, amikben a hol.van függvénnyel keresünk.
B5-ben vagy semmi vagy 1, illetve 2 a megengedett érték a következők szerint:
Ha b2 tartalma a lista bal oldali elemi között megtalálható és b1 <>"M" akkor 1-est vagy semmit lehet elfogadni; ha b2 értéke a lista jobb oldalában található vagy b1="M" akkor 2-es vagy semmit lehet elfogadni. Az 1, 2 vagy semmi kivételével b5-be semmilyen más érték nem kerülhet bevitelre.A legújabb képleteddel simán be lehet írni akár 5-öt is b5-be, ha b1 üres.
-
pitman
őstag
válasz
m.zmrzlina
#11233
üzenetére
Köszönöm a segítséget mindkettőtöknek.
Úgy látom, hogy elírtam a képletemet, a végén levő hol.van függvénynek a b2 értékét kellene keresnie, nem a b5 értéket. Ettől függetlenül nem működik.
Sajnos a Te képleted sem azt csinálja, amit szeretnék. Ha a második feltétel teljesül (b2 értéke megvan a második felsorolásban és b1="M"), akkor működik, egyéb esetben bármit enged beírni.
Azért kellene az érvényesítés, mert ezt nem egyetlen cellára akarom alkalmazni, hanem egymás mellet többre. Automatikusan nem írható be az érték, mert a b5 sor cellái vagy nem tartalmaznak majd értéket, vagy igen, de akkor csak az aktuális oszlopban levő egyéb értékek függvényében lehet elfogadni 1-et vagy 2-őt.
A feladat az lenne, ha a b2 sorban levő érték megvan az első listában és b1 sor nem "M" , akkor a b5 sor vagy üres vagy 1 lehet. Ha b2 sor értéke a második listában található vagy b1 sor ="M", akkor a b5 sor vagy üres vagy 2 lehet (értelemszerűen egy adott oszlopra vonatkozik a feltétel). Nem tudom, hogy ez így érthető-e?
Igazából azt nem értem, ha a képlet a táblázatban jó, akkor érvényesítésnél miért van vele problémája?A makrós dolog működik, nagyon köszönöm, ezzel már el fogok boldogulni.
-
danih
veterán
válasz
m.zmrzlina
#11235
üzenetére
Jó ötlet. Ám a fő gond, hogy a weblapról ilyen web queryvel nem tudom lehozni az adatot, mert dinamikus, és nem azt mutatja, ami nekem konkrétan kell megnyitáshoz.
Viszont ami kell, magában a html forrásban benne van. -
pitman
őstag
válasz
m.zmrzlina
#11230
üzenetére
Köszi a segítséget.
A B5 cellába beírt értékhez szeretnék érvényesítést készíteni a megadott képlet használatával.
A képlet figyeli a b1 cella értékét, illetve a b2 cella értékének egy adott tartományban kell lennie, és e két feltétel függvényében a b5 értéke 1 vagy 2 lehet. Magyarul a b1 és b2 függvényében a b5-be 1-et vagy 2-őt engedjen beírni.
A képlet b6-ba bemásolva működik.
B5-be érvényesítésként bemásolva nem csinál semmit.
B5-be érvényesítésként az =b6 feltételt megadva működik.
Azt hogyan lehet megcsinálni, hogy minden munkalapon tudjam követni a változásokat, ne csak azon, ahova a kód be lett írva?
-
pitman
őstag
válasz
m.zmrzlina
#11210
üzenetére
Újabb problémám adódott az érvényesítés kapcsán. Van egy képletem, ami igaz vagy hamis eredményt ad egy cellába beírt érték (ezt kellene érvényesíteni) és két másik cella tartalmának összehasonlításával. Ez egy cellába beírva szépen működik is, azonban érvényesítésnél feltételként beírva nem. Ha viszont az érvényesítésnél azt a cellát adom meg feltételként, amiben ugyanez a képlet található, akkor megcsinálja a feltételvizsgálatot. Ez mitől lehet?
Elképzelhető, hogy mégiscsak makrót kell írjak a feladat megoldásához. Hogyan lehet lekérdeni, hogy a táblázat módosításakor mely cellában történt a változás? Próbálkozok a WorkSheet_Change eseménnyel, de nem működik, egyszerűen nem tudom rávenni, hogy lefuttasson bármilyen kódot, ami ide van beírva. Olyan, mintha soha nem kerülne ide a végrehajtás. Ez mitől lehet?
-
pitman
őstag
válasz
m.zmrzlina
#11218
üzenetére
Így már értem, mi volt a gond.
-
Delila_1
veterán
válasz
m.zmrzlina
#11222
üzenetére
Végre valami jó hír.
Szívesen. -
Delila_1
veterán
válasz
m.zmrzlina
#11220
üzenetére
Meg lehetne még próbálni a terület 1-gyel való szorzását (irányítottan), hátha az eltüntetné a láthatatlan karaktereket, és számmá alakítaná a cellák tartalmát.
-
Delila_1
veterán
válasz
m.zmrzlina
#11218
üzenetére
Lusta vagyok kikeresni, melyik hsz-re vonatkozott ez az írásod.
Egyszerűbben is eltávolíthatod az első karaktert.
=jobb(a1;hossz(a1)-1) -
pitman
őstag
válasz
m.zmrzlina
#11211
üzenetére
Nálam működik, ha beírom.
-
Delila_1
veterán
válasz
m.zmrzlina
#11214
üzenetére

-
pitman
őstag
válasz
m.zmrzlina
#11210
üzenetére
Nincsenek, vagy szám van a cellában vagy betű(k) egy megadott listából.
Bár, ha a listában % jel szerepel, azt sajnos beengedi a szám mögé. -
Delila_1
veterán
válasz
m.zmrzlina
#11211
üzenetére
Kinézetre az A oszlopban számok, az E-ben szövegek vannak, azért nincs egyezés.
-
föccer
nagyúr
válasz
m.zmrzlina
#11211
üzenetére
Az egyik értékként, a másik számként van megadva, ha jól látom. Ezért nem találja meg.
üdv, föccer
mod: deila: Lassú

-
pitman
őstag
válasz
m.zmrzlina
#11199
üzenetére
Köszönöm, ez tökéletes.
A hol.van visszatérési értékére nem gondoltam, hogy így lehetne vizsgálni. -
Delila_1
veterán
válasz
m.zmrzlina
#11204
üzenetére
A hol.van megtalálja, akár csupa betű, akár vegyesen van számmal.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11202
üzenetére
Mondjuk nem tudom, hogy számok és betűk vegyesen előfordulhatnak-e egy cellában mert azt biztosan nem engedi a képlet és akkor bukott a megoldás.
-
Delila_1
veterán
válasz
m.zmrzlina
#11202
üzenetére
Óriási hibát követtem el, kihagytam 1 zárójelet (és az Excel nem kiabált rám).
Gyönyörűen működik.
-
Delila_1
veterán
válasz
m.zmrzlina
#11199
üzenetére
Ez klassz ötlet!
Szerk.: sajnos számot nem enged beírni, pedig a képlet alapján úgy nézett ki.
-
Delila_1
veterán
válasz
m.zmrzlina
#11135
üzenetére

-
Delila_1
veterán
válasz
m.zmrzlina
#11128
üzenetére
A kérdés így szólt:
"ha számot írok H vagy D sorba akkor az A sorba beírja a dátumot (éppen most)"Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 4 Or Target.Column = 8 Then
If IsNumeric(Target) Then Cells(Target.Row, 1) = Now()
End If
Application.EnableEvents = True
End Sub -
akos_1
csendes tag
válasz
m.zmrzlina
#11130
üzenetére
Köszi, működik.
A Selection.Cells kifejezést nem ismertem, igazából ez volt a kérdés lényege. (Próbálkoztam sok mindennel de pont ezzel nem
)(kezdő vagyok)A makróból való kijelölést úgy gondoltam, hogy elindítom a makrót, aztán feljön egy ablak, ami arra kéri a felhasználót, hogy jelöljön ki egy tartományt, kijelöli és lefut utána ugyan ez.
Az ablaknál olyanra gondoltam, mint ami a függvényvarázslónál is sok helyen van. (Tehát itt is a felhasználó választaná ki a tartományt)Szerkesztés:
Közben megkaptam a választ erre is, úgyhogy köszönöm.
-
TNT
csendes tag
válasz
m.zmrzlina
#11076
üzenetére
Először is köszönöm a gyors választ.
m.zmrzlina
1. igen külön fájl
2. Igen, ez a cél. Gyakorlatilag a hibás neveket szeretném a segédtáblában szereplő névre cserélni.Delila_1
>Úgy vettem, hogy mindkét füzetben az első lapon vannak az adatok.
Igen az elsőn vannak.>Nem írtam bele hibakezelést arra az esetre, ha a főtábla.xls-ben nem szerepel a segédtábla.xls valamelyik adata.
Ez sajnos előfordulhat. Ha nem találja meg akkor azokat hagyja figyelmen kívül.>Továbbá nem tudom, a főtáblában melyik "a főtábla adott mezője", ahova át kell másolni a segédtábla B oszlopában található értéket.
Ha pl. a főtábla A7-mezőjében van találat akkor épp ezt az A7-et kell lecserélni.Remélem válaszoltam minden kérdésre.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#11076
üzenetére
Na jó (Mea maxima culpa) az első kérdés fölösleges volt.
Hiába az a k...va diklekszia

-
kovy79
őstag
válasz
m.zmrzlina
#11021
üzenetére
Azon csináltam és tökéletes!
Köszi szépen!
-
kovy79
őstag
válasz
m.zmrzlina
#11019
üzenetére
Aha, értem, köszi. Arra gondolsz, hogy a "ő"-t keresse az Excel, majd cserélje le az "ő" betűre?
Így az egész táblában mindenhol le lesz cserélve? -
medvezsolt
senior tag
válasz
m.zmrzlina
#10970
üzenetére
Köszönöm Szépen , kipróbálom. A VBhez annyira nem értek, tehát anélkül szoktam Excelben varázsolni

-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#10959
üzenetére
Mondjuk talán okosabb lenne a BeforeClose helyett a BeforeSave eseményt használni mert az BeforeClose-zal nem tudsz mentés nélkül kilépni a munkafüzetből (ha netán szükség lenne rá).
-
Kornl23
tag
válasz
m.zmrzlina
#10956
üzenetére
Sajnos a MA függvény nem jó

Mert ha holnap megnyitom a fájlt akkor a holnapi dátumot írja ki és nem a feltétel igazba állítási dátumát. -
válasz
m.zmrzlina
#10935
üzenetére
"És a 27-et hogyan cserélem le bármilyen számra..."
Szerintem vagy figyelmetlenül nézted a linket, amit adtam, vagy figyelmetlenül nézted a linket, amit adtam...
Pont erre találod benne a választ. 
UI: Most még nem tudok makrózni, mert állítgatom a rendszert ill. az Office-t, de ha esetleg nem sikerülne megoldani (makróba betenni), akkor kb 20 perc és megnézem, mi is lehet a gond vele, mert így elsőre nem tudom.
(Ha ezt be tudtad tenni makróba ("=ÉRTÉK(BAL($B27;8))>=$F$24"), akkor indirekt-el mi lehet a gond...) -
Delila_1
veterán
válasz
m.zmrzlina
#10935
üzenetére
Hivatkozhatsz cellára is. Próba - cseresznye.
Bocs, nem tudom most kipróbálni, szörnyű rabszolgamunkám van. -
Delila_1
veterán
válasz
m.zmrzlina
#10933
üzenetére
"=ÉRTÉK(BAL(indirekt("B" & 27;8))>=$F$24" legyen a feltétel
-
válasz
m.zmrzlina
#10927
üzenetére
"Valami ilyesmire" használatos... [link]
Alapvetően arra lehet használni, ha pl egy függvény változó paramétereket használ sorrol-sorra, és a paramétereit egy cella tartalma alapján kell előállítani. A fenti linkben ez van, úgy érthetőbb lesz. -
Delila_1
veterán
válasz
m.zmrzlina
#10924
üzenetére
Próbálj meg egy indirektet adni a $B27-hez.
-
föccer
nagyúr
válasz
m.zmrzlina
#10907
üzenetére
Ott a pont. Nem kezeltem azt a feladatok, hogy az üres cellák elé nem kell írni semmit. De a gondolatban nem volt hiba
Ez tipikusan a kevesebb néha több esete.üdv, föccer
-
cousin333
addikt
válasz
m.zmrzlina
#10891
üzenetére
Ez a sor:
kilistahossz = Application.WorksheetFunction.CountA(Range(Cells(1, 1), Cells(belistahossz, 1)))
véletlenül nem ez akart lenni?
kilistahossz = belistahossz - Application.WorksheetFunction.CountA(Range(Cells(1, 8), Cells(belistahossz, 8)))
Legalábbis a feladat alapján: azon sorokat másolja, ahol a H oszlopbeli cella nincs kitöltve.
-
cousin333
addikt
válasz
m.zmrzlina
#10897
üzenetére
Értem én, hogy elvileg gyorsabb, azért is lepett meg, hogy nálam lassabban futott, mint az "alap" megoldás. Persze lehet, hogy csak az én implementációm volt rossz (most sajnos nem tudom beírni a kódot).
Nálam 3 x 20 ezer celláról van szó, a műveleteket 4 ezerszer hajtom végre ezen a bemeneti tartományon, tehát nem lehet panasz a terhelésre. Először tömbképlettel csináltam, kb. leölte a gépet...

-
cousin333
addikt
válasz
m.zmrzlina
#10891
üzenetére
Amennyire én értek hozzá, jónak tűnik a megoldás. Nem mellesleg éppen ma szembesültem én is ezzel a módszerrel...

Viszont például az én problémámra (amivel jelenleg foglalkozom), úgy tűnik, gyorsabb a "sima" megoldás, nevezetesen, hogy a bemenő változókkal egyesével feltöltök egy-egy tömböt, az eredményeket kiszámolom egy másik tömbbe, majd egyesével kiírogatom őket a megfelelő helyekre. Nem biztos, hogy tuti módszerrel csinálom, mindenesetre a "sima" módszer futása kb. 6,3 mp, míg az egyszerre olvasósé 10,6 mp (persze számolni is kell, nem csak egyik helyről a másikra pakolászni). Szóval érdemes lehet több megoldást megvizsgálni és Timer funkcióval megmérni egy nagyobb adattömegen, hogy mi a gyorsabb (esetleg különböző adatmennyiségek esetén is nézni, hogy hogyan skálázódnak a különböző módszerek).
Mindenesetre már összeállt a fejemben egy másik megközelítés, ami reményeim szerint sokkal gyorsabb lesz majd. Ennél a problémánál is gyorsabb megoldásnak tűnik, ha végigmész a 8. oszlopon, és ha az adott sorban nincs értéke, akkor a komplett sort (akár a
Sheets("újhely").Range("A11:H11").Value = Range("A23:H23").Value
módszerrel) átmásolod az új helyre.
-
Pale
csendes tag
válasz
m.zmrzlina
#10877
üzenetére
Köszönöm!
(Föccernek is!) -
Delila_1
veterán
válasz
m.zmrzlina
#10830
üzenetére
A programozók fő erénye a lustaság. Ha nem muszáj, nem írnak le semmit kétszer.
Aki ezt a rövid makrót írta, nagyon erényes. Szép.letisztult makrót írt.Az első With kezdősorában szerepel a myCell.Parent.AutoFilter, vagyis a megadott cella szülőjének (a munkalapnak) az autofiltere.
A With és End With közötti ponttal kezdődő hivatkozásokat úgy kell értelni, mint a kezdősorban lévő adat folytatása.Szerk.: Ezt összezavartam, újra leírom.
-
válasz
m.zmrzlina
#10831
üzenetére
Sehogy, nem is ahhoz írtam. Nem mellesleg meg a Volatile az oroszrulett, vagy megy, vagy nem, Nálam nem.
Az AutoFilter-t mint eseményt nem lehet elkapni ilyen egyszerűen, hiába a Change meg a Calculate esemény, egyikre sem fog reagálni. A Volatile csak kiadja a parancsot, mintha nyomnál egy F9-et...Szóval Nálam ez nem jó megoldás, meg még számos helyen. Igaz, nem szép megoldás, ez tény, de az enyém legalább minden excelen/gépen működik...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Delila_1
veterán
válasz
m.zmrzlina
#10831
üzenetére
Igen, a Volatile a megoldás.

-
Delila_1
veterán
válasz
m.zmrzlina
#10827
üzenetére
Igazad van, próba nélkül írtam be.
Olvastam valahol arról, mivel lehet rávenni a saját függvényeket a frissülésre, de most nem találom.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#10824
üzenetére
Ez működik!

Ezt a fv-t másold modulba:
Function FilterOn(myCell As Range) As Boolean
On Error Resume Next
With myCell.Parent.AutoFilter
With .Filters(myCell.Column - .Range.Column + 1)
If .On Then FilterOn = True
End With
End With
End Functionmajd formázd feltételesen a következőképpen:
A formázás érvényessége a példa munkalapon =$A:$G
-
Delila_1
veterán
válasz
m.zmrzlina
#10824
üzenetére
Ez nagyon jó.
Azonnal frissül, ha a laphoz ezt az üres makrót hozzárendeled:Private Sub Worksheet_Change(ByVal Target As Range)
End Submert figyeli a lapon történt változásokat, és csak frissít.
-
Pityke78
őstag
válasz
m.zmrzlina
#10815
üzenetére
Ezt így vágom, de valjuk be őszntén, ez elég halovány vizualizáció.
Más lehetőség nincs? -
djzomby
csendes tag
válasz
m.zmrzlina
#10803
üzenetére
Nagyon profi a válasz!
Ez már nekem megfelelő. Évek óta agyalok rajta hogyan is kellene ezt megvalósítani, mert van olyan statisztikai táblám, hogy a SZUM függvénynek (több zárójelben) 175 db cellahivatkozás van felsorolva, mivel minden második oszlop értékeit kell csak beszámítani az összegbe.....
Színhasználattal ez egy csapásra megoldódik.Nagyon köszönöm!
Még valami:
ezt a personal.xls (personal.xlsb)-t hogyan is kell alkamazni?
Gondolom üres táblát nyitok, berakom új modulba a függvényt, és mentéskor a program filesbe teszem az office-on belül? de hová? (hogy minden új táblanyitáskor ismerje ezt az új függvényt a progi)
-
superecneB
őstag
válasz
m.zmrzlina
#10800
üzenetére
Köszönöm szépen! Sajna más szóra kerestem a keresővel, elnézést

-
djzomby
csendes tag
válasz
m.zmrzlina
#10787
üzenetére
Alakul ez, jó lesz csak az előző kommentembe a smiley belekavart....
A tartomány ugyanis A1 től F10 lett volna.....
Merthogy soronként kell kiértékelni a cuccot....Nagyon köszi hogy foglalkozol vele, rá fog érni este is a megoldás...
-
djzomby
csendes tag
válasz
m.zmrzlina
#10765
üzenetére
Aha, látom már....
Kipróbáltam, s működik amit írtál, de akkor már egyszerűbb lenne az összeadást is beépíteni a makróba, igaz?
Átalakítanád nekem a következőre?A1
10 ben számok szerepeljenek (1 és 30 között pölö) véletlenszerűen itt-ott piros legyen belőle néhány. G oszlopban íródjon ki futtatáskor az adott sorban lévő feketék összege, H oszlopban pedig az adott sorban lévő pirosak összege.Nagyon köszönöm...
-
djzomby
csendes tag
válasz
m.zmrzlina
#10765
üzenetére
Üdv!
Asszem jó lesz, köszi a segítséget.
Egyébként a feladat a következő:
Van egy tartomány, melyben számok szerepelnek. A számok színe vagy fekete, vagy piros. Minden sor végén össze kell adni külön oszlopban a feketéket és külön oszlopban a pirosakat....
-
perfag
aktív tag
válasz
m.zmrzlina
#10758
üzenetére
A dátum alapján az május volt, az nekem kimaradt ... versenyek is no meg az érettségi. Az az egy hónap van ami húzós, amikor dolgozom (mint régen a cégnél) - a többi tökölődés, most meg két hónap dögunalom
. -
föccer
nagyúr
válasz
m.zmrzlina
#10726
üzenetére
egybeágyazott ha(vagy(talál())) függvényekkel is meg lehet oldani. Mindjárt előveszem a notit és megcsinálom gyorsan, ha a makrót nem tudja valamiért beépíteni.
üdv, föccer
Új hozzászólás Aktív témák
- Szeged és környéke adok-veszek-beszélgetek
- Legendás helyszínen mutatkozik be a kamerákra rágyúró Galaxy S26
- One otthoni szolgáltatások (TV, internet, telefon)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Padavan firmware
- Milyen TV-t vegyek?
- Miért nem tűnik el soha a kalózkodás?
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Vezetékes FEJhallgatók
- Építő/felújító topik
- További aktív témák...
- Samsung Galaxy S21 Ultra / 12GB RAM 256GB / Gyárifüggetlen / 12Hó Garancia
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3315, 90% Akkumulátor
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600X / GTX 1080Ti / 16GB DDR4 / 512 SSD
- BESZÁMÍTÁS! Asrock B450M R5 5500 16GB DDR4 512GB SSD RTX 2060 Super 8GB THERMALTAKE VERSA H17 600W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest








)(kezdő vagyok)


Ez tipikusan a kevesebb néha több esete.
![;]](http://cdn.rios.hu/dl/s/v1.gif)
10 ben számok szerepeljenek (1 és 30 között pölö) véletlenszerűen itt-ott piros legyen belőle néhány. G oszlopban íródjon ki futtatáskor az adott sorban lévő feketék összege, H oszlopban pedig az adott sorban lévő pirosak összege.
Fferi50
