-
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
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7610
üzenetére
Lesz név bőven, ahogy a névadásnál látom, ezért a Nevek-et át kellene tenni máshova. Legjobb lenne egy másik lapra árhelyezni, és annak megfelelően átírni az OFSZET-es meghatározást is.
-
Delila_1
veterán
válasz
motinka
#7607
üzenetére
A neveket beírtad a T oszlopba, ennek megfelelően az érvényesítés forrását így is megadhatod: =$T$1:$T$5
Még jobb, ha a Beszúrás/Név/Név megadása menüpontban meghatározol egy Nevek című területet, ami követi a sorok számának és tartalmának a változását.
Hozzáadás, fent megadod a Nevek címet, a hivatkozáshoz beírod:
=OFSZET(Munka1!$T$1;0;0;DARAB2(Munka1!T:T);1)Az érvényesítésnél a forrás ezután =Nevek
A nevek és az ÖSSZES közé nem kell üres cellát tenned, akkor nem lesz "lyuk" a legördülőben.
A névadások közül – ha csak az oszlopok rejtéséhez, felfedéséhez vitted be a neveket –, nyugodtan törölheted a nevek által meghatározott területeket.
Fire-nek igaza van, bizony kifelejtettem az összes oszlop láthatóvá tételét, pedig gondoltam rá, Tanár Úr, kérem.

Míg én fogalmaztam ezt a förmedvényt, észrevetted a hibát, azt a részt töröltem is a válaszomból.

-
Delila_1
veterán
válasz
motinka
#7601
üzenetére
Itt a makró, elég jól látszik belőle, melyik adatokat kell átírnod. A Case utasításokból az End Select sor elé akárhány újat beszúrhatsz. Ennek alapján eldöntheted, mit akarsz később a további adatokhoz idomítani, a különböző nézeteket, vagy a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim kezd As String, vég As String
If Target.Address = "$A$1" Then
Select Case Cells(1)
Case "Csaba"
kezd = "D": vég = "F": GoTo Rejt
Case "János"
kezd = "G": vég = "I": GoTo Rejt
Case "Ferenc"
kezd = "J": vég = "L": GoTo Rejt
Case "László"
kezd = "M": vég = "P": GoTo Rejt
End Select
End If
Exit Sub
Rejt:
Columns("D:O").Hidden = True
Columns(kezd & ":" & vég).Hidden = False
End SubA makrót a kérdéses laphoz kell rendelned. Lapfülön jobb klikk, Kód megjelenítése, a VB szerkesztőben jobb oldalon kapott üres lapra másold be.
Szerk.: a Columns("D:O").Hidden = True sorban a kettőspont után nem nulla van, hanem O betű, az utolsó felhasznált oszlopod betűjele.
-
Delila_1
veterán
válasz
motinka
#7601
üzenetére
Itt nagyon meleg van. Szerintem ez praktikus, és egyszerű megoldás.
Lehet makrót is írni rá, nem nagy ügy, csak ahhoz ismernem kell az összes nevet, és a hozzájuk tartozó oszlopokat. Akkor viszont a névsor változásakor (bővülés, csökkenés), a makróban kell operálnod utólag, és a távol lévő munkatársadnak is.
Jobban jártok, ha az Excel nyújtotta lehetőséget kihasználva beviszitek a különböző nézeteket.
-
Delila_1
veterán
válasz
motinka
#7595
üzenetére
Elrejted a NEM Csaba adatait tartalmazó oszlopokat. Nézet/Egyéni nézetek. Hozzáadás, a névhez beírod: Csaba, OK.
Felfeded az oszlopokat, és ismét elrejted azokat, amelyek nem Jánoshoz tartoznak. Ennek az egyéni nézetnek a János nevet adod, és így tovább.
Mikor minden nézetet felvittél, a Testreszabás menüben a Parancsok fülre állsz. A Kategóriákból kiválasztod a Nézetet, jobb oldalon kikeresed az Egyéni nézetek legördülőt, és felhúzod az ikonjaid közé az Eszköztárra. Ebből választhatod ki ezután a neveket, és mindig csak a megfelelő oszlopok látszanak majd. -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7593
üzenetére
Minden oszlop külön listaként volt formázva, így mindegyiket külön kezelte a rendezés.
-
Delila_1
veterán
Megnéztem, a németben a HA helyett WENN-t kell írni.
A képlet ezután:=WENN(F1>35;(F1-35)*20%+7;7)
Innen letöltheted a fájlt, ami több nyelven tartalmazza a függvényeket.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7560
üzenetére
Ne adj ötelteket!

-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7548
üzenetére
Köszönöm a fáradozást.
"Beborult"? azért nem ment tönkre, ugye?
Kénytelen lennél visszatérni a 2003-hoz.
-
Delila_1
veterán
válasz
motinka
#7546
üzenetére
A lapvédelem beállításainál választhatsz, hogy milyen műveletek ellen véded a lapot.
Itt van egy felsorolás, amiből kiválaszthatod, mit engedélyezel minden felhasználónak. Bejelöltem az AutoSzűrő használatát, de ez úgy látom, nem működik, nem engedi.Töröld a zárolást a D3:D9 tartományban, és a többi helyen, ahol módosíthat a felhasználó. Védd le a lapot.
A makró első sora ez legyen:
ActiveSheet.Protect UserInterfaceOnly:=TrueSzerk.: ezzel a felhasználótól védetté tesszük a lapot, de a makrók ezután is módosíthatják a zárolt cellák tartalmát.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7542
üzenetére
Ha már 2007: a szűrőnél a lenyíló ablakot egérrel meg lehet nagyobbítani. Ismersz módot arra, hogy ez bármelyik megnyitott fájlnál így maradjon? Ezt kérdezte múltkor valaki tőlem, de megbuktam.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7542
üzenetére
Tapasztalatom szerint a felhasználók zöme még a 2003-ast használja, míg ez nem változik, addig én is maradok a "zöm"-mel.

Remélem, másnak is hasznára válik a feltett fájl.

-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7540
üzenetére
Köszönöm. Meg tudnám szerezni a 2003-as formára konvertálót, de nem akarom. Csak azért tartom a 2007-et, hogy ne legyek teljesen járatlan a témában.
Azt hiszem, csak akkor váltok át újabb verzióra, mikor már nem maradhatok meg a rongyos réginél.Felteszek egy 2003-as verzióban készült füzetet, amiben a különböző funkciók elérési lehetősége szerepel a 2003-as, és 2007-es alkalmazásban. Hátha hasznára lesz valaki(k)nek.
Excel 2003_2007.xls -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7538
üzenetére
Fent van a 2007, de nem szeretem.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7536
üzenetére
Akkor még annyit mondjunk el Motinkának, hogy ennél a megoldásnál a "műbe vétel" előtt a D3:D8 tartományt el kell nevezni X_TARTOMÁNYnak.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7530
üzenetére
Fogadok, választ fog adni.
Nagyon késő volt... -
Delila_1
veterán
válasz
motinka
#7531
üzenetére
Ha már Fire megígérte, tálalom a makrót.

Tegyél autoszűrőt az A11:I11 tartományba, ahogy Fire is írta.
A lapfülön jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe, a jobb oldalon kapott üres lapra másold be:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 And Target.Row > 2 And Target.Row < 9 Then
Range("A11").Select
Selection.AutoFilter Field:=5, Criteria1:=Cells(Target.Row, 1)
Selection.AutoFilter Field:=9, Criteria1:="="
End If
If Target.Address = "$H$1" Then
Selection.AutoFilter Field:=5
Selection.AutoFilter Field:=9
End If
End SubEzután a D3:D8 tartomány bármelyik cellájára duplán kattintva a lenti sorok közül azok látszanak, amiket kértél.
Beleírtam, hogy a H1 duplaklikkjére minden adat látsszon az alsó táblázatban. Írhatsz is valami erre utaló szöveget a H1-be. -
Delila_1
veterán
válasz
Retekegér
#7513
üzenetére
Ha számok vannak a C4 és F4 cellákban, akkor
=INDEX(Munka2!$A$1:$P$97;Munka1!C4;Munka1!F4),ha viszont az F4-ben betűt adsz meg oszlopazonosítóként, akkor
=INDEX(Munka2!$A$1:$P$97;Munka1!C4;Munka1!F4)Mindkét példában a Munka1 lapon van a C4 és F4, az adatokat pedig a Munka2 lapról veszi a képlet. Figyelj, következetesen kevered a munkafüzetet és a munkalapot!
-
Delila_1
veterán
válasz
Mulderpapa
#7509
üzenetére
Vegyük, hogy a Munka1 lap A oszlopában van a élő, és a Munka2 lap A oszlopában az elfekvő listád.
A Munka1 lapon (feltételezve, hogy címsor is van) egy üres oszlop 2. sorába vidd be ezt a függvényt:
=DARABTELI(Munka2!A:A;Munka1!A2)
Másold le az adataid mellé. Szűrd meg az új oszlopot autoszűrővel (Adatok - Szűrő - Autoszűrő) úgy, hogy a 0-nál nagyobb értékeket mutassa. Rendes esetben ebben az oszlopban csak 0, és 1 lehet. Nagyobb szám csak akkor fordulhat elő, ha az elfekvő listában 1-nél többször szerepel 1-1 cikkszám.
A szűrő hatására csak azok a sorok látszanak, amelyeknek a cikkszáma megtalálható az elfekvők között. Ezeket a sorokat kijelölöd, és törlöd. -
-
Delila_1
veterán
Itt egy másik példa a szóköz, vagy metszet operátorra:

Javítás: A képen rosszul írtam a szöveget. A Ter_2 az E3:G8 terület neve, nem az F3:G8-é. Éppen ez a lényeg, hogy a két terület metszetével számol. Bármi más – SZUM, NÉGYZETÖSSZEG, DARAB2, stb. – függvényt is lehet alkalmazni rá.
-
Delila_1
veterán
válasz
Retekegér
#7503
üzenetére
A szóköz operátorral keresheted meg legkönnyebben az értékes adatot.
Kijelölöd a területet, Beszúrás - Név - Létrehozás. Felajánlja, hogy a neveket a felső sorból, és a bal oszlopból veszi. OK.
A bal oszlopban nevek vannak. Ha Kiss Piroska szerepel közöttük, a névadásnál Kiss_Piroska lesz belőle, mert szóközös szöveg nem adható meg névként (mármint egy cella, vagy terület elnevezéseként).Ezután ennyit írsz egy cellába: =Kiss_Piroska március,
vagy =február Kiss_Piroska
A két elnevezés közé egy szóközt kell írni, ezért hívják szóköz operátornak (alias metszet operátor). -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7501
üzenetére
Nem mérgelődöm, virágos jókedvemben vagyok a hideg őszi eső ellenére.

-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7499
üzenetére
Félreérthetően "javítottam", a LE az alapérték.

-
Delila_1
veterán
Lásd a #7485-öt. Ott Maci25 az A1; B1; C1 után az A2; B2; C2 kitöltésévél akarta folytatni az adatbevitelt. Nála az Eszközök - Beállítások - Szerkesztés fülön az Enter után továbblép opcióban az irányt jobbra kellett állítani, nálad lefelé. EZ az alapbeállítás, ott helytelenül írtam.
Tehát kijelölöd az A1:A6 tartományt, és kezded a bevitelt, majd újabb terület kijelölésével folytatod a munkát.
-
Delila_1
veterán
Egy megoldás, aminél kicsit figyelni kell:
A beállításoknál jobbra állítod az enter utáni továbblépést (ez az alapbeállítás).
Kijelölöd az A1:C15 tartományt, és folyamatosan írod az értékeket, mindegyik után enterrel. A kijelölt tartományon belül A1; B1; C1; A2; B2; C2; ... A15; B15; C15 sorrendben töltődnek fel a cellák. Ezután a D1:F15 tartományt jelölöd ki, és folytatod a feltöltést.Figyelni azért kell, mert ha nem változtatod a kijelölést, a C15 után újra az A1 lesz aktuális, és felülírod az előzően bevitt adatot.
-
Delila_1
veterán
válasz
Antonio
#7475
üzenetére
Másképp értem a kérdést, mint Perfag.
Úgy gondolom, hogy van egy (legalább 2 oszlopból álló) tartományod, amit két – változó – szempont szerint akarsz szűrni. A változó szempontokat egy-egy cellában adod meg, esetleg érvényesítés segítségével.
Ha így érted, add meg, hol vannak a szűrendő oszlopaid, és a két cella, amik szerint szűrni akarsz. Melyik cella változó értéke melyik oszlop kritériumát határozza meg.
Délután leszek csak gép közelében, ha addig nem kapsz választ, segítek.
-
Delila_1
veterán
Az IF a magyar HA függvény angol megfelelője.
shev valószínűleg így oldotta volna meg:
=ha(c29="";e29*h$25;c29*h$25)Minden feladatra több megoldás létezik. Az előző megoldást arra gondolva írtam, hogy egy-egy sorban vagy műanyag, vagy alu keret szerepel. Amelyik éppen nincs a sorban, annak az 5-tel való szorzata 0, ezért nem változtaja meg az összeget a H oszlopban.
-
Delila_1
veterán
Legegyszerűbb kimutatást készíteni az adataidból. A SOR-hoz azt az oszlopcímkét tedd, amelyik a 0001, 0002, stb adatokat tartalmazza, az ADAThoz pedig a másikat.
Másik módszer, hogy egy oszlopban felsorolod az első oszlopban előforduló adatokat (legyen ez az új oszlop most az F). A G1 képlete (feltételezve, hogy a másik két oszlop az A és B):
=SZUMHA(A:A;F1;B:B), ezt kell lemásolnod az F oszlop adatai mellé. -
Delila_1
veterán
válasz
kenesei1982
#7422
üzenetére
Szivi.
-
Delila_1
veterán
válasz
kenesei1982
#7422
üzenetére
Szivi.
-
Delila_1
veterán
válasz
Fehér Mancs
#7420
üzenetére
Ilyen kevés adatnál az is jó, többnél nem szaporítanám a képleteket.

-
Delila_1
veterán
válasz
kenesei1982
#7418
üzenetére
Valami elválsztót biztosan akarsz az adatok közé tenni. Az alábbi makró minden cella értéke után tesz egy vesszőt, és egy szóközt. Az eredményt az L1 cellába írja be.
Sub osszefuz()
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
sz = sz & Cells(sor, 1) & ", "
Next
Cells(1, 12) = Left(sz, Len(sz) - 2)
End Sub -
Delila_1
veterán
válasz
qpakcovboy
#7405
üzenetére
-
Delila_1
veterán
válasz
qpakcovboy
#7402
üzenetére
Ez 11 egymásba ágyazott Ha függvényt feltételez, holott csak 7 ágyazható be.
Legegyszerűbb az INDEX. -
Delila_1
veterán
Mit szólsz ehhez?
=FKERES(HÓNAP(MA());H1:I12;2;0)& " egyéb szöveg"
A H1:H12 tartomány 1-től 12, Az I1:I12 a hónapok neve nagy kezdőbetűvel.
-
Delila_1
veterán
válasz
qpakcovboy
#7397
üzenetére
Ezt így tudtommal nem lehet megcsinálni.
A TNÉV(cellahivatkozás) függvény előállítaná a nagy kezdőbetűt, de ha a hivatkozott cella az =MA() függvényt tartalmazza, vagy így adod meg: =TNÉV(MA()) , akkor számmal írja ki a dátumot (ma 40345-öt), így mondatba sem tudod foglalni.
Az =MA() függvénynek a hhhh formátumot adva megkapod a hónap nevét - kisbetűkkel, de egyéb szöveggel együtt megint csak számot kapsz.
-
Delila_1
veterán
A "hónapok" listában dátumként add meg az értékeket (2010.01.01.; 2010.02.01, stb). a formátumuk legyen az egyéni kategóriában hhhh, akárcsak azé az oszlopé, ahol elő akarod csalni a hónapok nevét.
Az érvényesítés alatti sor képlete =EOMONTH(A1;1), azt véve alapul, hogy A1-ben van a legördülő. Ezt a képletet másold le 11 soron át.
Ha az EOMONTH nem szerepel a függvényeid között, kapcsold be az Eszközök/Bővítménykezelőben az Analysis kezdetű két bővítményt.
-
Delila_1
veterán
válasz
Integrator
#7384
üzenetére
A szétválasztott, majd összefűzött adatok oszlopát jelöld ki, másold, és ugyanoda az irányított beillesztéssel (nem tudom az angol megfelelőjét) tedd be az értéküket a képlet helyére. Ez az előző összefűzésedre vonatkozik. Nálam az irányított beillesztést így lehet előcsalni: másolás (Ctrl+c) után jobb klikk, a gyorsmenüben a negyedik a kivágás, másolás, és beillesztés után. Mikor előcsaltad a menüpontot, valószínűleg Value-t kell választanod.
Ekkor sok szóközzel a végén szerepelnek majd a címeid. Egy következő oszlopba beviszed az =trim(cellshivatkozás)&"." képletet.
Még jobb így: =if(right(h1,1)<>".",trim(h1)&".",trim(h1)) -
Delila_1
veterán
válasz
Integrator
#7384
üzenetére
=IF(COUNTA(E2:G2)>2;C2&" "&D2&" "&E2&F2&G2&".";C2&D2&".")
Valami ehhez hasonlót kell írni. A counta összeszámolja, hány adatod van az E:G tartományban.
-
Delila_1
veterán
válasz
Integrator
#7381
üzenetére
Valószínű, hogy a left, mid, és right függvényekkel szedted szét az adatokat, ha egy rahedli szóköz támadt bennük. A TRIM(cellahivatkozás) függvény levágja a szó elején és végén lévő szóközöket.
=trim(b1)&"." -
Delila_1
veterán
válasz
Integrator
#7381
üzenetére
Ezt most én nem értem. Ha a Text to Columns-szal választottad szét az adatokat, az utca és házszám összefűzése:
=utcanevet_tartalmazó_cella & " " & házszámot_tartalmazó_cella.
-
Delila_1
veterán
válasz
Integrator
#7379
üzenetére
Akkor jó, megtaláltad a Text to Columns menüpontot.
-
Delila_1
veterán
válasz
Integrator
#7377
üzenetére
Egyszerűbb kijelölnöd a sorokat, és az Adatok/Szövegből oszlopok funkciót alkalmaznod. Ha túl sok felé választja az adataidat (pl. az utcát a házszámot egy cellában szeretnéd látni), könnyebb utólag összefűzni.
-
Delila_1
veterán
Azt hittem, már mindenki szabadságra ment.
A képlet nem látszik, ha a cellaformázás Védelem fülén bejelölöd a Rejtett opciót, de ez csak akkor lép érvénybe, mikor a lapot védetté tetted.
A kitörölhetetlen képlet makróját a laphoz kell rendelned (lapfülön jobb klikk, Kód megjelenítése.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Value = "" Then
Cells(Target.Row, Target.Column).Formula = "=A" & Target.Row & "*B" & Target.Row
End If
End SubNem ismerem a képletedet, ez a kis makró a C oszlopba írja be törlés esetén az =A1*B1 képletet, illetve minden sorban a saját sorára vonatkoztatva a szorzást. Írd meg, melyik oszlopodban milyen képletet kell újraírni törléskor.
-
Delila_1
veterán
Csak most tudtam újra ránézni. Megvan a hiba, én követtem el.
Új lap beszúrása esetén nem álltam vissza a kezdő lapra.
Helyesen:Sub Masol()
Sheets("Munka1").Select
sor = 2
Do While Cells(sor, 10) <> ""
tal = 0
lapnév = Cells(sor, 10)
For lap = 2 To Worksheets.Count
If Sheets(lap).Name = lapnév Then
tal = 1
Exit For
End If
Next
If tal = 0 Then
Worksheets.Add.Name = lapnév
Sheets(lapnév).Move After:=Sheets(2)
Sheets("Munka1").Select
End If
usor = Sheets(lapnév).Range("A6000").End(xlUp).Row + 1
ActiveSheet.Range("A" & sor & ":I" & sor).Copy _
Destination:=Sheets(lapnév).Range("A" & usor)
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
Óhajod parancs.

Sub Masol()
Sheets("Munka1").Select
sor = 2
Do While Cells(sor, 10) <> ""
tal = 0
lapnév = Cells(sor, 10)
For lap = 2 To Worksheets.Count
If Sheets(lap).Name = lapnév Then
tal = 1
Exit For
End If
Next
If tal = 0 Then
Worksheets.Add.Name = lapnév
Sheets(lapnév).Move After:=Sheets(2)
End If
usor = Sheets(lapnév).Range("A6000").End(xlUp).Row + 1
ActiveSheet.Range("A" & sor & ":I" & sor).Copy _
Destination:=Sheets(lapnév).Range("A" & usor)
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7344
üzenetére
Úgy látszik, a napokban nem sokmindent lehet rámbízni.

Ezesetben egyszerű a dolog.tusi74
Feltételezem, hogy az egyes országok lapjai üresen ásítozva várják az adatok özönét, és a kiinduló lap neve Munka1, ahol az első sor a címsor.

Sub Masol()
Sheets("Munka1").Select
sor = 2
Do While Cells(sor, 10) <> ""
lapnév = Cells(sor, 10)
usor = Sheets(lapnév).Range("A6000").End(xlUp).Row + 1
ActiveSheet.Range("A" & sor & ":I" & sor).Copy Destination:=Sheets(lapnév).Range("A" & usor)
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
válasz
Fire/SOUL/CD
#7342
üzenetére
A J oszlop az ország nevén kívül egyebeket is tartalmaz. Az aktuális cellára hivatkozva a left("UK és egyebek",2) adja az egyik lapnevet, a másik cellánál a left("Németország stb.", 11). Egy kis segédtáblával, fkeressel egyszerűen meg lehet oldani, ha tudom, hogy a J oszlop bal oldaláról hány karaktert figyeljek a tuti azonosíthatósághoz.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#7321
üzenetére
Megint félreértettem. Ez egy ilyen nap
Úgy gondoltam, hogy a két cellában két teljes név van.
Új hozzászólás Aktív témák
- Bomba áron dobozos Hp Laptop! /AMD Ryzen 5-7520U/8 GB/256 SSD/FHD/Garancia
- Bomba ár! Dynabook Portege X30-L-K - i7-1260P I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4443
- Akciós! Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 512GB Nvidia Quadro RTX 3000 1 év garancia
- ÚJ Razer Kraken V4 Pro gamer fejhallgató
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest









Úgy gondoltam, hogy a két cellában két teljes név van.
Fferi50