-
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
-
spe88
senior tag
válasz Delila_1 #28385 üzenetére
Szia,
Rosszul magyaráztam szerintem:
Van két oszlopom:
És a képlet azt jelenítse meg X (jelen esetben 3) különböző cellába, hogy
3, 5, 8
A Virágos példa azt jeleníti meg, amiben benne van az adott szó: "Virág" vagy egy szórészlet "ra"!
Nekem arra lenne szükségem, hogy kidobja az összes olyan értéket, ami mellett az 'A' oszlopban NOK van!
Erre egy szűrés egyszerű lenne, de ebből mennek tovább a képletek, makrót meg nem akarok futtattatni!
Köszi szépen, így már érthetőbb talán!
Spóroljunk! Kerül, amibe kerül!
-
senior tag
válasz poffsoft #28396 üzenetére
"lebegőpontos pontosság?
lehet, az iterációk szàmát bántottad?
általános formátumban mik a számok?
kivonás helyett valami dátumfv-t használva?"Ha arra gondoltál, hogy a beállításokban a pontosság értékét (elfogadható hiba) piszkáltam-e, nos először nem. Gyári értéken volt. Olvasva a kérdéseidet, átállítottam nullára. A probléma fent áll továbbra is.
Őszintén megmondom, hogy fogalmam sincs mi az az iteráció. Így nagy a valószínűsége, hogy nem bántottam.
Az általános formátumon nem változtattam. Gyári.
Amennyiben van alternatíva, amely ezt a problémát megoldja, jól jönne. Elvben nem lenne probléma ez a pontatlanság, de az eredményen feltételezett formázás van, és az ilyenkor nem működik. -
Delila_1
Topikgazda
válasz tzimash #28399 üzenetére
Sub mm()
Dim sor As Long, usor As Long, ertek
usor = Range("B" & Rows.Count).End(xlUp).Row
For sor = usor To 2 Step -1
ertek = Cells(sor, "B")
If Not InStr(Cells(sor, "C"), "VBS/BS ") > 0 And _
Cells(sor, "F") = 8960 And Cells(sor, "D") = "J" _
And Not (ertek = 2381273 Or ertek = 2381389 Or ertek = 2587841 _
Or ertek = 2437821 Or ertek = 2531518 Or _
ertek = 2417707 Or ertek = 2832690) Then
Rows(sor).Delete Shift:=xlUp
End If
Next
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.
-
-
cekkk
veterán
Sziasztok!
Lenne egy ilyen táblázatom amiben van két csoport:
Jelenleg egyforma adatokat tartalmaznak, de hogyan tudom a legegyszerűbben megvizsgálni, hogy van-e eltérés és ha igen akkor valami módon jelölni tudjam, hogy ne kézzel egyesével keljen végig nézni.
A sorrend is változó lehet, vagy is úgy lenne a jó, ha megnézi hogy A1ben lévő van-e a D oszlopban és ha van akkor megnézi a B1-et, hogy az ugyan annyi-e mint a másik csoportban talált azonoshoz tartozó érték.
Köszönöm a segítséget.
[ Szerkesztve ]
-
Delila_1
Topikgazda
Erre a kódrészletre többször kerül sor a leírásod szerint.
Mikor első esetben hibára fut, a hibakódot megjegyzi. Ha az On Error Resume Next-tel át tudtál lépni a hibán, a művelet elvégzése után le kell nulláznod a hibakódot, hogy a következő futtatáskor ne ezzel a hibával induljon. Nem tudom, hova érdemes beírni a nullázást, legegyszerűbb, ha már eleve 0 hibakóddal indítod a programrészt az On Error Resume Next sor fölött az On Error Goto 0 sorral.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
szatocs1981
aktív tag
válasz tzimash #28399 üzenetére
Na, csak megvan:
If InStr(Cells(sor, "C"), "VBS/BS ") > 0 And Cells(sor, "F").Value = 8960 And Cells(sor, "D").Value = "J" And not (Cells(sor, "B").Value = 2381273 Or Cells(sor, "B").Value = 2381389 Or Cells(sor, "B").Value = 2587841 Or Cells(sor, "B").Value = 2437821 Or Cells(sor, "B").Value = 2531518 Or Cells(sor, "B").Value = 2417707 Or Cells(sor, "B").Value = 2832690) Then
-
tzimash
őstag
válasz szatocs1981 #28413 üzenetére
Köszi! Most már tényleg jól működik
Delila_1
Neked is köszönöm. -
bsh
őstag
válasz Delila_1 #28407 üzenetére
megpróbáltam, de nem jó úgy sem.
de már eleve miért fut hibára? nem kéne neki. hacsak nem a .range.... egy előző futáskor keletkező ojjektum ami valamiért megmarad, és arra a nem létező ojjektumra akarna bordert rakni.
ez a hiba: "runtime error 1004: method 'Selection' of object '_Global' failed." nem értem, milyen selection method, nincs is olyan (hacsak nem a range egyben selection is), de főleg az object "_Global" a sokatmondó: ezek szerint nem az excel worksheet-en akar valamit csinálni? -
Delila_1
Topikgazda
Set ExcelWS = ExcelWB.ActiveSheet
Ehelyett konkrét nevet kellene adnod. Az ExcelWB-nek is érdemes előtte nevet adnod.
workbooks.add.name="Akármi.xlsx"
set ExcelWB=workbooks("Akármi.xlsx")
set ExcelWS = ExcelWB.sheets("Munka1")[ 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.
-
bsh
őstag
válasz Delila_1 #28421 üzenetére
nem ez a gond, de köszi az infót: nem tudtam, hogy már létrehozáskor lehet a workbooknak fájlnevet adni. (emiatt mentem saveas-szel a fájlt), de ha ez így is működik, akkor egyszerűsödik kicsit a kódom.
közben úgy néz ki megtaláltam a hibát (ahogy éreztem) és a megoldást:
.Range(Cells(1, 1), Cells(s, o)).BorderAround Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatichelyett:
.Range(ExcelWS.Cells(1, 1), ExcelWS.Cells(s, o)).BorderAround Weight:=xlMedium, ColorIndex:=xlColorIndexAutomatictehát a Cells-nél meg kell adni az excelws ojjektumot. (esetleg oda is tehetek excelws helyett pontot? mindjárt kipróbálom)
ezzel úgy néz ki tökéletesen működik, és az excel process is mindig bezáródik. legalábbis eddig. -
-
spe88
senior tag
válasz szatocs1981 #28389 üzenetére
Köszi most már működik, az is volt baj, hogy a sorokkal volt egy kis csúszás, ezért fals adatokat dobott, de most működik úgy néz ki!
Kellene megint egy kis segítség:
Van egy sorom, amiben hol angol, hol német, hol spanyol stb. a szöveg, attól függ melyik fájlt húzza be a makró!
Van-e olyan képlet, hogy ha az adott sorban megtalálja az angol szöveget, akkor azt írja le, ha nem találja, akkor keressen a német után és ha az megvan, akkor írja be azt, ha az sincs, akkor keressen a spanyol után és így tovább...
HA függvénnyel próbálkoztam, de az tartományt nem tud figyelni tudtommal, és az oszlopok meg nem mindig ugyanolyan sorrendben vannak ezért kéne sor tartományban keresni, mert a fejléc mindig ugyanabban a sorban van!
Köszi
Spóroljunk! Kerül, amibe kerül!
-
poffsoft
addikt
nem pontosan értem a kérdést.
nem a vkeres() kellene neked?
=VKERES("*";A2:AA2;1;HAMIS)
A második sorban megkeresi az első nemüres cellát pl.
Meg azt sem értem, hogy a képlet honnan tudhatná, hogy most éppen angol, francia, kiszuahéli szöveget fog találni?
pontosítsd a kérdést, kérlek..[ Szerkesztve ]
[ Szerkesztve ]
-
spe88
senior tag
-
spe88
senior tag
válasz poffsoft #28431 üzenetére
Már megvan... Rávezettél ezzel a hahibás képlettel:
=HAHIBA(HAHIBA(HA(VKERES("desc";1:1;1;HAMIS)="desc";"desc";);HA(VKERES("";1:1;1;HAMIS)="bespr";"bespr";));HA(VKERES("pret";1:1;1;HAMIS)="pret";"pret";))
és így tovább! szóval több hahibát kell egymásba ágyazni!
Köszi
[ Szerkesztve ]
Spóroljunk! Kerül, amibe kerül!
-
senior tag
válasz poffsoft #28425 üzenetére
Feltöltöttem IDE
Nagy nehezen sikerült megoldanom a kerekítéssel, de szerintem ez nem egy elegáns megoldás, egy ilyen "piti" feladathoz képest.
Azért érdekelne, hogy ezek a random számolási hibák miből adódnak, és miért. egzakt egész számokkal végzek el egy egyszerű kivonást. 14 órából 10 órát.
-
Delila_1
Topikgazda
válasz hengelhof #28434 üzenetére
Mi az -nek váltasz át általános formátumra?
Az I3 képlete legyen egyszerűen =H3-G3, a cellaformátum ó:pp, az összegzésnél (L3 cella) pedig [ó]:pp, amit a SZUMHA függvénnyel számolhatsz ki.=SUMIF(D:D,K3,I:I)
A csatolmányban nem tudom a cellaformátumot átírni.
[ 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.
-
poffsoft
addikt
válasz hengelhof #28434 üzenetére
nem vagyok aritmetika tudor, de csak te gondolod, hogy egész számok. ràadásul még dátumértékek is.
mindent lebegőpontosként számít, és ott fordulnak elő gixerek. sajna az excel nem tökéletes számológép.spe88: nálam működött, a te megoldásod komplikàltabbnak látszik.
de ha működik, ne bántsuk :-)[ Szerkesztve ]
[ Szerkesztve ]
-
Golota
aktív tag
Sziasztok!
Kerestem a hozzászólások között, de nem találtam ilyen megoldást. Kérlek segítsetek.
Sharepoint oldalon van egy excel file, aminek több munkafüzetet tartalmaz. Minden munkafüzetnek más gazdája és felhasználói vannak, akiknek elvileg nem kellene látni a többi munkafüzet tartalmát. Nem szerkesztés elleni védelemről van szó, egyáltalán nem lenne szabad látniuk, hogy mi van benne. A legjobb lenne, ha nem is tudnának a létezéséről.
Elég rutinos excel felhasználókról van szó, ezért csak valami natívan támogatott védelem lenne megfelelő, vagy valami más relatíve megbízható megoldás.
Köszönöm.
-
poffsoft
addikt
válasz Golota #28439 üzenetére
egy excel file egy munkafüzet, több munkalappal.
a munkalapoknak külön hozzáférési szintek?
létezik, vba, de higy mennyiben natív?
én személy szerint a sharepoint jogosultságkezelését használnám, minden felhasználói csoport saját dokutárban dolgozik, az admin pedig mindet látja, a master file-t meg a dokutárakból kell összelapátolni.[ Szerkesztve ]
-
Golota
aktív tag
válasz poffsoft #28441 üzenetére
Igen, bocs általában az angol terminológiát használom, így keverem a munkafüzetet a munkalappal. A munkalapoknak kellene külön hozzáférési szint. A VBA-ban nem bízok, elég könnyen hackelhető. Sajnos pont azt akartam elkerülni, hogy manuálisan kelljen összelapátolni a master filet, tekintve, hogy elég bonyolult táblázatokról van szó, sok ráépülő riporttal.
Köszi, keresek tovább.
-
spe88
senior tag
olyat, hogy tudok beállítani, hogy csak akkor jelenjen meg egy számnál tizedes jel, ha mögötte valóban "valós" számok vannak!
pl.
így jelenjen meg: 1
1,0
1,00
1,000
számokde írja ki rendesen:
1,1
1,05
1,008számokat
stb.Ez még talán könnyedén megoldható, bár ezt sem tudom, viszont tovább kell bonyolítani mindezt úgy, hogy 3 tizedes jel után már kerekítsen, tehát:
az 1,0009 az úgy jelenjen meg, hogy 1,001 viszont az 1,00009 az már 1,0001 lenne, de mivel több mint 3 helyiérték ezért az 1-re módósul!
Ilyen van?
Köszi
Spóroljunk! Kerül, amibe kerül!
-
spe88
senior tag
lenne egy újabb kérdésem:
Képlettel megoldható, hogy ismétléseket törölje az Excel egy adott tartományból?
A funkciót ismerem, csak nekem képlet vagy saját képlet kellene, nem makró!Példa:
A oszlop
123
1235432
123
34534
3455
34534
asdf
gf
12
123B oszlopban a képlettel
123
1235432
34534
3455
asdf
gf
12(akár sorrendben is lehetne, de ez nem fontos):
12
123
3455
34534
1235432
asdf
gfKöszi
[ Szerkesztve ]
Spóroljunk! Kerül, amibe kerül!
Új hozzászólás Aktív témák
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- World of Warcraft Shadowlands Collectors edition EU EN
- Vírusirtó, Antivirus VPN kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24