Hirdetés

2024. május 6., hétfő

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

(#16501) Thom6


Thom6
csendes tag

Sziasztok!

Egy kis segítségre lenne szükségem,
Adott egy tábla,fix felső sor,amikre rá lehet szűrni pl név,cégnév..stb
1 adott sor 5-6 egyesített sorból áll, kivétel egy oszlop,ahol felsorolás van,ott megmaradtak a sorok.
Ha szűrök valamelyik oszlopra, pl egy névre,akkor az adott névhez tartozó sorban,abban az oszlopban ahol nem kerültek egyesítésre a sorok,onnan csak a legelsőt listázza szűrés után,de kellen a többi sor is.

Azt tudom,hogy azért csinálja így mert egyesített cellát úgy veszi,hogy a legfelső sorban van beírva a név,ezért csak azt a sor listázza ki a nem egyesített sorokból.

Kérdésem az lenne,hogy milyen makróval illetve hogy makró nélkül meg lehet e oldani a problémát.
Előre is köszi

[ Szerkesztve ]

(#16502) lappy válasza Thom6 (#16501) üzenetére


lappy
őstag

Szia!
Igen macro nélkül meg lehet bár nem lesz túl elegáns a táblázat!
Ott ahol egyesítve van a cella ott minden sorba beviszed az adatodat. Azaz ha 4 sort egyesítettél akkor 4 sorba beviszed pl.: B1
Minden cellára ezt megteszed és ezután feltételes formázással oldod meg.
Kijelölöd az oszlopot majd új szabály- formázandó cellák kijelölése képlettel.
a képlet =A2=A1 majd a formázásnál megadod a cella színét (alapnál fehér)
és alkalmaz

Bámulatos hol tart már a tudomány!

(#16503) peterszky válasza Delila_1 (#16496) üzenetére


peterszky
őstag

Kiegészítettem a kódot azzal, ami még hiányzott belőle, így remekül segíti a dolgomat ez a kis makró :K

Sub search(p_sorszam As Integer, p_sheet As Worksheet, ByVal p_field As String)
Dim row%, WS As Worksheet
Set WS = Sheets("IG2KH")
row% = 3
p_sheet.Cells(p_sorszam, "B") = "T" & p_field
Do While WS.Cells(row%, "A") <> ""
If Cells(row%, "A") = p_field Then
p_sheet.Cells(p_sorszam, "C") = "P: " & WS.Cells(row%, "D") & ", H: " & WS.Cells(row%, "E")
Exit Do
End If
row% = row% + 1
Loop
End Sub

Sub mm()
Dim sor%, usor%, WS As Worksheet
Set WS = Sheets("Sheet1")
sor% = 3
usor% = WS.Cells(Rows.Count, "A").End(xlUp).row + 1
Sheets("IG2KH").Select
Do While Cells(sor%, "A") <> ""
If UCase(Left(Cells(sor%, "Q"), 3)) = "E (" Then
Call search(usor%, WS, Mid(Cells(sor%, "Q"), 5, Len(Cells(sor%, "Q")) - 5))
WS.Cells(usor%, "A") = "P: " & Cells(sor%, "D") & ", H: " & Cells(sor%, "E")
usor% = usor% + 1
End If
sor% = sor% + 1
Loop
End Sub

Pastebin [link]

What else you gonna do on a Saturday?

(#16504) Delila_1 válasza peterszky (#16503) üzenetére


Delila_1
Topikgazda

Eszerint összejött a "címszavak" verzió. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16505) Thom6 válasza lappy (#16502) üzenetére


Thom6
csendes tag

Köszi!

Igen,ezzel megoldható,csak nem annyira szép és gyors megoldás. Meg így ezzel kicsit elveszik az az egyszerűség,amit a cellaegyesítése ad.

Makrót esteleg tudna erre valaki?

(#16506) Delila_1 válasza Thom6 (#16505) üzenetére


Delila_1
Topikgazda

Ha szépet és gyorsat akarsz, akkor már eleve ne vonj össze cellákat, mert az egy halom hibát okozhat.
:O

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16507) Thom6 válasza Delila_1 (#16506) üzenetére


Thom6
csendes tag

Csak megkaptam a doksit,hogy ezt oldjam meg, nem ragaszkodok az egyesített cellákhoz. Szívesen látom az alternatívákat. :)

(#16508) Delila_1 válasza Thom6 (#16507) üzenetére


Delila_1
Topikgazda

Lappy válaszát tudom ajánlani.

Gyorsan át tudod alakítani a táblázatodat. Kijelölöd az oszlopokat, ahol egyesítés van. Megszünteted az összevonást, de nem szünteted meg a kijelölést. Most minden valahány sorod üres cellákat tartalmaz ezen a területen.

Ctrl+g-re bejön az "Ugrás" menü. Kiválasztod az Irányított ugrást, majd az "Üres cellák"-at.
Ez kijelöli a tartomány üres celláit, ahol a képed szerint az A3 lesz aktív. Még most sem szünteted meg a kijelölést. Beírsz egy egyenlőség jelet, és nyomsz egy fel nyilat. Ctrl+enterrel az összes kijelölt cella a fölötte lévő értéket adja egy hivatkozás segítségével.

Most újra kijelölöd a teljes oszlopokat, Ctrl+c-vel másolod, marad a kijelölés. Jobb klikk, Irányított beillesztés, Értéket. Minden cellába fixen beíródott az adat, amit az összevont cella tartalmazott.

Ez az egész procedúra kevesebb idő alatt lesz kész, mint ahogy leírtam. Már csak a feltételes formázást kell megadnod.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16509) Thom6 válasza Delila_1 (#16508) üzenetére


Thom6
csendes tag

Okés,köszi

(#16510) Delila_1 válasza Thom6 (#16509) üzenetére


Delila_1
Topikgazda

Írtam egy rövid makrót, ami "kifehéríti" azoknak a celláknak a karaktereit, amiket nem akarsz megjeleníteni.

A képen az L oszlopig látszanak az adatok. Ha több oszlopban is vannak, a feltétel (If) 2. sorában írd át.

Sub szin()
Dim sor As Integer, usor As Integer

usor = Cells(Rows.Count, ("H")).End(xlUp).Row
For sor = 2 To usor
If (sor + 1) Mod 5 Then
Range(Cells(sor, "A"), Cells(sor, "G")).Font.ColorIndex = 2
Range(Cells(sor, "J"), Cells(sor, "L")).Font.ColorIndex = 2
End If
Next
End Sub

Ezt lefuttatod, a táblázat bővítésekor csak másolnod kell az utolsó 5 sor formátumát a formátumfestő ecsettel.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16511) Pille69 válasza Delila_1 (#16388) üzenetére


Pille69
tag

Isten vagy, köszönöm! :C (Vagy Istennő? :B )

(#16512) poffsoft válasza Pille69 (#16511) üzenetére


poffsoft
addikt

A "B" nyert ;)

[ Szerkesztve ]

(#16513) Excelbarat válasza poffsoft (#16512) üzenetére


Excelbarat
tag

Sub win ()
Dim b as String
b = "Istennő"
Sheets("#16388").select
Range(b).select
End sub
:DDD már magával ragadt a makróprog

[ Szerkesztve ]

(#16514) poffsoft válasza Excelbarat (#16513) üzenetére


poffsoft
addikt

:C

Azért a range("b").select hibát fog adni, hacsak nem nevet is adtál neki valahol ;)
Próbáld így:
Range("A1").Name = "Delila_1"
Range(Delila_1)=b

:C :B

[ Szerkesztve ]

[ Szerkesztve ]

(#16515) Delila_1 válasza Pille69 (#16511) üzenetére


Delila_1
Topikgazda

Örülök, hogy elnyerte a tetszésedet. Sikerült összehozni az alakzatok elrejtését?

Poffsoft, Excelbarát, köszönöm a makrókat. ;)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16516) BuktaSzaki


BuktaSzaki
tag

Sziasztok,

Gondolom, ez nagyon lamer kérdés de nem találom a választ a neten, vagy rosszul keresek :)
Szóval van egy 35.000 soros cella, ahol az egyik oszlop 1 sorában levő formátumot kéne abban az oszlopban mind a 35000 sorra érvényesíteni. Persze annyi az egész, hogy a cella jobb alsó sarkában fogom az egérrel a keresztet és lehúzom. Na most erre van valami billentyűkombináció, vagy valami, hogy ne kelljen 2 órán keresztül tartani az egér jobb gombját és úgy lehúzni?

Köszi,
B.

(#16517) Delila_1 válasza BuktaSzaki (#16516) üzenetére


Delila_1
Topikgazda

Kavarod a fogalmakat. Egy cella például az A1 jelű.

Gondolom, az első sor formátumát akarod a többi sorra is alkalmazni. Jelöld ki a sort úgy, hogy a sorjelölő 1-esre kattintasz. Ekkor a teljes sor szürke árnyalatot vesz fel.
Kattints a formátumfestő ikonra, ami egy ecsetet ábrázol. Most jelöld ki az összes többi sort úgy, hogy rákattintasz a 2-es sorjelölőre, és az egér bal gombját nyomva tartva húzd le addig, ameddig másolni akarod a formátumot.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16518) lappy válasza BuktaSzaki (#16516) üzenetére


lappy
őstag

Szia!
Ha csak egy oszlop első cellájának formátumát akarod 35000 sorra érvényesíteni, akkor kijelölöd és formátummásoló, majd az oszlop betűjelére kattintva ez egész oszlop felveszi a tulajdonságot. Bár ilyenkor a teljes táblázatban az adott oszlop olyan formátumú lesz!!

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#16519) BuktaSzaki válasza lappy (#16518) üzenetére


BuktaSzaki
tag

Köszi mindkét választ, rosszul fogalmaztam. Tehát nem a formátumot, hanem a cella tartalmát kéne kitöltéssel lehúzni a 35.000-ik sorig. De csak addig. a másolás nem jó, mert ez sorszám szerű számsor aminek cellánként 1-el növekednie kell

(#16520) BuktaSzaki válasza BuktaSzaki (#16519) üzenetére


BuktaSzaki
tag

Na ezt megoldottam, ha elég sokáig húzza az ember az egeret, begyorsul :)
Köv gond.
Van két oszlop, mondjuk A és D.
ezekben 25 jegyű számok. az A oszlop összes értéke eleme D-nek.
ki kéne tenni egy új oszlopba, hogy melyek azok a számok, amik D-ben megvannak, de A-ban nem.
Ezt mivel és hogy ? FKERES? vagy a HA is jó?

(#16521) peterszky válasza peterszky (#16503) üzenetére


peterszky
őstag

Egy kérdés:

UCase(Left(Cells(sor%, "Q"), 3))

Ezt a "beégetett" részletet szeretném egy paraméterként megadni, próbáltam stringként, számként (oszlopszám), de mindig type mismatch hibát kapok futtatáskor. Erre mi az elfogadott módszer?

[ Szerkesztve ]

What else you gonna do on a Saturday?

(#16522) Delila_1 válasza peterszky (#16521) üzenetére


Delila_1
Topikgazda

Kérdés, hogy mit akarsz kezdeni vele. Amit írtál, az a Q oszlop sor%-adik cellájában lévő szöveges érték első 3 karakterét alakítja nagybetűvé. Ha ezt akarod valahova beilleszteni, akkor meg kell adnod, hova tegye a makró.

Pl. cells(sor%, "B")=ucase((left(cells(sor%, "Q"), 3))

vagy:
if ucase((left(cells(sor%, "Q"), 3))="ABC" then ...

Szerk.: nem jól írtam, nem alakítja nagybetűvé a 3 karaktert, hanem a nagybetűs változatával kezd valamit. Összehasonlítja, kikeresi, beírja, stb., ahogy a további sorokban megadod.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16523) peterszky válasza Delila_1 (#16522) üzenetére


peterszky
őstag

Csak az oszlopot szeretném paraméterként megadni az eljárásnak, hogy ne kelljen mindig átírni a kódban négy helyen a "Q"-t, ha másik oszlopra szeretném futtatni a makrót.

Tehát pl.:
Sub mm(p_oszlop As String)
...
If UCase(Left(Cells(sor%, p_oszlop), 3)) = "E (" Then
...

[ Szerkesztve ]

What else you gonna do on a Saturday?

(#16524) Delila_1 válasza peterszky (#16523) üzenetére


Delila_1
Topikgazda

Sub oszlop()
Dim o$, oszlop%
o$ = InputBox("Melyik oszlopban akarod futtatni?", "Oszlop bekérése")
oszlop% = Asc(UCase(o$)) - 64
MsgBox oszlop%
Cells(1, oszlop%)="alma"
End Sub

A nagy A betű ASC értéke 65, ezért kell a beadott betű ASC értékéből levonni 64-et. 65-64=1, első oszlop.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16525) peterszky válasza Delila_1 (#16524) üzenetére


peterszky
őstag

Értem, köszönöm :R

What else you gonna do on a Saturday?

(#16526) Delila_1 válasza peterszky (#16525) üzenetére


Delila_1
Topikgazda

Szívesen. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16527) Sixkiller6


Sixkiller6
őstag

lenne egy ne-vicceljünk-már kategóriás excel bug/kérdésem (excel 2007 SP3)

2013.01.21 2
2013.01.22 1
2013.01.23 0
2013.01.24 4
2013.01.25 6
2013.01.26 3
2013.01.27 0

erre dobjunk egy robbantott pie-chartot, jobb gomb a pie-on, format data series, shadow, presets, vmi kiválaszt, erre nekem a chart közepén megjelenik egy teljes kör, ki tudja miért.
ha leveszem a shadowt eltűnik. ha átírom a 2013.01.24 mellett lévő 4-et 5-re eltűnik.

ööö... wtf

hallottam már az excel kerekítési gondjairól, de ennek mi köze a shadow-hoz?

- no es importante -

(#16528) atillaahun


atillaahun
veterán

Szépjóestét.
Lehetséges valahogy irányított webes lekérdezéseket csinálni?
Van nekünk egy szavazásunk az egyik telefon topic-ban, és ebből kellene valahogy kiválogatnom az olyan szavazókat, akik nem léteznek, de legalábbis nincs regisztrációjuk itt MA-án.
ITT a tábla. B oszlopban a felhasználónevek, E-ben, pedig a belőlük összefűzött profil webcíme.
Azt kellene valahogy kidobnia az Excelnek egy következő oszlopba, hogy azokon a hivatkozásokon valóban betöltődik-e egy profil, vagy csak 404-es hiba.
Ezt végülis egyesével részfolyamatokban meg is tudom csinálni, csak én valami lehúzhatós képletet szeretnék inkább.
Van erre valami okosság? :B

(#16529) Sixkiller6 válasza atillaahun (#16528) üzenetére


Sixkiller6
őstag

elég sok megoldás van neten:
pl:>>link<<

- no es importante -

(#16530) ldave


ldave
félisten

Sziasztok, van egy grafikonom, amin 8 görbe van (x-y plot), és erre szeretnék egy határológörbét (maximum értékeknél) húzni, viszont a 8 adatsor x pontjai különböznek, van erre valami beépített megoldás?

A Slime draws near! Command?

(#16531) nimmy001


nimmy001
csendes tag

Sziasztok!

Milyen megoldást javasolnátok az alábbi problémára?
Keresni kell adott kódokhoz tartozó adott másik adatot, és ezt kiíratni. Eddig rendben is van, a probléma az, hogy amiben keresni kell, ott a kód egy nagyobb szöveg része (így néz ki: kód - valami név), így a keresés nem ad pontos egyezést. A forrástáblázat adott, nem nagyon lehet belepiszkálni. Hogy tudok úgy keresést indítani így, hogy a forrástáblázat egészében keresse a kódot, és csak az adott oszlopban lévő cellák kódnyi részét nézze, a többi szöveget hagyja figyelmen kívül azokban a cellákban, és meg is találja a hozzá tartozó másik oszlopban lévő értéket, amit ki kell íratni az eredménytáblába?

(#16532) VásRló válasza nimmy001 (#16531) üzenetére


VásRló
tag

Hello

Én nem teljesen értem, hogy akarod. Én a BAL függvénnyel csinálnám, úgy, hogy a kódot külön oszlopba veszem vele. Mondjuk ez akkor működik, ha minden kód ugyanolyan hosszú. Úgy néz ki, hogy =BAL(cella;hány karaktert akarsz balról bemásolni). Ami nem a kód, azt meg ki lehetne szedni a JOBB függvénnyel, de csak ha egyenlő hosszú a nem kód jellegű adat minden sorban, mert be kell írni, hány karaktert akarsz kimásolni...

[ Szerkesztve ]

(#16534) nimmy001 válasza VásRló (#16532) üzenetére


nimmy001
csendes tag

Ezeket ismerem, de nem ez a feladat.
A forrástáblában vannak első oszlopban ilyenek, hogy: kód - valami név
A többi oszlopban különféle adatok, és mondjuk az egyik oszlopból kellenek nekünk az adatok az eredménytáblába, de csak a kód alapján, mert az eredménytáblában csak a kód van benne. Ez elvileg egy Fkeres függvény, de csak ha ugyanaz a keresett, mint a keresendő, itt nem. A forrástáblát csak akkor bolygatnám, ha nem lehet másképp megcsinálni a kódlevágást csak úgy, hogy beillesztek még egy oszlopot. Mások ezzel még dolgoznak.

(#16535) Delila_1 válasza #05304832 (#16533) üzenetére


Delila_1
Topikgazda

Egy üres oszlopba a 2. sorba írd be ezt a képletet: =HA(JOBB(D2;4)="_ker";BAL(D2;HOSSZ(D2)-4);D2)
Másold le, ameddig a kiállított sorok tartanak a D oszlopban. Jelöld ki a képleteket tartalmazó cellákat, másold, állj a D2-re, jobb klikk, irányított beillesztés, értékként. A segédoszlopot törölheted.

Cseréld ki a címsorok feliratait. Jelöld ki az I oszlopot, nyomd le és tartsd nyomva a Shift billentyűt. Kezdd el balra húzni a kijelölt oszlopot. A függőleges szürke vonal mutatja, hol tartasz. Mikor a H oszlop elé érsz, engedd fel az egér gombját, majd a Shiftet is.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16536) Delila_1 válasza nimmy001 (#16534) üzenetére


Delila_1
Topikgazda

=fkeres(kód&"*"; tartomány ;oszlop;0)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16538) Delila_1 válasza #05304832 (#16537) üzenetére


Delila_1
Topikgazda

Jelezd, ha nem megy, és segítek.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16539) cellpeti


cellpeti
veterán

tudok-e olyat, hogy van egy név ami többször szerepel a táblámba és még szeretnék hozzá írni valami rövidítést. De ne egyenként kelljen már, hanem egyszerre cserélje? wordbe tudom hogy van ilyen

Iletve, ha csinálok egy időbeosztást, akkor azt meg lehet-e tenni, hogy az adott nevet magától oda tegye? Vagy ezt már csak VB programozással lehetne?

[ Szerkesztve ]

Tigris, tigris, csóvafény...

(#16540) Delila_1 válasza #05304832 (#16537) üzenetére


Delila_1
Topikgazda

Kész a makró.

Sub csere()
Dim sor As Integer, usor As Integer, V As Variant

usor = Cells(Rows.Count, "C").End(xlUp).Row
For sor = 16 To usor
If Right(Cells(sor, "D"), 4) = "_ker" Then
V = Cells(sor, "D")
Cells(sor, "D") = Left(V, Len(V) - 4)
V = Cells(sor, "H")
Cells(sor, "H") = Cells(sor, "I")
Cells(sor, "I") = V
V = Cells(sor, "K")
Cells(sor, "K") = Cells(sor, "M")
Cells(sor, "M") = V
V = Cells(sor, "N")
Cells(sor, "N") = Cells(sor, "P")
Cells(sor, "P") = V
End If
Next
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16541) Delila_1 válasza cellpeti (#16539) üzenetére


Delila_1
Topikgazda

Az Excelben is van csere funkció, azzal villámgyorsan megoldhatod.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16542) cellpeti válasza Delila_1 (#16541) üzenetére


cellpeti
veterán

köszi rájöttem bocsánat az ultra láma kérdésért.

A második felére ötlet esetleg?

Hogy az idő az X cellába a név az Y-ba és az Y-t rendelje az X-hez? :U

Tigris, tigris, csóvafény...

(#16543) Delila_1 válasza cellpeti (#16542) üzenetére


Delila_1
Topikgazda

Nem értem a kérdést, írd kicsit jobban körül.
Van valahol egy táblázat, ami tartalmazza, hogy melyik időhöz ki tartozik?

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16544) cellpeti válasza Delila_1 (#16543) üzenetére


cellpeti
veterán

pontosan. Ez egy squash pálya foglalási tábla.

Első oszlopba az idő és a többi cellába a napok és a nevek.

Tigris, tigris, csóvafény...

(#16545) Delila_1 válasza cellpeti (#16544) üzenetére


Delila_1
Topikgazda

Nézd meg a súgóban az FKERES függvényt, az kell ide.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16546) cellpeti válasza Delila_1 (#16545) üzenetére


cellpeti
veterán

köszöntem :R :C

Tigris, tigris, csóvafény...

(#16547) Delila_1 válasza cellpeti (#16546) üzenetére


Delila_1
Topikgazda

Szívesen. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16548) cellpeti válasza Delila_1 (#16547) üzenetére


cellpeti
veterán

nem tudom mennyire vagy képben a Skydrive-val. Jobban megjeleníti a táblát, mint a Google táblázat, de viszont az első oszlopot nem tudja "csúsztatni" :W Ötlet erre?

Tigris, tigris, csóvafény...

(#16549) Delila_1 válasza cellpeti (#16548) üzenetére


Delila_1
Topikgazda

Nem ismerem. :(

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#16550) cellpeti válasza Delila_1 (#16549) üzenetére


cellpeti
veterán

akkor próbálkozom tovább :U

Tigris, tigris, csóvafény...

Útvonal

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