- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- ArchiCAD és Artlantis topik
- Mikrotik routerek
- YouTube
- WLAN, WiFi, vezeték nélküli hálózat
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Linux kezdőknek
-
IT café
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
-
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 alkalmazBámulatos hol tart már a tudomány!
-
peterszky
őstag
válasz Delila_1 #16496 üzenetére
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 SubPastebin [link]
What else you gonna do on a Saturday?
-
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.
-
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 SubEzt 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.
-
poffsoft
addikt
válasz Excelbarat #16513 üzenetére
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 ]
-
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
válasz BuktaSzaki #16516 üzenetére
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
válasz BuktaSzaki #16516 üzenetére
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
válasz BuktaSzaki #16519 üzenetére
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
válasz peterszky #16503 üzenetére
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
válasz peterszky #16521 üzenetére
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
válasz Delila_1 #16522 üzenetére
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
válasz peterszky #16523 üzenetére
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 SubA 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.
-
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 0erre 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? -
Sixkiller6
őstag
-
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
válasz nimmy001 #16531 üzenetére
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
válasz VásRló #16532 üzenetére
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
válasz #05304832 #16533 üzenetére
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.
-
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
válasz #05304832 #16537 üzenetére
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 SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- OLED TV topic
- exHWSW - Értünk mindenhez IS
- Ford topik
- Suzuki topik
- Yettel topik
- A Keychron ismét egy űr betöltését vállalta magára az egerek szegmensében
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Nagyrobogósok baráti topikja
- Házimozi haladó szinten
- További aktív témák...