-
Fototrend
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
-
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 -
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
-
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 = Pch1FileNameTudnátok erre egy elegánsabb megoldást ajánlani?
-
VANESSZA1
őstag
válasz Delila_1 #13854 üzenetére
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
-
félisten
válasz VANESSZA1 #13859 üzenetére
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ámotMakró 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)
-
félisten
-
thee
csendes tag
válasz Fire/SOUL/CD #13862 üzenetére
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
-
félisten
-
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
-
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
válasz m.zmrzlina #13874 üzenetére
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
válasz Delila_1 #13875 üzenetére
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
válasz m.zmrzlina #13876 üzenetére
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.
-
m.zmrzlina
senior tag
válasz Sziszmisz #13878 üzenetére
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
válasz m.zmrzlina #13880 üzenetére
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
válasz Sziszmisz #13878 üzenetére
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 SubKijelö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
válasz m.zmrzlina #13882 üzenetére
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 ]
-
#90999040
törölt tag
válasz Sziszmisz #13881 üzenetére
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 SubElindí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.
-
Sziszmisz
csendes tag
válasz m.zmrzlina #13886 üzenetére
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 -
Sziszmisz
csendes tag
válasz #90999040 #13890 üzenetére
Ü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
válasz Sziszmisz #13891 üzenetére
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 ]
-
#90999040
törölt tag
válasz Sziszmisz #13895 üzenetére
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
válasz #90999040 #13896 üzenetére
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 Subugyanis 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
-
-
#90999040
törölt tag
válasz Sziszmisz #13898 üzenetére
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 ]
Új hozzászólás Aktív témák
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok