- Asszociációs játék. :)
- Fűzzük össze a szavakat :)
- Mindent a StreamSharkról!
- Szólánc.
- Bambanő háza tája
- Nagy "hülyétkapokazapróktól" topik
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- PLEX: multimédia az egész lakásban
- Ingyen kellene, de tegnapra
- Ep128Emu felhasználói képeskönyv
-
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.
Új hozzászólás Aktív témák
-
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 ]
-
ANT
őstag
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.
-
ANT
őstag
Ü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 ]
-
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.
-
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 #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 #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 ]
-
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! -
bficsor
csendes újonc
-
Fferi50
Topikgazda
-
Delila_1
veterán
válasz
Juditta_56 #33128 üzenetére
-
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 ]
-
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!
-
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".
-
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.
-
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 ]
-
lenkei83
tag
-
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!
-
Delila_1
veterán
válasz
Juditta_56 #33115 üzenetére
Örülök, hogy sikerült, szívesen.
-
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!
-
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 Sub -
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!
-
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.) -
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.)
-
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 ]
-
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.
Új hozzászólás Aktív témák
- Asszociációs játék. :)
- The Division 2 (PC, XO, PS4)
- Milyen billentyűzetet vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Dell notebook topic
- Vezeték nélküli fülhallgatók
- ThinkPad (NEM IdeaPad)
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...