- Új Trónok Harca telefon érkezik
- Milyen okostelefont vegyek?
- Honor Magic V5 - méret a kamera mögött
- Yettel topik
- Xiaomi Mi 8 - így csinálunk csúcsmodellt Mi
- iPhone topik
- Fotók, videók mobillal
- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S25 - végre van kicsi!
Hirdetés
-
Mobilarena
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
-
Zola007
veterán
Köszönöm srácok
D5, Mutt, Fferi50egy újabb probléma merült fel, névszerint hogy a másik táblázatban több oszlopban vannak az adatok
Se az index, se az indirekt nem nagyon fogadja el, ha több oszlopot akarok beadni
Mindig jobbra haladva kellene egy adott oszlop adott tartományát átvizsgálni, ha ez tele, akkor ugorjon a következő megadott tartományra és ha az nincs tele, akkor az utolsó nem üres cella értékére lenne szükség.
Ha ez az tartomány is tele van, akkor megint a következőre, stb.Ez is meg lehet oldani még makró nélkül?
Másodsorban azt szeretném kérdezni, hogy valami jó anyagot tudnátok ajánlani a függvényhasználatok megtanulásához és makróíráshoz?
Egyrészt zavar, hogy nem értem hogyan is működik amit írtok megoldást.
Másrészt gyakran futok ilyen problémákba és a topikot nem akarnám mindig ezzel terhelni + nekem is jobb lenne, ha instant meg tudnám oldani. -
azopi74
addikt
Meert az excel lebegőpontos formában tárolja a számokat így pl ha 1.111111111112-ből kivonsz 1.111111111111 -et, akkor azt csinálja, hogy először konvertálja lebegőpontosra minkét decimal értéket, kivonja egymásból, és utána visszaalakítja decimal-ra. Így aztán nem 0.000000000001 - et fogsz kapni, hanem 0.00000000000100008890058234 -et. Ha ilyen pontosságú számításokat akarsz végezni, akkor nem az excel az eszközöd, inkább valami komolyabb adatbáziskezelőt használj, azok képesek sokkal nagyobb precízióval dolgozni (akár 128bites pontossággal).
-
Fferi50
Topikgazda
Szia!
Ez a jelenség az Excel számtárolási sajátosságaiból adódik, a lebegőpontos tárolás miatt a "sokadik" tizedesjegyekben eltérés lehetséges.
Bővebben is olvashatsz erről több helyen is (bocsi, de most nem tudok linket csatolni).
Egyébként gondolom tudod, hogy az Excel 15 értékes számjegyet tud tárolni, ha ezen túlnyúlik a szám, akkor a többi mind 0 lesz, függetlenül attól, hogy éppen mennyit írtál arra a helyre (természetesen szöveg formátummal ez nem így van).Üdv.
-
Fferi50
Topikgazda
Szia!
Le tudod tesztelni - ha legalább WIN7-ed van. Meg tudod nyitni többször is az Excel programot új és új ablakban, amibe behívhatod a közös használatú fájt.
A kérdésedre a válasz: Nem tud olyat az excel, hogy az A1 cella után az A2 cellába írjon a másik felhasználó., ha az A1 már "foglalt".
Ha mindhárom felhasználó ír az A1 cellába valamit, akkor az ütközés kezelési szabály dönti el, mi legyen az értékkel: lehet a saját értéket hagyni, lehet a másik felhasználó értékét és lehet egyenként felülbírálni, hogy melyik érték maradjon meg.
Az ütközés (konfliktus) kezelés szabályait pedig a közössé tétel során tudod meghatározni.Érdemes egy kicsit beleolvasni a helpbe is, bár nem túl bőbeszédű.
Üdv.
-
Fferi50
Topikgazda
Szia!
Nézd meg a sorszám függvényt. Ha azt beírod a B oszlopba, megmondja neked, hogy az A oszlopban levő szám hanyadik a sorrendben, növekvő vagy csökkenő sorrendet is választhatsz.
=sorszám(A1; $A$1:$A$100;0) növekvő sorrend szerinti helyet mutatja, ha az utolsó paraméter 1 akkor csökkenő sorrend szerinti helyet.
Figyelj rá, hogy a második paraméter dolláros legyen.Üdv.
-
Mutt
senior tag
Hello,
Ha nem megy felülről, akkor próbáld meg alulról.
A Sheets("Munka1").Range("A:A").End(xlDown).Offset(1, 0).Select rész helyett használd ezt
Sheets("Munka1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).SelectSajnos egyszerú megoldás az utolsó használt cellára/sorra/oszlopra nincs Excelben, mivel be tudnak zavarni az üres sorok, a szűrők, a rejtett oszlopok. Ezen az oldalon van pár tipp azért.
üdv.
-
Mutt
senior tag
Hello,
...amikor a "next" második köre következik, akkor a kapott eredményeket A2-től D2-ig rakosgassa, majd a harmadik körben A3-tól D3-ig, és így tovább....
Használd a Cells(sor, oszlop) tulajdonságot.
pl. a lenti példa az elsö 15 sor első 4 oszlopába tesz egy véletlen számot.
For sor = 1 To 15
For i = 1 To 4
Cells(sor, i) = rnd()
Next i
Next sorMásik megoldás lehet ez:
For sor = 1 To 15
Range("A" & sor & ":" & "D" & sor) = Rnd()
Next sorA lényeg a "A" & sor, amely A1, A2 stb. hivatkozást állít elő.
üdv.
-
Miért kell Range(bevétel)? A bevétel-nek már magában is Range típusúnak kell legyen...
Hogy definiálod a bevétel változót?
Csináld inkább ezt:
Sheets("Alap").Range("G9").Copy
Dim bevétel as Range
Set bevétel = Sheets("Munka2").Range("E4")
bevétel.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=FalseVagy még egyszerűbben:
Sheets("Alap").Range("G9").Copy
Sheets("Munka2").Range("E4").Select
Selection.PasteSpecial Paste:=xlPasteValuesAmúgy nem árt leellenőrizni, hogy mi az aktív workbook, ha nem az, amire számítasz (nincsenek ilyen Worksheet-ek rajta), azon is simán elhasal - vagy mást csinál, mint amit szeretnél...
-
Mutt
senior tag
Hali,
Ez esetben a következő makró tud neked segíteni:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vLastRow As Integer
Dim wSheet As Integer
If Target.Address = Range("Input").Address Then
'ha az utolsó lapon vagyunk akkor létrehozunk egyet
If ActiveSheet.Name = ThisWorkbook.Sheets(Sheets.Count).Name Then
wSheet = ActiveSheet.Index
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(wSheet).Activate
End If
'megnézzük az utolsó munkalapon az utolsó használt sort
vLastRow = Application.WorksheetFunction.CountA(ThisWorkbook.Sheets(Sheets.Count).Range("A:A")) + 1
'az utolsó sor alá A és B oszlopba beszúrjuk a kezdő és végértéket
ThisWorkbook.Sheets(Sheets.Count).Range("A" & vLastRow) = [input]
ThisWorkbook.Sheets(Sheets.Count).Range("B" & vLastRow) = [output]
End If
End SubA kódot a munkafüzetbe kell tenned, ahol van az adatsorod. A bemeneti (változó) cellád nevezd el "input"-nak, az eredményt pedig "output"-nak. Ezek után ha a bemeneti cellád módosítod, akkor a kód az utolsó munkafüzeten (és annak is az A-oszlop utolsó sorában) elkezdi gyűjteni a bemeneti és kimeneti adatokat.
A fájlt feltettem ide: http://www.filedropper.com/fuggvenytabla
Az Adatmentés fülön van ami neked kell.Az első fülön egy másik megoldás van, amellyel egy már létező táblázatból tudod kikeresni az értékeket.
Ez most nálad ne biztos, hogy műkődne, de hátha ebből is tudsz vmit hasznosítani.üdv.
-
Mutt
senior tag
Hello,
Ha jól értem akkor kvázi egy függvény táblát akarsz csinálni, amely megad egy adott értékhez egy másikat.
Ha létezik egyértelmű képlet amely segítségével számolható az eredmény, akkor 3 megoldás is van:
1. Az egyik oszlopban felsorolod a bemeneti értékeket (10%,20% stb), majd mellette a képlettel elvégzed a transzformációt.
2. Használod az Excel Adattábla opcióját (Adatok fül Adateszközök csoportjában van).
3. UDF (user defined function) létrehozása VBA-ban és annak használata.Ha nincs zárt képlet a transzformációra, akkor marad a Célértékkeresés, amely viszont egyszerre csak egy bementi és kimeneti adattal boldogul, így nem fogsz tudni vele igazán haladni.
Ha többet megosztasz velünk, akkor lehet hogy konkrét megoldásokat is tudunk adni.
Üdv.
Új hozzászólás Aktív témák
Hirdetés
- Milyen billentyűzetet vegyek?
- PROHARDVER! feedback: bugok, problémák, ötletek
- Új Trónok Harca telefon érkezik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Hardcore pizza és kenyér topik
- A lemondást javasolja az Intel vezetőjének Donald Trump
- Lopakodva befutott a Radeon RX 9060
- Kés topik
- Star Trek
- OLED TV topic
- További aktív témák...
- Játékkulcsok a legjobb áron: Steam
- 27%-OS ÁFÁS SZÁMLA I Jogtiszta Microsoft digitális és fizikai termékek I DIGITALKEYZ.COM
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- TELJES KÖRŰ IT BESZERZÉS
- BESZÁMÍTÁS! Gigabyte Aorus B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN I3 NEO 650W
- BESZÁMÍTÁS! Asus TUF A620M R7 7700 32GB DDR5 1TB SSD RX 6800 XT 16GB ZALMAN I3 NEO Gigabyte 750W
- Samsung Galaxy A50 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! R7 2700 / RX 5500XT 8GB / 16GB DDR4 / 256SSD + 1TB HDD
Állásajánlatok
Cég: FOTC
Város: Budapest