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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Mr Dini:] Hálózati problémából kiber-versenyfeladat!
- [Re:] [Parci:] Milyen mosógépet vegyek?
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [bb0t:] Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [GoodSpeed:] Windows 11 PRO FPP (Full Packaged Product) - Retail, Box, dobozos
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
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 ]
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!
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ó
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?
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.
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?
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
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.
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.
Thom6
csendes tag
Okés,köszi
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.
Pille69
tag
Isten vagy, köszönöm! (Vagy Istennő? )
poffsoft
addikt
A "B" nyert
[ Szerkesztve ]
Excelbarat
tag
Sub win ()
Dim b as String
b = "Istennő"
Sheets("#16388").select
Range(b).select
End sub
már magával ragadt a makróprog
[ Szerkesztve ]
poffsoft
addikt
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
[ Szerkesztve ]
[ Szerkesztve ]
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.
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.
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.
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!
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ó?
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?
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.
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?
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.
peterszky
őstag
Értem, köszönöm
What else you gonna do on a Saturday?
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.
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 -
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?
(#16529) Sixkiller6 válasza atillaahun (#16528) üzenetére
Sixkiller6
őstag
elég sok megoldás van neten:
pl:>>link<<
- no es importante -
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?
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?
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 ]
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.
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.
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.
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.
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...
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.
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.
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?
Tigris, tigris, csóvafény...
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.
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...
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.
cellpeti
veterán
köszöntem
Tigris, tigris, csóvafény...
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.
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" Ötlet erre?
Tigris, tigris, csóvafény...
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.
Mai Hardverapró hirdetések
prémium kategóriában
- Lenovo 4. generációs i3-4130 sff pc, 16GB vagy 32GB rammal
- Új Bontatlan Univerzális monitorállvány, 17-27'' , VESA 100x100/75x75 UNOXAR UX-MDS-10
- HP pro 6300 SFF i5-3470 16GB vagy 32GB Rammal
- Hófehér Toshiba 15,6"HD,4magosIntel!4x2,2Ghz,IntelHDVga,SSD,szép állapot
- ThinkPad 13,3" FullHd IPS,10.gen.core i5(8x4,2Ghz),Vil.bill.8GB DDR4,512GB SSD,Jó akku, jó állapot