-
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
-
Cuci3
tag
Hali!
Egy VBA kódra lenne szükségem. Van 16e sorom, amit 200 munkalapra kell szétdobnom. A gyorsabb meló kedvéért ki akarom kapcsolni a VBA futása közbeni cselekmények megjelenítését (két munkalap közötti váltogatásokat). Valahol már láttam a kódot, de sikerült elfelejtenem.
Köszi!
-
Cuci3
tag
válasz Delila_1 #4923 üzenetére
Pedig egyszerű (átírtam változókra az adatokat, hogy átlátható legyen):
A tábla
--------A----------B-----------C-----------D-------------E----------F-----------G----------H--------I........
1------x1---------x2----------x3----------x4------------x5---------x6---------x7---------x8------x9
2------x10--------x11--------x12---------x13----------x14--------x15-------x16-------x17----x18
.
ilyenre kellene alakítani....
B Tábla
---------A--------B----------C......
1------x1--------x4----------x7
2------x2---------x5---------x8
3------x3---------x6---------x9
4------x10--------x13-------x16
5------x11--------x14--------x17
6------x12--------x15--------x18Ez indirekttel vagy makróval megoldható, asszem. A megoldásba nem gondoltam bele, csak érzés alapján mondom.
Már csak az a kérdés, hogy mi legyen azokkal az oszlopokkal, melyek nem tartalmaznak értékeket. Ugyanis az AH oszloppal a 34. oszlop, és ezzel a hármas felbontással lesz a végén olyan, hogy
10------x28--------x31-------x34
11------x29--------x32--------x35
12------x30--------x33--------x36Tehát mi legyen az x35 és x36 értékek helyén, illetve ennek többszörösei helyén, mivel 100 sor van?
-
Cuci3
tag
válasz kamikaze boci #4972 üzenetére
Hi!
Mágus nem vagyok, időm nem sok van, so én csak ránéztem a feladatra.
A másolást úgy oldanám meg, hogy beszúrok egy munkalapot, kimásolom a leszűrt ingatlanokat, majd onnan másolnám be a kellő oszlopokat az indítás lapra. Utána törölném a beszúrt munkalapot, és az indításon megformáznám a listát. A lista kijelöléséhez pedig ezt használnám:Sheets("Indítás").Range("B34").CurrentRegion.Select
Közben persze ki lehet kapcsolni az automatikus képernyőfrissítést (application.screenupdating), így a júzer nem lát semmit. Persze a végén vissza kell kapcsolni.
Ja, és biztos van ennél jobb megoldás. -
Cuci3
tag
válasz Des1gnR #4978 üzenetére
Megoldás 1:
Kell egy oszlopot készítened, ami a dátumból kiszedi a hónapot (praktikusan hónap függvény). Azután már mehet a SZUMHA valahogy így:
SZUMHA($C$5:$C$X;"="&E5;$D$5:$D$X)Magyarázat:
B oszlop - rendes dátumok
C oszlop - hónapok
D oszlop - összeadandó értékek
X - felsorolás vége
E5 - ide mondjuk be van írva, hogy 5 vagy 6 (a hónapok sorszáma). Ha a képlet mondjuk F5-ben van, és E oszlopba be vannak írva 1-től 12-ig a hónapok, akkor könnyen le lehet húzni.Megoldás 2:
Ismét kell egy hónapos oszlop, meg az oszlopknak valami név, aztán kimutatásba betenni az egészet és két kattal megvan a lehetésges hónapokra az összesítés. Persze itt adatváltozás esetére kell egy adatfrissítés. -
Cuci3
tag
-
Cuci3
tag
válasz Hujikolp #4999 üzenetére
Nem teljesen értem. Van két oszlopod, az egyiket lineárisan akarod kimutatni, a másikat meg logaritmikusan egy grafikonon? Mert ebben az esetben kell egy új oszlop, ami a második logaritmusa.
Ha viszont arra gondolsz, hogy vannak x és y értékek, amire egy lin-log regressziót akarsz tenni, akkor trendvonal felvételénél van ilyen lehetőség.
-
Cuci3
tag
válasz qpakcovboy #5011 üzenetére
Ha elkezded visszaolvasni a postokat a 4977-től, akkor pont meg is fogod kapni a megoldásodat.
Kell egy plusz oszlop a hónapról számmal (1...12), onnantól meg:
FKERES(HÓNAP(MA());Tábla,?;hamis)
A Tábla azt a táblát értem, amit használni fogsz, de az első oszlopának az 1...12 számsornak kell lennie. A ? pedig azt adja meg, hogy az 1...12 oszloptól mennyire van a Befizetés oszlop. -
Cuci3
tag
válasz core1113 #5029 üzenetére
A másodikra tudok makrót küldeni/beszúrni.
Csináltam nemrég egy ilyet, ahol egy makró egy munkafüzetben ömlesztett adatokat egy másik munkafüzetbe szétszedi végrehajtók nevei alapján külön munkalapokra.
Kérdés:
1. Milyen sorrend legyen az irányítószámokra? Tehát ha Excel sorbarendezővel sorba rakom, akkor az elég-e?
2. Ugyanabba a munkafüzetbe kell szétszedni, vagy külön munkafüzetbe?
3. Gondolom az irányítószámnak meg kellene jelnnie a munkalap nevénél. Kell valami buherálás az irányítószámokkal? Pl nálam a neveknél kellett, mivel egy munkalap neve max 31 karakter hosszú lehet.De ezt csak délután tudom küldeni, mivel délelőtt szaladgálok két iroda között.
Ja és persze az első is megoldható makróval, de meg lehet úgy is oldani, hogy külön munkalapra beképletezed, majd onnan kimásolod.
[ Szerkesztve ]
-
Cuci3
tag
válasz core1113 #5034 üzenetére
Az első kérdésedhez [itt] egy bemutató. Az index függvénnyt használtam. Nem tudom pontosan hol vannak az adataid, de a sor függvénnyel kell szórakozni hozzá, hogy jó legyen. Ajánlom, hogy teszteld előbb fals, azaz ilyen számokat tartalmazó adatokkal.
A második kérdés folyamatban, csak előbb saját melómmal is törődnöm kellene.
-
Cuci3
tag
válasz felora:) #5056 üzenetére
Azt nem tudom, hogy mit tud az OpenOffice. Én makrók nélkül kezdtem el gondolkodni.
De úgy gondolkodtam, hogy alap függvényekkel csak boldogul. Én Excel 2003-at használtam, és egy példát felraktam [ide].
A Munka1-en először szétszedem a nyolc számot. Innentől azonban már sok megoldás van:
1. Munka2-re A2-től kezdve egymás alá másolom a számokat, mellé rakok egy darabteli függvényt, majd a B oszlop szerint rendezem csökkenőbe az egészet. (800 számnál kicsit macerás a 8 legnagyobbat megadni)
2. az egymáés alá másolt számokat bedobom egy kimutatásba, teszek mellé darabszámot, aztán berendezem a darabszám szerint csökkenőbe. (mivel 1-től 20-ig mennek a számok, ezért ez egész átkátható)Tehát az a kérdés, hogy mennyire gyakran kell ezt megcsinálnod? Ha sűrűn, akkor tényleg kényelmesebb egy makró.
-
Cuci3
tag
válasz felora:) #5059 üzenetére
Pár kérdés, mivel csak utólag vettem észre, hogy ez a számsor az aláírásod:
1. Mivel vannak elválasztva a számok a cellán belül? Gondolok itt space-re, vesszőre, tabra, ilyesmire.
2. Tényleg nyolc szám van? (Aláírásodban csak 7 - bár már magam sem tudom, hogy mit higgyek)Kezdésnek itt egy makró, mely a space-sel elválasztott adatokat szedi szét. Az adatoknak a Munka1 A1-es cellájában kell kezdődnie. A 'szövegből oszlopok' módszerrel szétszedett adatokat a Munka2 A2-es cellájától folyamatosan kezdi el felhozni, majd a Munka2 C3-as cellájától kezdve bedob egy kimutatást, amit a számok darabszáma alapján rendez csökkenő sorrendbe.
Kikommentelni nem volt kedvem, de ha kell egyszer megteszem. Rem OpenOffice alatt is frankón működik, dehát ki tudja. Próbáld ki, aztán majd lesz valahogy!
Most látom csak, hogy a szöveg szétszedésénél 7 érték van, amit majd módosítani kell, ha tényleg 8 szám van. Próba után okosabbak leszünk.
Sub nyolcmaximum()
Dim i, sor, sor2 As Integer
Dim hely, hely2 As String
Munka1.Activate
Munka1.Cells(1, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1)), TrailingMinusNumbers:=True
Munka1.Cells(1, 1).Select
sor = Selection.End(xlDown).Row
For i = 1 To Selection.End(xlToRight).Column
Munka1.Activate
Munka1.Range(Cells(1, i), Cells(sor, i)).Select
Selection.Copy
Munka2.Activate
Munka2.Cells((i - 1) * sor + 2, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next
Application.CutCopyMode = False
Munka2.Cells(1, 1).Select
Selection = "szam"
sor2 = Selection.End(xlDown).Row
hely = "Munka2!R1C1:R" & sor2 & "C1"
hely2 = "[" & ActiveWorkbook.Name & "]Munka2!R3C3"
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
hely).CreatePivotTable TableDestination:= _
hely2, TableName:="nyolcszam", DefaultVersion:= _
xlPivotTableVersion10
ActiveSheet.PivotTables("nyolcszam").AddDataField ActiveSheet.PivotTables( _
"nyolcszam").PivotFields("szam"), "Darab / szam", xlCount
ActiveSheet.PivotTables("nyolcszam").AddFields RowFields:="szam"
ActiveSheet.PivotTables("nyolcszam").PivotFields("szam").AutoSort xlDescending _
, "Darab / szam"
End Sub[ Szerkesztve ]
-
Cuci3
tag
válasz Delila_1 #5058 üzenetére
Az ötletet köszönöm, az tényleg sokkal egyszerűbb.
A sorrend azonban azért nem jó sima sorba rendezéssel, mivel az a számokat rendezné sorba, és nem a számokat előfordulásuk szerinti sorrendbe.
Ezt Kimutatás eszköztár/Kimutatás/Rendezés és toplista menüponton belül lehet elérni. -
Cuci3
tag
válasz Delila_1 #5082 üzenetére
Vagy akár készíthet egyből kimutatásdiagramot. Kimutatás varázsló 1. lépésénél az alsó választékból lehetőségből kell kiválasztani.
Középre kell behúzni az időt, alulra meg a teloszámokat. És persze jobb klikk, minták => kördiagram.Nem mondom, hogy túl szép a kinézete, de célnak megfelel. Meg a kimutatás automatikus frissítésénél ez is módosul.
-
Cuci3
tag
Hi!
In medias res: user által írt függvénynél hogy lehet azt megoldani, hogy az argumentumokról, meg magáról a függvényről valami kis leírást jelenítsen meg, amikor behívom a függvény zöld hátteres ablakát?
-
Cuci3
tag
válasz Delila_1 #5111 üzenetére
2006-os kiadás van meg nekem. CD melléklettel vettem, so az anyagot feltölthetem, ha kéred. Bár szerintem Neked túl sok újdonságot nem fog mutatni.
A könyvet meg szerintem könnyen be lehet szerezni. Pl.: itt
Egyéni függvényhez súgó, leírás kapcsolása: Senki többet?[ Szerkesztve ]
-
Cuci3
tag
Igazából még egyikkel sem szórakoztam. Mondjuk szerntem nem a titkosítás, hanem a jelszó hossza, meg bonyolultsága a lényeg. Egy 3 karakteres jelszót Office 97/2000 titkosítással max fél óra alatt fel lehet törni. Egy 6-8 karaktereset, kis-nagybetűs, betűs-számos kb fél nap (tippelem exponenciális növekedés alapján).
Szóval ha nem az adófizetők 2008-as bevallását akarod futárszolgálattal A pontból B pontba küldeni, akkor szerintem maradj az alapbeállításnál.
Ha pedig azt akarod átküldeni, akkor adok egy ftp-t és segítek. Vagy RSA kódolásos bérelt vonali infoküldés. -
Cuci3
tag
Csak úgy érdeklődésképpen kérdezném meg, hogy ki tudja, mi a fene volt a VBA-val a következő szituban?
Egy egyszerű progi (supported by Delila - thanks a lot ):
Sub ell()
Const utvonal = "\\Dbinfo\strategia\faktoring elemzés\dfakto - pénzügyi kimutatás\"
Dim FN, alap, valtozo As String
ChDir utvonal
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=FN
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""
End SubEgyész nap frankón fut, majd így nap végére kicsit megfárad, és azt dobja nekem, hogy "Run Time Error - 1004", illetve nem tudja megnyitni a fájlt. Pislogás, nézelődés, de semmi. Gép újraindít, kód átmásolása más excelbe - még mindig hibaüzi fogad.
Majd excelben VBA rögzítéssel nyitok egy fájlt, rögzítés leállít, bezárom - és láss csodát működik a kód.
Tud valaki erre értelmes magyarázatot adni? (Legutóbbi fájlok listája végig 0) -
Cuci3
tag
Mivel ez a hülyeség még mindig nem múlt el, ezért ez lett a kódból (érdekességképpen kiteszem ):
Sub ell2()
Const utvonal = "\\Dbinfo\strategia\faktoring elemzés\dfakto - pénzügyi kimutatás\"
Dim FN, alap, valtozo As String
Dim i, j As Integer
Application.ScreenUpdating = False
FN = Dir(utvonal)
Do While FN <> ""
If FN Like "*.xls" Then
Workbooks.Open utvonal & FN
Debug.Print FN
ActiveWorkbook.Close False
End If
FN = Dir
Loop
Application.ScreenUpdating = True
End SubA kérdésre azonban továbbra is várom a válaszokat.
-
Cuci3
tag
válasz ArchElf #5166 üzenetére
Kösz a linket. Megnéztem, de nekem nem ez a gondom. Furcsa mód a második eljárás mindig tökéletesen működik, ezért megnéztem ezt a ChDir parancsot. A Helpben a következő volt:
"The ChDir statement changes the default directory but not the default drive. For example, if the default drive is C, the following statement changes the default directory on drive D, but C remains the default drive:"ChDir "D:\TMP"
Szóval az elsőt kódrészletet ilyen formára kell átalakítani, ha bárki kezdeni akar vele valamit:
Sub ell()
Const utvonal = "\\Dbinfo\strategia\faktoring elemzés\dfakto - pénzügyi kimutatás\"
Dim FN As String
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open utvonal & FN
ActiveWindow.Close
End If
FN = Dir
Loop Until FN = ""
End SubVégre ezen is túl vagyok.
-
Cuci3
tag
válasz Gabcsika #5177 üzenetére
Első kérdés: az A és B oszlopban lévő értékek egyszerre ugye csak egyszer fodulnak elő?
Mivel ha a "5660065 B12586" értékpár többször fordul elő, akkor meg van lőve az egész, több eredmény is lehetséges lenne, melyet nem lehet lekezelni.A megoláds leírása hosszú lenne, ezért feltettem ide.
A HA(HIBÁS(FKERES());"";FKERES()) függvény középső részében tudod változtatni, hogy nemleges találat esetén mit írjon ki. Jelenleg semmit ("").
-
Cuci3
tag
válasz Gabcsika #5219 üzenetére
Ezt az "X-hez van közelebb" dolgot részletezhetnéd egy kicsit.
Alapgondolatom az fkeres lenne (utolsó argumentumot nem kell kitölteni), de az nem különbséget néz, hanem értéket. Tehát 1399-re A-t ad vissza, mivel nem éri el az 1400-at. 1400 és 1499 között B lesz az eredmény.De ha neked olyan kell, hogy 1399-nél B-t dobjon vissza, akkor is fkeres kellene, de a segédtáblát módosítani kellene úgy, hogy pl egy beszúrt oszlopba beírod az új határokat (adott sor + előző sor értéke osztva kettővel), és ezeket használod fel az fkeresben. Mondjuk:
1200 1200 A
1400 1300 B
1500 1450 C
1600 1550 D
...Így tehát 1451-re C-t ad vissza, de 1376-ra B-t.
u.i.: ha gondod van az fkeressel, akkor majd csinálok példát.[ Szerkesztve ]
-
Cuci3
tag
válasz Gabcsika #5221 üzenetére
A szorzatösszeg, meg abs nem is értem, hogy jött a képbe.
De a csavarodnál jó lenne tisztázni, hogy most mi van az egyenlőségjellel.Ahogy én tanultam: Fkeres - utolsó argumentum kitöltése nélkül - megnézi, hogy az érték szerepel-e a táblázatban. Ha nem akkor, elkezdi csökkenteni a megadott értéket, és egyezőség esetén ad visszalök egy eredményt.
Utólag végiggondolva ez egy baromságnak hangzik, mivel igen hosszú futásidőt eredményez. Tehát valószínű megnézi, hogy mely kategóriánál nagyobb (szigorúan nagyobb) az adott érték és az ahhoz tartozó oszlopot adja vissza.
Vagyis ha egyezőséget is akarsz, akkor a kategóriák határait kell módosítanod.
Nézd meg ebben a fájlban. -
Cuci3
tag
válasz Delila_1 #5247 üzenetére
Én két lehetséges választ adtam neki, attól függöen, hogy hogyan akarja besorolni a számokat. So majd Gabcsika eldönti mit is akar pontosan.
Felhívás a többieknek: plíz, fogalamzzatok pontosan, mivel ellenkező esetben az ilyen lusta, munkaidőben csak makrók futtatásában unatkozó userek a fórumon ölre menő csatát fognak vívni egymással a sokféleképpen értelmezett feladat helyes megoldásának minél kifinomultabb tálalásában. Huh, de szép körmondat lett!
[ Szerkesztve ]
-
Cuci3
tag
válasz EmberXY #5251 üzenetére
Bocs, nem gondoltam volna, hogy bárki is felveszi ezt a mondatomat. Természetesen nem rólad volt szó. Ahhoz a témához nem is szóltam hozzá.
Ellenben ha visszaolvasod az előző fél oldalt, akkor láthatod, hogy Delilaval szórakoztunk sok poston át azon, hogy egy nem eléggé részlétesen megfogalmazott kérdésre más-más értelmezés szerint válaszokat adjunk. A végén persze ugyanoda lyukadtunk ki, de én egy egyszerű fkerest ajánlottam, ő pedig megírta ezt a szép és hosszú képletet.Ha ezek után Gabcsika is megsértődik, akkor kénytelen leszek viccekkel telerakni a fórumot, hogy valami humorérzéket csempésszek a userekbe.
-
Cuci3
tag
válasz Delila_1 #5265 üzenetére
Kint voltam Szigeten, aludtam 4,5 órát. Fáradt vagyok és határidős melóm van, de szeretném rövidre zárni a témát.
A három oszlop három lehetőséget jelent attól függően, hogy hogyan akarjuk a besorolást, hogyan választjuk meg a szétválasztás módszerét:
1. Eredeti: sima fkeres. Nem mér távolságot, csak azt nézi meg, hogy minél kisebb a keresett érték.
2. Első: Méri a távolságot. Pl: 1299 a keresett érték, ami 1200 és 1400 között van. Mivel 1200-hoz esik közelebb, ezért lesz A. Egyenlő távolság (1300) esetén felső kategóriát hozza (B).
3. Harmadik: nem méri a távolságot, hasonló az elsőhöz, csak annyi kivétel van, hogy 1400-nál még A-t ad, és csak 1400 fellett ad B-t.A megoldás feltételezi, hogy csak diszkrét értékekről van szó. Egyébiránt a 2-at is meg lehetne bonyolítani úgy, hogy egyenlő távolság esetén az alsó kategóriát hozza eredménynek.
Természetesen én is csak a rend kedvéért írtam le mindezt.
-
Cuci3
tag
Egyszerű: a %-os érték oszlop elé valahova mindkettő munkalapon megcsinálod a 1. érték és 2. érték összefűzését (ha kell, akkor új oszlopot is beszúrhatsz.). Az összefűzés történhet összefűzés függvénnyel vagy csak simán & jellel. Ezután már az összefűzött értékekre mehet az fkeres függvény.
-
Cuci3
tag
Alapvetően két dologra tudok gondolni:
1. Vagy tényleg nincs ott a keresett fájl, vagy át lett nevezve.
2. Esetleg nincs jogosultságod a szerverre.Én pl egy új munkafüzetben újra megcsinánék egy ilyen hiperhivatkozást, és kipróbálnám, hogy működik-e. Aztán lehet tovább gondolkodni, ha mégis minden okés.
-
Cuci3
tag
válasz TrollBalint #5302 üzenetére
Ami neked kell, az a szövegből oszlopot: Adatok/Szövegből oszlopok. Onnan a fix szélest kiválasztod, majd két tovább. Ha kell, akkor a harmadik lapon szórakozhatsz a formátummal, majd befejezés.
-
Cuci3
tag
válasz Gabcsika #5380 üzenetére
Kérdések:
1. Ha a C oszlopból megvan az R1815B, akkor az hova kerüljön a D oszlopban? 261-es sor (ahol a B oszlopban az 1815 van), vagy a 243-as sorba (ahol a C oszlopba az 1815 részletében van)? Meg az R1815B kerüljön oda, vagy pl annak a C oszlopban elfoglalt sora?
2. Ha pl több R1815B találat lesz, akkor azok közül az összes kell, vagy csak az egy? Meg ha több kell, akkor azt hova kell tenni? E, F ,... oszlopok?
3. Ha pl több találat van (R1815B, 1815-B1, 1815B1), akkor azok hova kerüljenek? E, F, ... oszlopok?
4. Mit jelent a legjobban megfelelő találat? Pl 18152B megfelelő vagy sem?Sima szűréssel amúgy meg lehetne oldani egy-egy esetben (egyéni szűrés), de tömegesnél makró kellene? Még nem tom, hogy lesz-e rá időm.
-
Cuci3
tag
Makró lesz rá a megoldás. Nyomtatás előtt egy adott mező értékét növeli meg eggyel a következő szubrutin:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
If ActiveSheet.Name = "Munka1" Then
ActiveSheet.Range("A3") = ActiveSheet.Range("A3") + 1
End If
End SubEzt a VB szerkesztőben a "This Workbook" modulba kellene bemásolnod. A "Munka1" helyére annak a munkalapnak a nevét írd, amit nyomtatsz, az A3 helyére meg a szóban forgó cellát.
-
Cuci3
tag
Na, félig megvagyok, én rontottam el a kódot. A már helyesebb verzió:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Munka1" Then
ActiveSheet.Range("A3") = ActiveSheet.Range("A3") + 1
End If
End SubViszont azt még nem tudom megoldani, hogy nyomtatásnál "Mégse" gombra kattintva ne növelje az A3 értékét. De próbálkozok.
-
Cuci3
tag
Kicsit másabb progi, de lényegében ugyanaz. Sajnos a Nyomtatás menü Mégse gombja valahogy nincs nevesítve, VBA rögzítő sem érzékeli, neten sem találtam meg. Ezért nyomtatás előtt felugrik egy aranyos kis kérdés, hogy tényleg ki akarod-e nyomtatni. Egy idő után idegesítő lehet, dehát ez is csak egy félmegoldás (a kérdésem után még simán kattinthat az ember a mégsére a nyomtatási ablakban).
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim kerdes As Integer
kerdes = MsgBox("Valóban ki akarod nyomtatni?", vbQuestion + vbYesNo)
If kerdes = 6 Then
If ActiveSheet.Name = "Munka1" Then
ActiveSheet.Range("A3") = ActiveSheet.Range("A3") + 1
End If
ElseIf kerdes = 7 Then
Cancel = True
End If
End Sub -
Cuci3
tag
Leírni hosszú lenne, meg így szemléletesebb is.
Kell egy oszlop, ahol összefűzöd az értékeket. Ez történhet & jellel, vagy összefűz függvénnyel. Én tettem a számok közé egy szeparátort (szóköz), hogy tényleg pontos legyen a találat. Pl.: 123 jöhetne 1, 2, 3 számokból vagy 12, 3 számokból.
Utána a hol.van függvény már visszaadja a tömbben elfoglalt sorszámát, de a pontos sorhoz még kell az is, hogy hol kezdődik a tömb.
Röviden ennyi, a tényleges bemutató meg itt. -
Cuci3
tag
Na, ez egy szép kérdés. Először is tőzsdén egy év kb 250 kereskedési napból áll (hétvége, ünnepnap lejön). Tehát mondjuk az OTP kereskedési napjait kellene alapul venni, aztán ahhoz rendezni a dolgot.
A BÉT-ről nem tudom hogyan tudod lehúzni az adatokat, de a Csopak alapján azt látom, hogy kezdetben csak azon napokon van adat, amikor volt kereskedés. De 1997.08.14-e után már minden kereskedési nap fel van sorolva. Csak sajnos amikor nem történt kereskedés, akkor üresek a cellák.
Javasolnám a portfolio letöltési honlapját. Igaz ez csak 1995-től indít, de csöppet jobb.
Miután megvannak az adatok, utána a következő fájl átnézését javaslom. Fkeres-sel meg lehet oldani a dolgot, csak kell elé egy HA, HIBÁS függvény is. Nem tom, hogy az fkeres utolsó lehetőségébe be kell-e írni a HAMIS feltételt. Ennek kipróbálását rád bízom.A szakdogámnál én is BÉT a 18 részvényének adatait használtam. Nem tudom, neked mire kell, de szerintem érdemes átgondolni, hogy kell-e mind az 50 részvény, illetve részvényenként minden adat.
[ Szerkesztve ]
-
Cuci3
tag
válasz Delila_1 #5428 üzenetére
Letöltöttem, megnéztem. A képlet megoldását Delila már megírta.
De a betöltés kb fél percig tartott, ami egyrészt bosszantó, másrészt eléggé leterheli a rendszert.A dátumok tekintetében még mindig azt tudom javasolni, hogy csak a kereskedési napokat használd. A dátumok felsorolásához pedig pár A típusú részvény dátumait kellene egymás alá méásolni, növekvőbe rendezni, aztán szűrő/irányított szűrés, csak egyedi tételeket. Rem nem fagy bele az Excel.
Oszlopok száma: ez tényleg kérdőjeles. Meg tuti lesz legalább egy loghozam mindegyik részvényre, ami tovább növeli az oszlopok számát.
Nem tudom mit szeretnél kezdeni ezzel a sok szép adattal, de rem nem idősort akarsz elemezni Excelben. Arra inkább egy Eviews-t ajánlanék. Az adatoknál pedig figyelj arra, hogy a split (feldarabolás) hogyan van kezelve."A fájl mérete 7 MB alá ment, de ez így is óriási." Dolgoztam már 70 MB-s fájllal is. Bár nem volt egy nagy élmény.
-
Cuci3
tag
Hát a legjobb megoldás egy makro lenne rá. Az egyszerűbb pedig az, hogy készítesz egy oszlopban egy HA(ÉS();1;0) függvényt, ahol az ÉS argumentumaiba az egyes részvények napi nyitó értékeire mutató cellát teszed be. Az ÉS akkor legyen igaz, ha üres a cella.
Tehát pl Fotex B5, Csopak F5: HA(ÉS(B5="";F5="");1;0). Aztán amelyik sornál 1-es a képlet értéke, azt lehet törölni (Autoszűrő, 1-es kiválaszt, sorok kiválaszt, sor törlése).
A baj ezzel csak annyi, hogy az ÉS-nek max 30 argumentuma lehet, tehát adott sorban csak 30 cellán (részvényen) tudod megnézni, hogy tényleg üres-e. -
Cuci3
tag
válasz roomgrey #5440 üzenetére
Sajnos 2003-as Excelem van, úgyhogy nem tudom, pontosan hol keresd, de a Név megadása a probléma nyitja. 2003-ban: Beszúrás / Név / Név megadása.
Lényeg, hogy a munkafüzet készítője generált pár változót, amiket angol névvel látott el. Ezek specifikusak, meg egyéniek, úgyhogy az Excel nem is fogja lefordítani. Ezt neked kell megtenned, ha meg szeretnéd. A név megadásánál csak át kell írni a dolgokat, de plíz figyelj oda, hogy némelyiknél a függvényben is szerepelnek ezeke az angol nevek.
Új hozzászólás Aktív témák
- Ingyenes vagy akciós szoftverek
- OLED TV topic
- CASIO órák kedvelők topicja!
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Autós topik
- Ülésezik a hardveregylet
- Gumi és felni topik
- A Watch7-tel debütálhat a Samsung vércukormérője
- HTPC (házimozi PC) topik
- Oppo Find X5 Pro - megtalálták
- További aktív témák...
- Steames kulcsok jó áron eladóak!
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Microsoft licencek a KIVÉTELES ÁRAK - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!