-
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
-
Delila_1
veterán
válasz II.Démonlord #33100 üzenetére
Örülök, hogy sikerült az egyszerűbb módszerrel összehozni, 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.
-
olloczky
senior tag
Sziasztok
Egy nagy táblában ahol számok vannak külön cellában ott, hogy tudok egy adott kombinációra rákeresni?
példa:
1 2 3 4 5
5 6 7 8 9
10 11 12 13 14nyílván ezt több ezer számmal, és én az 5 6 7 8 9 sorra szeretnék rákeresni, szimplán a számok megadásával. Hogy lehetséges?
üdv
[ Szerkesztve ]
Úgy még sosem volt, hogy valahogy ne lett volna!
-
Delila_1
veterán
válasz olloczky #33102 üzenetére
Vegyél fel egy segédoszlopot, ahol összefűzöd a számokat. A képen ez a G oszlop.
Mivel az összefűzött számjegyek szöveg típusúak lesznek, szöveget kell keresned, ahogy az I1 cellában látod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
róland
veterán
Kedves Hozzáértők!
Hogyan lehet Excel adott munkalapjából CSV fájl-t készíteni? (Egy munkabeosztás/jelenléti ív számolt adatait kellene átadni bérszámfejtő programnak. Gyakorlatilag a manuális rögzítést szeretnénk megúszni.)
http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!
-
Juditta_56
aktív tag
válasz róland #33106 üzenetére
Szia!
Én is most kínlódtam meg ezzel. Kérdés, hogy Neked milyen formátum kell.
Ha "simán" mentettem a munkalapot csv-ként, az nekem pontosvesszővel elválasztott adatokat eredményezett. Úgyhogy összefűztem a szükséges adatokat úgy, hogy közé vesszőket tettem (a fejlécet is!), ezt átraktam egy üres munkalapra és azt mentettem csv-ként. Így szabályos, vesszővel elválasztott mezőket kaptam. (Konkrétan a guglinaptárba akartam importálni a beosztásomat.)"You may say that I'm a dreamer But I'm not the only one"
-
Juditta_56
aktív tag
válasz Delila_1 #23042 üzenetére
Szia, Delila!
Ezt ("Összeollózott szövegek formázása 1 cellán belül") az anyagot fel tudnád rakni valahová, ha szépen megkérlek, mert már nem érhető el? Előre is köszönöm!
A problémám - amire remélem, megoldás lesz az anyag -, hogy a főnökség nem szeret táblázatot nézegetni, ezért mindent el kell küldeni szövegesen (is). Az összesítőket képletekkel szövegbe rakjuk, majd bemásoljuk egy e-mailbe, viszont szeretném, hogy a számok bold formátumúak lennének (és csak a számok). Próbáltam, hogy a szerkesztőlécen a cellahivatkozást - amiben az adott szám van - vastagra állítom, de képletben nem fogadja el. Esetleg az excelben lévő "kész" szövegben lehet valami trükk, amivel a számokat ki lehetne vastagítani? Nyilván egyenként meg lehet oldani, akár az excelben, akár az e-mailben, de jó lenne valami trükk rá...
Egyébként mindent köszönök előre is, meg utólag is, rengeteget tanulok Tőled!
"You may say that I'm a dreamer But I'm not the only one"
-
Delila_1
veterán
válasz Juditta_56 #33110 üzenetére
Szia Juditta!
Azt a fájlt már nem tudtam előbányászni.
Előtte írtam, hogy a képlet eredményeként látszó szöveget nem lehet részenként formázni, de irányítottan, értékként átmásolhatod valahova. Azt már akár karakterenként másképp formázhatod.
Írtam egy makrót, amit a lapodhoz kell rendelned (lásd a Téma összefoglalót). A formázandó cellán állva egy duplaklikk kiemeli félkövérrel a benne szereplő számokat.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim b As Integer
For b = 1 To Len(Target)
If IsNumeric(Mid(Target, b, 1)) Then Target.Characters(b, 1).Font.Bold = True
Next
Cancel = True
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.
-
Smogus
őstag
Sziasztok!
Hogyan tudom azt megoldani, hogy ha A1 cella értéke pl 100% , akkor A2 cella értékében egy adott képlet érvényesüljön, ellenkező esetben pedig maradjon üresen a cella értéke?
Előre is köszönöm!
Ha az emberi agy elég egyszerű lenne ahhoz, hogy megértsük, akkor egyszerűségünkben erre már nem lehetnénk képesek. -- http://smogus.deviantart.com/ --
-
Delila_1
veterán
válasz Juditta_56 #33115 üzenetére
Örülök, hogy sikerült, 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.
-
scott_free
senior tag
sziasztok,
az októberi office-frissítés használhatatlanná tette az űrlapokat (probléma leírása), amire elvileg tegnap kijött a javítás, a 2054-es verzióval.
azt tudja valaki, hogy magyarul mikor lesz ez elérhető? mert még mindig a 2038-asra frissít.
köszi!
-
lenkei83
tag
-
fecske13
tag
válasz Juditta_56 #33110 üzenetére
Elmentettem akkor azt a fájlt, most feltettem ide:
Szovegek_formazasa_1_cellan_belul
hátha még másnak is szüksége lehet rá.
A köszönet Delila-t illeti.[ Szerkesztve ]
"Az a lényeg, egészség legyen, meg kerozin a repcsibe."
-
Fferi50
Topikgazda
válasz lenkei83 #33119 üzenetére
Szia!
A második makróból csinálj egy függvényt (pl):
Function RemoveNotNum(ByVal ertek As String)
Dim xOut As String, xTemp As String, i As Integer, xstr As String
xOut = ""
For i = 1 To Len(ertek)
xTemp = Mid(ertek, i, 1)
If xTemp Like "[0-9]" Then
xstr = xTemp
Else
xstr = ""
End If
xOut = xOut & xstr
Next i
RemoveNotNum = xOut
End FunctionEzután az első makróban a target.Value = regiertek sort cseréld ki erre:
target.Value = RemoveNotNum(regiertek)
Üdv.
-
Juditta_56
aktív tag
válasz fecske13 #33121 üzenetére
Köszönöm azért Neked is!
A SZÖVEG függvényt ismerem, ezexerint nem ez volt a megoldás, hanem Delila új makrója.
Még egyszer köszönöm Neked is, Delila! A makródat majd kibővítem, hogy az összes sort (cellát) átalakítsa és akkor tényleg csak egy gombnyomás lesz a szöveg "megírása".
"You may say that I'm a dreamer But I'm not the only one"
-
bficsor
csendes újonc
Sziasztok!
A csatolmányban írtam le részletesen a problémámat, amelynek lényege, hogy elegánsan szeretném megoldani, hogy két oszlopban felsorolt pontokhoz tartozó hosszakat összeadja az excel.
Tudnátok segíteni?
Előre is köszönöm!
-
Delila_1
veterán
válasz Juditta_56 #33123 üzenetére
A lenti makró a kijelölt tartományban végzi el a számok félkövérre állítását a szövegen belül. Ez a tartomány az eredeti, képlettel előállított szövegnek az értékként beillesztett területe legyen.
Sub Felkover()
Dim CV As Range, b As Integer
For Each CV In Selection
For b = 1 To Len(CV)
If IsNumeric(Mid(CV, b, 1)) Then CV.Characters(b, 1).Font.Bold = True
Next
Next
End Sub[ 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.
-
Delila_1
veterán
válasz Juditta_56 #33128 üzenetére
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
Topikgazda
-
bficsor
csendes újonc
-
SssunnyyY
újonc
Sziasztok!
Tudnátok abban segíteni, hogy a hetek számát kitöltve, akár 5 évre előre, hogyan tudnám úgy görgetni az oszlopokat, hogy csak az aktuális 1 éves intervallum látszódjon, azaz rögzítve legyen a Terv/Tény oszlop is és a Felelős oszlop.
Igazából bármilyen megoldás érdekelne, hogy hogyan tudnám bővítve látni a dátumokat, ha szükség van "előretekintésre"?
Előre is köszi! -
Delila_1
veterán
válasz bficsor #33131 üzenetére
Az első oszlop a vezeték száma, a második a hossza. A következő 3-ban adod meg, hogy melyik vezeték csatlakozik hozzá. Az F2 cella képlete
=FKERES(C2;A:B;2;0)+HAHIBA(FKERES(D2;A:B;2;0);0)+HAHIBA(FKERES(E2;A:B;2;0);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
veterán
válasz SssunnyyY #33134 üzenetére
Állj a 37 alatti cellába, majd Nézet menü, Ablak, Ablaktábla rögzítése.
Az egyes évek mutatásához nézd meg a súgóban az egyéni nézetek létrehozását, az segít.[ 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.
-
Delila_1
veterán
válasz SssunnyyY #33137 üzenetére
Elolvastad az egyéni nézetekről szóló fejezetet a súgóban?
Elrejted pl. az előző év adatait tartalmazó oszlopokat, majd egy új egyéni nézetet veszel fel 2016 névvel.
[ 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.
-
lenkei83
tag
válasz Fferi50 #33130 üzenetére
Szia Feri!
Köszönöm, működik, annyit kellett változtatni, hogy
RemoveNotNum(target.value)
helyettRemoveNotNum(regiertek)
Nem is értem mit nem értettem...Amire viszont most jöttem rá, hogy ha több értéket akarok egyszerre bemásolni akkor ez nem működik, mert a target range csak egy lehet. Van erre valami megoldás?
üdv
P.[ Szerkesztve ]
-
Fferi50
Topikgazda
válasz lenkei83 #33139 üzenetére
Szia!
Szerintem a Copy ágon nincs régi érték...
Ha több cellából áll a Target tartomány, akkor két lehetőséged van:
- vagy a Target tartomány celláin mész végig for each ciklussal és egyenként hívod meg a függvényt,
- vagy és ez szerintem a jobb, hogy a függvényből paraméteres eljárást csinálsz és ezen belül megy végig a ciklus a range celláin:Sub RemoveNotNum(ByRef myRange As Range)
Dim xOut As String, xTemp As String, i As Integer, xstr As String, cl As Range
xOut = ""
For Each cl In myRange
For i = 1 To Len(cl.Value)
xTemp = Mid(cl.Value, i, 1)
If xTemp Like "[0-9]" Then
xstr = xTemp
Else
xstr = ""
End If
xOut = xOut & xstr
Next i
cl.Value = xOut
xOut = ""
Next
End Sub
(Ez már csaknem az eredeti makró :-)
A meghívás pedig RemoveNotNum Target (illetve a Target helyett írhatod azt a tarrtományt, amelyből ki szeretnéd venni a nem szám karaktereket.
Itt már nem kell zárójel, mert nem függvény, hanem eljárás ami működik. Ez akkor is működik, ha csak egy cella van kijelölve, akkor is, ha több.Üdv.
-
lenkei83
tag
válasz Fferi50 #33140 üzenetére
Azért
regiertek
, mert az a sor ugyan meg van hogyregiertek = target.Value
, de utána van egyapplication.undo
, és ha ilyenkor hívom meg functionnal atarget.Value = RemoveNotNum(target.value)
-t, akkor atarget.Value
éppen üres, vagyis üresre fogja hozni a cellámat.If sh.CodeName = "Munka7" Or sh.CodeName = "Munka13" Or sh.CodeName = "Munka10" Or sh.CodeName = "Munka8" Or sh.CodeName = "Munka5" Then
Application.EnableEvents = True
Exit Sub
Else
If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then
target.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
target.Value = RemoveNotNum(regiertek)
Else
target.Value = RemoveNotNum(regiertek)A meghívásnak így kellene kinézni? Konkrétan a bemásolt (vagyis az aktuálisan kijelölt) területre szeretném alkalmazni, akkor így kellene meghívni?
RemoveNotNum Selection
Nem igazán akar működni worksheet_change-el
Else
If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then
target.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
RemoveNotNum regiertek
Else
RemoveNotNum regiertek
End Ifüdv
P.[ Szerkesztve ]
-
Fferi50
Topikgazda
válasz lenkei83 #33141 üzenetére
Szia!
Szerintem kicsit túlkombinálod.
Ez a függvényes, ami csak 1 cella esetén müxik jól.If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value ' ez volt a target értéke
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then ' ha másolásról van szó, akkor
target.PasteSpecial Paste:=xlPasteValues ' most bemásoljuk az értéket - ami megegyezik az előzőleg regiertekbe tett értékkel!
Application.CutCopyMode = False
target.Value = RemoveNotNum(regiertek) 'ezért itt jó a regiertek és a target.value is!!
Else
target.Value = RemoveNotNum(regiertek) 'ha nem másolás volt, akkor is kiszedjük a számokat
EndIf
mivel ez a két sor azonos, lehet az EndIf után tenni.Ez pedig a Sub-bal, itt viszont a meghíváskor RANGE-et kell megadni, nem értéket!
If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then
target.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
RemoveNotNum Target 'regiertek
Else
Target.Value=regiertek
RemoveNotNum Target 'regiertek
End If
Ez működik több cellás cél esetén is (meg egy cella esetén is).Üdv.
-
ANT
addikt
Üdv mindenkinek.
A következő feladat megoldásához kérnék segítséget:Külön a név és a tertmagasság megjelenítése megy az INDEX és HOL.VAN függvényekkel, de ez a sorszámmal kombinált verzió meghaladja a képességeimet.
Köszi előre is a segítséget.
Szerk: excel2007 a játszótér, ha ennek van jelentősége.
[ Szerkesztve ]
''Soha ne add fel, ez a legnagyobb, halálos ellenség'' Replika
-
Delila_1
veterán
A feladat szerint annak a nevét és magasságát kell megadni, "akinek a tornasorban megadott helyét a B10-es cellába írtuk".
A tanulók magasság szerint emelkedő sorrendben szerepelnek.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
ANT
addikt
Köszi mindkettőtöknek. Végül is a tornasor lehet növekvő és csökkenő is.
lappy: megoldottam a "házit", bár a cellatartományaid egy kicsit el voltak csúszva a függvényben.
''Soha ne add fel, ez a legnagyobb, halálos ellenség'' Replika
-
blountex
senior tag
Hello!
Nem igen foglalkoztam VB programozással, függvényt meg szerintem nincs rá.
Ezt eddig függvénnyel oldottam meg, az alábbiak szerint. Van egy n betű és annak 25 értéke. Ahány n van annyival szorozza meg a 25 értéket, csak hogy van mikor több változó is van, így ezt a függvény nem tudja érzékelni mint n+k, akkor nem tudja hogy mennyi n és mennyi k van hiába írom azt hogy 3n+k ami 87.
Tehát valami ilyesmi kéne, hogy ha az:
n=25
k=12
és ?n+?k azaz a kérdőjel helyére beírok egy számot pl 3n+1k azaz 3*25+1*12=87 akkor ő azt egy másik cellába írja ki az értéket[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest