Hirdetés

2024. május 18., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#13851) hybrid26


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 :W
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 :R

(#13852) Delila_1 válasza hybrid26 (#13851) üzenetére


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.

(#13853) VANESSZA1


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

(#13854) Delila_1 válasza VANESSZA1 (#13853) üzenetére


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.

(#13855) thee


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?

(#13856) VANESSZA1 válasza Delila_1 (#13854) üzenetére


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

(#13857) hybrid26 válasza Delila_1 (#13852) üzenetére


hybrid26
tag

Köszönöm szépen. Sikerült :DD :R

(#13858) thee válasza VANESSZA1 (#13856) üzenetére


thee
csendes tag

(#13859) VANESSZA1 válasza thee (#13858) üzenetére


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

(#13860) Fire/SOUL/CD válasza VANESSZA1 (#13859) üzenetére


Fire/SOUL/CD
félisten

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)

(#13861) thee válasza VANESSZA1 (#13859) üzenetére


thee
csendes tag

[link]

É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.

(#13862) Fire/SOUL/CD válasza thee (#13861) üzenetére


Fire/SOUL/CD
félisten

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)

(#13863) thee válasza Fire/SOUL/CD (#13862) üzenetére


thee
csendes tag

Fura, nekem működik. :F

Data.hu-val eddig nem volt gondom... Esetleg tudsz ajánlani helyette egy jobb oldalt?

(#13864) VANESSZA1 válasza thee (#13863) üzenetére


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

(#13865) thee válasza VANESSZA1 (#13864) üzenetére


thee
csendes tag

Az újrageneráláshoz én üres cellákban szoktam del-t nyomogatni.

Amúgy 2003-as Excel-t használsz?

(#13866) Fire/SOUL/CD válasza VANESSZA1 (#13864) üzenetére


Fire/SOUL/CD
félisten

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)

(#13867) #90999040 válasza thee (#13861) üzenetére


#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 ]

(#13868) VANESSZA1


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

(#13869) thee válasza #90999040 (#13867) üzenetére


thee
csendes tag

Kösz, hogy szóltál, remélem ez már tényleg jó lesz:

[link]

:(((

(#13870) #90999040 válasza thee (#13869) üzenetére


#90999040
törölt tag

Igen, így már a D-F oszlopokban levő VAGY-ok kiszűrik. :K

(#13871) VANESSZA1 válasza thee (#13869) üzenetére


VANESSZA1
őstag

:R :R 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

(#13872) #90999040 válasza thee (#13855) üzenetére


#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 ]

(#13873) thee válasza #90999040 (#13872) üzenetére


thee
csendes tag

:C

(#13874) m.zmrzlina


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.

(#13875) Delila_1 válasza m.zmrzlina (#13874) üzenetére


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.

(#13876) m.zmrzlina válasza Delila_1 (#13875) üzenetére


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 :U ) mert a nem odaillő karakterek bárhol lehetnek a keresendő szóban akár a legelején is.

(#13877) Delila_1 válasza m.zmrzlina (#13876) üzenetére


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.

(#13878) Sziszmisz


Sziszmisz
csendes tag

Sziasztok,

Ismét a segítségeteket szeretném kérni, hátha van valakinek valami jó ötlete. Azt szeretném eléri több ezer mezőn keresztül hogy a terméktípushoz mindig a felette lévő zöld színnel kiemelt cellát hozzáfűzzem.

Előre is nagyon köszönöm :DD

(#13879) m.zmrzlina válasza Delila_1 (#13877) üzenetére


m.zmrzlina
senior tag

Köszönöm a választ.

(#13880) m.zmrzlina válasza Sziszmisz (#13878) üzenetére


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.

(#13881) Sziszmisz válasza m.zmrzlina (#13880) üzenetére


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....

(#13882) m.zmrzlina válasza Sziszmisz (#13878) üzenetére


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 ]

(#13883) Sziszmisz válasza m.zmrzlina (#13882) üzenetére


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 ]

(#13884) m.zmrzlina válasza Sziszmisz (#13883) üzenetére


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.

(#13885) #90999040 válasza Sziszmisz (#13881) üzenetére


#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.

(#13886) m.zmrzlina válasza Sziszmisz (#13883) üzenetére


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?

(#13887) Sziszmisz válasza m.zmrzlina (#13886) üzenetére


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

(#13888) #90999040 válasza #90999040 (#13885) üzenetére


#90999040
törölt tag

Ja, az én példám nem az "előre huzogatott" verzióra vonatkozik...

(#13889) Sziszmisz válasza #90999040 (#13888) üzenetére


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 :))

(#13890) #90999040 válasza Sziszmisz (#13889) üzenetére


#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 ]

(#13891) Sziszmisz válasza #90999040 (#13890) üzenetére


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?

:R

[ Szerkesztve ]

(#13892) #90999040 válasza Sziszmisz (#13891) üzenetére


#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 ]

(#13893) Sziszmisz válasza #90999040 (#13892) üzenetére


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 ]

(#13894) #90999040 válasza Sziszmisz (#13893) üzenetére


#90999040
törölt tag

És akkor mi van az ábrán színezett sorban, a Terméktípus oszlopában, az üres?

(#13895) Sziszmisz válasza #90999040 (#13894) üzenetére


Sziszmisz
csendes tag

igen...

(#13896) #90999040 válasza Sziszmisz (#13895) üzenetére


#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 ]

(#13897) Sziszmisz válasza #90999040 (#13896) üzenetére


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 :))

(#13898) Sziszmisz válasza #90999040 (#13896) üzenetére


Sziszmisz
csendes tag

wáooooooo :Y akkor ez azt jelenti hogy színeznem sem kell? csak egyszerűen az kell hogy ott üres legyen a b oszlop?? :C

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 ]

(#13899) #90999040 válasza Sziszmisz (#13898) üzenetére


#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 ]

(#13900) Sziszmisz válasza #90999040 (#13899) üzenetére


Sziszmisz
csendes tag

nagyon köszi, most már minden smakkol :K

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.