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
- Retro Retro Kocka Kuckó 2024
- Bemutató Spyra: nagynyomású, akkus, 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
Általános témák
LOGOUT.hu témák
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [sziku69:] Szólánc.
- [Re:] [bb0t:] Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- [Re:] AMD Radeon undervolt/overclock
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [sto1911:] Pinball FX3 PH! verseny
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [Brogyi:] CTEK akkumulátor töltő és másolatai
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
hybrid26
tag
Üdv.
Office 2007 -et használok, de lenne egy apró problémám. ha 0 - 9,5 -ig írok a mezőbe addig jó, de 10 felett valamerre mindig kerekít. Én viszont nem szeretném hogy kerekítsen
Aztán ha egy cellát szeretnék szum -mal összesíteni az is megy, csak hogy az is kerekít, de azt sem szeretném
Példa :
2,5
+
4
= 7 (ez nem hét, hanem csak 6,5, nem akarom hogy kerekítsen)
Másik példa :
11,5 (ezt írom, de 12 -re átjavítja, pedig nem kellene)
+
8 (ez ugye 19,5 lenne, csakhogy ez is kerekít, így 20 az eredmény)
Már idegbajt kapok tőle, valaki tudja mi a megoldás?
Válaszokat előre is köszönöm
Delila_1
Topikgazda
Az összegző cella formátumában állítsd be a tizedesek számát. A leírásod szerint most le van tiltva ezeknek a mutatása.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
VANESSZA1
őstag
Ha jól tudom, van Excel-ben véletlen szám generátor. Lehet ezt valahogy lottószám generátorrá átalakítani? Pl.ötöslottó, és hatoslottó számgenerátorra gondolok.
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
Delila_1
Topikgazda
Keress rá a VÉL() és a RANDBETWEEN függvényekre, ezen a fórumon is találsz néhány példát rájuk.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
thee
csendes tag
Lenne nekem is egy kérdésem:
A megnyitott fájl nevét ("InpFileName") csak elérési úttal együtt szerepelt a változóban, csak a fájl nevét így tudtam kibányászni:
Set fs = CreateObject("Scripting.FileSystemObject")
InpFileName = Application.GetOpenFilename("NASTRAN result file(*.pch), *.pch")
' Nev kiiratas a munkalapra
CounterFN = 0
Pch1OpenFileName = InpFileName
LenPch1OpenFileName = Len(Pch1OpenFileName)
Do While CounterFN < LenPch1OpenFileName
Pch1OpenFileNameReverseT = Mid(Pch1OpenFileName, LenPch1OpenFileName - CounterFN, 1)
Pch1OpenFileNameReverse = Pch1OpenFileNameReverse & Pch1OpenFileNameReverseT
CounterFN = CounterFN + 1
Loop
Pch1FileName = Mid(Pch1OpenFileName, LenPch1OpenFileName - Application.WorksheetFunction.Find("\", Pch1OpenFileNameReverse) + 2, Application.WorksheetFunction.Find("\", Pch1OpenFileNameReverse) - 1)
Range("a4").Value = Pch1FileName
Tudnátok erre egy elegánsabb megoldást ajánlani?
VANESSZA1
őstag
Csak nem jövök rá, hogy tudom úgy megoldani (VBA nélkül), hogy
-B3: B92 között vannak a számok 1-től 90 -ig.
-az öt szám pedig E3:I3 között.,
de úgy hogy amit már kiválasztott a B oszlopból mondjuk az E3-ba az ne szerepeljen az F3,G3,H3,I3-ban .
[ Szerkesztve ]
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
hybrid26
tag
Köszönöm szépen. Sikerült
thee
csendes tag
VANESSZA1
őstag
Köszi, de
nálam mindenhol #NÉV? jelenik meg..
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
Azt nem tudom, hogy miért jelenik meg Nálad a #NÉV, de végül is mindegy, mert thee megoldása (segítőszándéka ellenére) sajnos nem kezeli le, hogy 2x (vagy többször) ne fordulhasson elő ugyanaz a szám.
Nem kellett sokszor újraszámoltatni, hogy előjöjjön a hiba: 2x "húzta ki" a 20-as számot
Makró nélkül annyit lehet tenni, hogy E3/F3/G3/H3/I3 cellákba az alábbi képlet kerüljön
=VÉLETLEN.KÖZÖTT($B$3;$B$92)
majd ezt követően pl a J3 cellába meg ez (ez ellenőrzi, hogy csak 1x lehessen 1 szám)
=HA(DARABTELI($E$3:$I$3;$E$3)+DARABTELI($E$3:$I$3;$F$3)+DARABTELI($E$3:$I$3;$G$3)+DARABTELI($E$3:$I$3;$H$3)+DARABTELI($E$3:$I$3;$I$3)=5;"Rendben, 5 különböző szám";"Egyik szám többször fordul elő, nyomjon F9-t!")
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
thee
csendes tag
És ez működik?
Fire/SOUL/CD: kösz, hogy szóltál, javítottam a hibát, elvileg most már jól kéne működnie.
Nem tudom letölteni, a lassú letöltés gombra kattintás után, azt írja nem találja a megadott fájlt...
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
thee
csendes tag
Fura, nekem működik.
Data.hu-val eddig nem volt gondom... Esetleg tudsz ajánlani helyette egy jobb oldalt?
VANESSZA1
őstag
Igen most már a második nálam is működik Ez csak akkor generál új számokat,ha az Excelt bezárjuk és újra kinyitjuk?
Vagy van más módja is ha újra akarom generáltatni?
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
thee
csendes tag
Az újrageneráláshoz én üres cellákban szoktam del-t nyomogatni.
Amúgy 2003-as Excel-t használsz?
F9-t nyomsz.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
#90999040
törölt tag
Működik, de az ismétlődést ez sem szűri ki.
Kipróbáltam úgy, hogy a "K7"-be ezt írtam:
=HA(J6=K6;"NNNNNNNNNNNNNNNNNNNNNNNN";"")
Majd ezt ctrl+c és ctrl+v-vel átmásoltam a L7 : N7-be, majd többszöri F9 után jönnek az "N"-ek
[ Szerkesztve ]
VANESSZA1
őstag
Igen működik az F9-el az újragenerálás. Amúgy 2007-et használok mert az van meg legálisban.
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
thee
csendes tag
Kösz, hogy szóltál, remélem ez már tényleg jó lesz:
#90999040
törölt tag
Igen, így már a D-F oszlopokban levő VAGY-ok kiszűrik.
VANESSZA1
őstag
köszönöm a segítséged.
[ Szerkesztve ]
Precision M7710_&_Precision M7740- CPU: 9980HK, RAM: 32GB/3200MHz, GPU: RTX5000, IGZO 4K-UHD, SSD: 2TB Force MP510, 2TB ADATA XPG SX8200 PRO, 1TB SK HYNIX Class 50 SSD
#90999040
törölt tag
Ez talán jó...
Range("a4").Value = Right(InpFileName, Len(InpFileName) - InStrRev(InpFileName, "\"))
Esetleg lehet még split() és az utolsó elem...
[ Szerkesztve ]
thee
csendes tag
m.zmrzlina
senior tag
A H oszlopban szeretném megkeresni az I oszlop elemeit.
Képünk csak illusztráció lényeg, hogy az adatbázis elemei és a keresett szavak közt néhány karakter eltérés lehet de attól még egyeznek.
Delila_1
Topikgazda
Valami ilyen segíthet, de nem 100%-os:
=HOL.VAN("*"&BAL(I1;2)&"*";H:H;0)
Ahol az I oszlopban nincs adat, ott 1-et ír találati helynek.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
m.zmrzlina
senior tag
Ha jól értem a képletet akkor:
Melyik a sora annak a cellának,
-amiben lévő szöveg kezdődik valamivel
-azután jön a keresett szó első két betűje
-végül befejeződik valami mással.
Sajnos ilyen szempontból rossz a példám (bocs ) mert a nem odaillő karakterek bárhol lehetnek a keresendő szóban akár a legelején is.
Delila_1
Topikgazda
Azért tettem csillagot a hol.van függvény feltételének az elejére is.
Kiegészítheted az INDEX függvénnyel:
=INDEX(H:H;HOL.VAN("*"&BAL(I1;2)&"*";H:H;0);1)
ami az I mellé írja a H oszlopban lévő megfelelőjét, de mint írtam, nem lesz teljesen jó, csak ad némi támaszt.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Sziszmisz
csendes tag
m.zmrzlina
senior tag
Köszönöm a választ.
m.zmrzlina
senior tag
A sor és oszlopazonosítók ugyan nem látszanak a képen de tegyük fel, hogy a Terméktípus a C oszlopban van és a következő üres oszlop a G valamint az első zöld cella B3
Ez esetben a G4 képlete:
=C4 & " " & $B$3
Ezt le tudod másolni ameddig szükséges (a következő zöld sorig) majd kijelölöd G4-G12-ig és csak az értéket beilleszted a C oszlopba.
Sziszmisz
csendes tag
Köszönöm a segítséget, de itt nem pár darab, hanem excelenként több ezer sorról és rengeteg excelről van szó, valamiféle automatizálást szeretnék erre kitalálni, amit a már meglévő függvényeimbe tudnék beágyazni, mert nem csak ennyi a probléma. Esetlegesen még arra gondoltam kihúznám a hozzáfűzendő értékeket mauálisan egy oszloppal előrébb.
Lényeg az lenne hogy mindig az aktuális szöveget fűzze hozzá az alatta lévőkhöz. Remélem sikerült érthetően lekaparnom....
m.zmrzlina
senior tag
Kicsit gyorsabb megoldás, ha bemásolod új modulba a következő makrót:
Sub hozzafuz()
For Each cella In Selection.Cells
cella.Value = cella.Value & " " & ActiveCell.Offset(-1, -1).Value
Next
End Sub
Kijelölöd azt a tartományt amelynek minden eleméhez hozzá szeretnéd fűzni a leírást majd elindítod a makrót. Az ActiveCell.Offset(-1, -1) határozza meg, hogy a kijelölés legfelső cellájához képest (jó esetben ez az aktív cella) hol helyezkedik el az a cella aminek a tartalmát minden kijelölt cella tartalmához hozzá kell fűzni. A példabeli esetben 1 sorral felette és tőle egy oszloppal balra.
Kérdés: Minden termékcsoport (zöld cellák közti tartomány) pontosan 9 elemből áll mint a példában van?
[ Szerkesztve ]
Sziszmisz
csendes tag
Woww, ez így jól hangzik, kezdésnek nagyon jó, de még így is napokba/hetekbe telne mire a teljes adatbázisunk, összes exelét egyesével kijelölgetném. Nincs erre bármiféle automatizálás, hogy valami alapján felismerje mit kell hozzáfűzni??
köszönöm: Sziszmisz
Válasz: Sajnos ez teljesen változó.... ezért gondolkodtam az egy oszloppal előrébb kihúzásban és erre tanácsolták nekem azt hogy egy ha="" feltétellel megcsinálhatnám(persze ezt beleágyazva a már megcsinált összefűz függvényembe), csak azt nem tudom hogyan definiálhatnám hogy a legutóbbi nem üres cellát fűzze hozzá.
De ez csak egy ötlet, bármire vevő vagyok
[ Szerkesztve ]
m.zmrzlina
senior tag
Ehhez jobban kellene ismerni a munkalapod szerkezetét. Kellene tudni valami szabályszerűséget a cellák tartalmáról, (és) vagy elhelyezkedéséről.
#90999040
törölt tag
Ezt próbáld ki. De először ne élesben!!!
Sub Modosit()
Application.ScreenUpdating = False
szin = ActiveCell.CurrentRegion.Cells(2, 1).Interior.Color
For Each r In ActiveCell.CurrentRegion.Offset(0, 1).Resize(columnsize:=1)
If r.Interior.Color = szin Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End Sub
Elindításkor bármelyik cella ki lehet jelölve, csak az a fontos, hogy az adattáblán belül legyen a kijelölés.
m.zmrzlina
senior tag
ezért gondolkodtam az egy oszloppal előrébb kihúzásban
Ekkora adatbázisban ez is egy fél életen át fog tartani.
A hozzáfűzni kívánt cellák háttere csak a példában eltérő a többitől vagy az igazi fájlokban is?
Sziszmisz
csendes tag
igen, csak a példákban más, de még mindig az előrébb huzogatás lenne a legegyszerűbb megoldás eddig.
kedves thee-től kaptam, de ez már komplexebb problémát ölel fel, csak nem akartam regényt írni:
http://data.hu/get/5139947/arlistarendezo_cst03.xls
#90999040
törölt tag
Ja, az én példám nem az "előre huzogatott" verzióra vonatkozik...
Sziszmisz
csendes tag
De a te példád a színezett verzióra vonatkozik???
egyébként neked is nagyon köszönöm
#90999040
törölt tag
A színezett, de nem behuzott verzióra vonatkozik, ahogy az a #13878-as hozzászólásod képén látszik...
[ Szerkesztve ]
Sziszmisz
csendes tag
Ühümmm, egyenlőre úgy tűnik akkor hogy ez lesz a nyerő, kipróbáltam lefut, itt ebben az elrendezésben tökéletes, istenkirály vagy. Viszont le tudnád nekem írni hogy mi a feltétele annak hogy ez működjön, például ahol a 4.-5. sorba kezdődik a táblázat ott mit kellene módosítanom hogy szintén lefusson? Vagy mi a feltétele annak hogy ez működjön a (színezésen kívül)? Ha jól értem a színezés alatti sor 2. cellájába fűzi hozzá, ezt akár tetszés szerint módosíthatom, vagy van ennek még több feltétele is?
Esetlegesen lehetne hogy az elejéhez fűzze és ne a végére?
[ Szerkesztve ]
#90999040
törölt tag
Igazából a tartomány bárhol lehet, a lényeg:
1: az a munkalap legyen kijelölve, ahol az adatok vannak
2: a kijelölt cella a tartományon belül legyen
3: az előbb említett elrendezés legyen. tehát:
ha pl. a sarokcella : B2(ennek színezetlennek kell lennie!!!), akkor az első színezett cella a B3-ban legyen, és a C oszlopot kell módosítani. Most látom, a sorszámozás oszlopát nem vettem figyelembe. Ez a sorszámozás a táblához tartozik?
Egyébként, amik színezve vannak, azok a cellák egyesítettek az eredeti verzióban?
[ Szerkesztve ]
Sziszmisz
csendes tag
Néhol egyesített, néhol nem -ezért én a teljes munkalapon megszüntettem az egyesített cellákat, nehogy galiba legyen belőle.
Meg lehet oldani hogy az elejére fűzze hozzá?
[ Szerkesztve ]
#90999040
törölt tag
És akkor mi van az ábrán színezett sorban, a Terméktípus oszlopában, az üres?
Sziszmisz
csendes tag
igen...
#90999040
törölt tag
Akkor nézd meg ezt. Ebben már benne van a sorszámozás oszlopa is, valamint itt már nem a színezés számít, hanem, hogy üres-e a Terméktípus oszlpa.
Sub Modosit()
Application.ScreenUpdating = False
For Each r In ActiveCell.CurrentRegion.Offset(0, 2).Resize(columnsize:=1)
If r.Value = "" Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End Sub
[ Szerkesztve ]
Sziszmisz
csendes tag
ez a verzió nekem így futott le helyesen:
Sub Modosit()
Application.ScreenUpdating = False
For Each r In ActiveCell.CurrentRegion.Offset(0, 1).Resize(columnsize:=1)
If r.Value = "" Then
s = Cells(r.Row, r.Column - 1).Value
Else
r.Value = r.Value & " " & s
End If
Next
Application.ScreenUpdating = True
End Sub
ugyanis nekem a zölddel kijelölt rész a 3. sorban kezdődik, de most teljesen összezavartál, akkor mit kell módosítanom hogy megadjam hol kezdődik "zöld rész" és hogy "hányadik oszlophoz fűzze hozzá", ugyanis ez táblánként változik....
azt hogy az elejére fűzze és ne a végére azt be tudom valahogy állítani?
köszmösz
Sziszmisz
csendes tag
wáooooooo akkor ez azt jelenti hogy színeznem sem kell? csak egyszerűen az kell hogy ott üres legyen a b oszlop??
bár mondjuk az "üres rész" mindig a b oszlopban kezdődik, akárhányadik sorban is indul el a táblázat.....
[ Szerkesztve ]
#90999040
törölt tag
Ha a cikkszám az A oszlopban van, akkor igen.
If r.Value = "" Then -> itt vizsgálom, hogy a B oszlopban a cella üres-e.
Ha egy ilyen üres cellát talál a B oszlopban, akkor annak értékét eltárolja, és egészen addig ezt az értéket adja hozzá a B oszlop nem üres celláihoz, amíg a B oszlopban ismét nem talál üres cellát, akkor ezt tárolja el, és így tovább.
A táblázatnak nem szükséges az A1-ben kezdődnie, kezdődhet akár a D11-ben is....
Az elejére pedig így tudod hozzáfűzni:
r.Value = s & " " & r.Value
[ Szerkesztve ]
Mai Hardverapró hirdetések
prémium kategóriában
- Saitek Pro Flight panelek - 2 Radio Panel + Multi Panel + Switch Panel
- Saitek X52 Professional Hotas Joystick + Throttle
- 5 db 840 G1 (i5-4300) bontásra,alkatrésznek,vagy felépítésre egyben eladó
- BESZÁMÍTÁS! ÁRGARANCIAI! Új nVidia Quadro Tesla Radeon Pro videokártyák rendelésre 3 év gar. 27% áfá
- Apple MacBook Air 13.3 M2 Chip 8GB 256GB Space Grey magyar (47 ciklus)