Keresés

Részletes keresés

gondwana555 Creative Commons License 2014.02.11 0 0 24124

Azt hiszem feladom, a másolás sem működik, de csak ezen a munkalapon van gond. Felépítem egy új lapra az idei adatokat. Köszi, hogy foglalkoztál velem.

Szia,

gondwana

gondwana555 Creative Commons License 2014.02.11 0 0 24123

Bocs, nem voltam egyértelmű (éppen egy fél órája várok arra, hogy beszúrjon 20 sort a munkalapba), de tényleg munkafüzetről és munkalapokról van szó. Már a gördítés is gondot okoz. Újabban, ha be akarom zárni ilyenkor, a ""program nem válaszol" üzenetet adja. Ez a szánalmasan kevés feladat nem foghat ki egy excelen, mégha 2003-as is. Rápróbálok a javaslatodra, köszi, mindjárt jelzem, mi a helyzet.

gondwana

Törölt nick Creative Commons License 2014.02.11 0 0 24122

Megpróbálhatod azt, hogy beszúrsz egy új munkalapot, és arra átmásolod a lassú munkalap összes celláját mindenestül, aztán törlöd a régi munkalapot, az újat pedig átnevezed arra a névre, ahogy a régit hívták.

 

Ha ez nem segít, akkor mit értesz táblázat alatt? Értelmezési gondjaim vannak ezzel a mondattal:

"Excel táblázat, több munkalappal, a munkalapok a táblázattól kapnak adatokat, amikkel aztán tovább dolgoznak."

 

A korrekt elnevezések ezek lennének:

munkafüzet: az Excel fájl maga

munkalap: a munkafüzet lapjai, amiket Munka1, Munka2, stb. néven nevez a rendszer

táblázat: egy munkalap jól definiált, körülhatárolt része.

 

Az idézett mondat értelmében mondhatnánk, hogy táblázat = munkafüzet, és akkor egy munkafüzetről van szó több munkalappal. De máshol meg úgy hivatkozol a táblázatra, mintha az egy másik fájl lenne. Ha a "táblázat" tényleg másik fájl, akkor meg mit jelent a "Excel táblázat, több munkalappal" kifejezés?

Előzmény: gondwana555 (24120)
Fferi50 Creative Commons License 2014.02.11 0 0 24121

Szia!

 

Kérdések:

  • milyen excel verziót használsz (2003,2007,2010,2013?)
  • =szum('fájlneve'!T103)  egy cellát miért kell összegezni?
  • a fájlneve egy munkalapnév az adott munkafüzetben?

Valószínűleg túl sok a számolandó cella és ezért lassult be. Ilyenkor célszerű az automatikus újraszámolást átállítani csak kérésre. Az adatok bevitele után az F9 újraszámolja a cellákat. (Beállítások, számítási beállítások , munkafüzet újra számolása csak kérésre.)

 

Üdv.

Előzmény: gondwana555 (24120)
gondwana555 Creative Commons License 2014.02.11 0 0 24120

Üdvözlet mindenkinek!

Excel táblázat, több munkalappal, a munkalapok a táblázattól kapnak adatokat, amikkel aztán tovább dolgoznak. Az egyik munkalap olyan mértékig lelassult, hogy akadályozza a használatot, iszonyú lassan hagyja magát bővíteni, sorokat beilleszteni, másolni.  Egyetlen ilyen parancsa van:  =SZUM('fájlneve'!T103), a többi az erre, a táblázatból kapott adatra épülő feladatokat tartalmazza, némi formázással, háttérszín kiemeléssel. Ez a táblázatban kijelölt hely viszont kéthetente más cella.

A táblázat működése változatlan, gyorsan reagál, stb. Előre is köszönöm a segítséget!

gondwana

 

Soxem Creative Commons License 2014.02.11 0 0 24119

SIKERÜLT!!!

Nagyonszépen köszönöm!

Előzmény: Delila10 (24118)
Delila10 Creative Commons License 2014.02.11 0 0 24118

Jelöld ki az A2 cellát, és vigyél be feltételes formázást. Ennek a képlete: =HÉT.NAPJA(A2;2)=7.

A formátumot másold végig az oszlopodon.

Előzmény: Soxem (24117)
Soxem Creative Commons License 2014.02.11 0 0 24117

Sziasztok!

Csináltam egy excel lapot, kinyomtatva havi szintű naplózásra szolgál. az első kockába írt dátumot használva kiinduló adatként, az első oszlop adja a napi dátumot, ez az aktuális hónap napjain kívül a hét napját is mutatja. Próbálkoztam azzal hogy a vasárnap valahogy első pillantásra jól elkülönüljön a hét többi napjától, háttérszínnel, vagy bármi más feltűnő módon (hogy a heteket gyorsan tudjam egy rápillantással előre hátra számolni).

Ebbe tört bele a bicskám, a help sem segített, nehezen hinném, hogy nincs rá megoldás. Próbákoztam az OpenOfice-val is.

Az MS office 2010-et használom

tbando Creative Commons License 2014.02.09 0 0 24116

Szerintem talált, süllyedt. Ugyanis beírva egy makróba: a=1 mrd, és b=10 mrd, akkor az 'a' variant/long lesz a 'b' meg variant/double. Tehát ezek szerint valami okból célszerű figyelmeztetni a usert, hogy az adott adat csak double típusú  lehet. 

 

 

 

 

Előzmény: Fferi50 (24113)
lxt Creative Commons License 2014.02.09 0 0 24115

Mármint, univerzum/csillagrendszer.

Előzmény: lxt (24114)
lxt Creative Commons License 2014.02.09 0 0 24114

Off

 

A kvantummechanikai, csillagászati célprogramok, célgépeken futnak.

Mint ahogy nem ritkán, vannak azok a mezei számlázó programok, ahol egy számla (még) lehetséges sorszáma meghaladja a galaxisunk csillagrendszereinek számát: a csak feltételezetten 200 milliárd x 200 milliárdot - ami, véleményem szerint, több mint elég.:-)

 

A legtöbb feladat megoldására, talán egy 'dupla szó' is elég...

Előzmény: tbando (24110)
Fferi50 Creative Commons License 2014.02.09 0 0 24113

Szia!

 

Lehet, hogy ezt:

"Double data type

A data type that holds double-precision floating-point numbers as 64-bit numbers in the range -1.79769313486231E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values. The number sign (#) type-declaration character represents the Double in Visual Basic."

 

De ez csak egy tipp.

 

Üdv.

Előzmény: tbando (24112)
tbando Creative Commons License 2014.02.09 0 0 24112

Ezek szerint a # nem azt jelenti, hogy nem lája a teljes számot, mivel a 10 mrd nem is 2 hanem 4 számjeggyel kevesebb mint a lehetséges 15. Csináltam is rá egy próbát. Az a = 123456789012345 - 1123456789012344 a vbe-ben így néz ki:

 

a = 123456789012345# - 123456789012344#    

 

A kivonás eredménye a=1.  Tehát 15 számjegyig valóban pontosan látja a számokat.  De mit jelent a kettős kereszt?  

 

Előzmény: Fferi50 (24111)
Fferi50 Creative Commons License 2014.02.09 0 0 24111

Szia!

 

A 2010-es excel 15 számjegy pontosságú. Ez azt jelenti, hogy bármely nagyságú számból csak az első tizenöt számjegy pontos (tizedes törteknél a tizedesjegyet nem beszámítva), az összes utána következő számot 0-nak számítja, és úgy is számol vele.

 

Próbáld ki, hogy egy cellába beírod a számokat folyamatosan 1234567890123456789, a cella formátumát számra állítod. Látni fogod, hogy meddig vannak számok és hol kezdődik a nulla.

A nagyságrend megmarad, de az utolsó helyiértékeket nem tudja már figyelembe venni.

 

Üdv.

Előzmény: tbando (24110)
tbando Creative Commons License 2014.02.09 0 0 24110

Egy  0-t közelítő iterációs számításnál a vba az  1/1000 000 000  hányadost még elfogadja, de az 1/10 000 000 000 -hoz hozzábiggyeszt egy #-t. Ez mit jelent?  Azt hogy, hogy az általa észlelt legkisebb különbség 1/1 milliárd?  Ha igen, akkor hogy értendő az excel 14 számjegyes pontossága? Mivelhogy az 1/10milliárd annál 2 nagyságrenddel kisebb. 

Norbert Pintér Creative Commons License 2014.02.08 0 0 24109

Nagyon szépen köszönöm!

Előzmény: tbando (24108)
tbando Creative Commons License 2014.02.08 0 0 24108

B+.  Figyelmetlen voltam.  A 2 tábládat konvertáltam az 1-re. No akkor, amit kértél. Most az 1 táblázatod van a Munka2!E1:H1000 tartományban.  A Munka1-re meg ezeket a képleteket írd be egy 2x2 tartományba:

 

1 oszlop: 

 

=INDEX(Munka2!$E$1:$H$1000;(SOR($A1)+1)/2;1)

=INDEX(Munka2!$E$1:$H$1000;(SOR($A1)+1)/2;2)

 

2 oszlop:

 

=INDEX(Munka2!$E$1:$H$1000;(SOR($A1)+1)/2;3)

=INDEX(Munka2!$E$1:$H$1000;(SOR($A1)+1)/2;4)

 

Majd ezt a 2x2 tartományt kell lefelé másolnod. Ezt úgy kell, hogy kijelölöd a 2x2 cellát, majd kurzorral rámész jobb alsó sarokra, és amikor a nyil keresztre vált, húzod lefelé.

Előzmény: Norbert Pintér (24105)
tbando Creative Commons License 2014.02.08 0 0 24107

Ha mondjuk a Munka2!a7:b1000-n van az alaplistád, akkor a Munka1-re az alábbi képleteket írd be egymás mellé, majd húzhatod lefelé.

 

=INDEX(Munka2!$A$7:$B$1000;(SOR($A1)-1)*2+1;1)   a kékek nevei

=INDEX(Munka2!$A$7:$B$1000;(SOR($A1)-1)*2+2;1)   a pirosak nevei

 

=INDEX(Munka2!$A$7:$B$1000;(SOR($A1)-1)*2+1;2)  a kékek mennyisége

=INDEX(Munka2!$A$7:$B$1000;(SOR($A1)-1)*2+2;2)  a pirosak mennyisége

Előzmény: Norbert Pintér (24105)
Sánta Kutya (SK) Creative Commons License 2014.02.08 0 0 24106

Köszi, hétfőn kipróbálom. Szerencsére csak pár hétig használom ezt a gépet.

Előzmény: pimre (24102)
Norbert Pintér Creative Commons License 2014.02.08 0 0 24105

Normal 0 21 false false false HU X-NONE X-NONE MicrosoftInternetExplorer4

/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Normál táblázat"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;}

Üdv mindenkinek! Nem vagyok egy „excel-guru”, ezért is kérném a Ti segítségeteket.  A megrendeléseimet excel-be szoktam rögzíteni, és mos felmerült egy olyan probléma amire sehogy se tudok megoldást találni. A kérdésem:  az első ábrán szereplő adatokat hogyan tudom egy másik munkalapon a 2.ábrán lévő módon megjeleníteni? Előre is köszi.

Törölt nick Creative Commons License 2014.02.08 0 0 24104

Hol lehet kikapcsolni az önjavító opciót ugyanis előfordulnak olyan hibák amiket nem tudok megkeresni mert mert beindul ez a folyamat és hibát jelezve lelövi a filet. Az Office 2003-ban még ez nem volt de az Office 2007-től már létezik emiatt már jó pár programomnak búcsút kellett mondanom.

tbando Creative Commons License 2014.02.07 0 0 24103

Innentől nem értem a kérdést. Ha egy filet új néven vagy a régi néven új helyre mentesz, akkor onnantól, ha nem piszkálsz bele a mentés után, akkor nem kérdez rá, hogy mentse-e, mivel tudja hogy ez a változat már le van mentve.  Ha meg belepiszkálsz, akkor meg az új néven  illetve az új helyre menti vagy nem menti a választásod szerint. Ha bekapcsolod pimre True-ját, akkor nem fogja menteni. Nem vagyok benne biztos, hogy ezt nem fogod-e bánni.

Előzmény: Mittu21 (24090)
pimre Creative Commons License 2014.02.07 0 0 24102

Off: Elég idióta lehetett, aki ezt kitalálta, mikor a Dos alatt ott volt a CTRL + Alt + Del kombináció, ami most is megvan, csak beiktatódik a feladatkezelő a kilépéshez.

 

Nekem nincs ilyenem, de állítólag le lehet tiltani: http://www.gyakorikerdesek.hu/szamitastechnika__egyeb-kerdesek__318010-le-lehet-tiltani-a-billentyuzet-power-gombjat

 

Előzmény: Sánta Kutya (SK) (24092)
seven update sorbi Creative Commons License 2014.02.07 0 0 24101

Ez egy supervisori attitűd...:)

Előzmény: Sánta Kutya (SK) (24089)
seven update sorbi Creative Commons License 2014.02.07 0 0 24100

Sziasztok!

 

Azt szeretném megkérdezni, hogy az excelben az aktív cella vastag körvonalát el lehet-e valahogy tüntetni úgy, hogy közben az aktív cella aktív marad? (A beállítások között néztem, nem találtam, de lehet, hogy ott is be lehet ezt állítani. Ha makróval lehet, az is jó lenne.)

pimre Creative Commons License 2014.02.07 0 0 24099

De ehhez még tőlem is kell egy papír, hogy súlyos tévedésügyi szakértői szakvizsgával rendelkezem:-)

Előzmény: Sánta Kutya (SK) (24098)
Sánta Kutya (SK) Creative Commons License 2014.02.07 0 0 24098

Akkor ezek szerint súlyosan tévedtem, és ha kinyomtatom ezt az oldalt, már papírom is lesz róla! :-)

Előzmény: pimre (24097)
pimre Creative Commons License 2014.02.07 0 0 24097

Ne haragudj, de ez súlyos tévedés. Igen gyakori eset, hogy például egy fájlt nem írásra olvasol be, hanem bizonyos információk beolvasására. És a beolvasás előtt például rendezed az adatokat valamilyen szempont szerint. De ezért nem kívánod menteni, sőt esetleg még zavaró is, ha pusztán ezért frissülnek a mentési adatai. De millió és egy egyéb ok lehet, amikor a programban nem kívánod menteni a használt fájlt.

Előzmény: Sánta Kutya (SK) (24089)
Mittu21 Creative Commons License 2014.02.07 0 0 24096

Jajjjj de köszönöm!!!!

Előzmény: pimre (24094)
Mittu21 Creative Commons License 2014.02.07 0 0 24095

Na de ne szivass már :D Akkor megoldható? Ha igen, hogyan? Egy csomó tárhelyet megspórolna.

Előzmény: Sánta Kutya (SK) (24093)
pimre Creative Commons License 2014.02.07 0 0 24094

Van megoldás.  Pl.: Activeworkbook.Saved = True.

Előzmény: Mittu21 (24088)
Sánta Kutya (SK) Creative Commons License 2014.02.07 0 0 24093

Nem, ilyet nem állítottam, amint ez a hasonlatokból is látható. :-)

Előzmény: Mittu21 (24090)
Sánta Kutya (SK) Creative Commons License 2014.02.07 0 0 24092

Egyébként meg az a véleményem, hogy kínok közt fetrengve vesszen ki a világból, aki képes volt egy power gombot tenni a billentyűzetre oda, ahol tisztességes billentyűzeten a prtscr van, és egyetlen mellényúlással minden figyelmeztetés nélkül vész el az ember összes munkája.

Mittu21 Creative Commons License 2014.02.07 0 0 24091

Btw valahogy ihletet merítettem a hozzászólásodból és megoldottam, igaz nem valami elegáns. A megoldás az lett, hogy ha before_close-ba betettem, hogy ha hibás az anyagigénylő, akkor bezáráskor egy "Hibás" mappába menti a fájlt, amit néha "tisztítani" kell.

 

Köszi szépen :)

Előzmény: Mittu21 (24090)
Mittu21 Creative Commons License 2014.02.07 0 0 24090

Valóban, de a táblázat a mentést makróval végzi egy új fájl létrehozásával (másik helyre), így a mentésre szolgáló kérdés felesleges, vagy ha úgy tetszik redundáns (amúgy írásvédett a fájl, szóval csak felülírással tudná menteni a felhasználó).

 

Amúgy a hozzászólásodból úgy jön le, hogy nem kivitelezhető, de erősíts meg légy szíves, hogy jól értem-e?

Előzmény: Sánta Kutya (SK) (24089)
Sánta Kutya (SK) Creative Commons License 2014.02.07 0 0 24089

Ez kb. olyan kérdés, mint hogy le lehet-e tiltani az autóban a biztonsági övet vagy lehet-e csinálni biztosítószeg nélküli kézigránátot.

Előzmény: Mittu21 (24088)
Mittu21 Creative Commons License 2014.02.07 0 0 24088

Sziasztok!

Ki lehet valahogy kapcsolni makróval, hogy ha történt egy fájlon változtatás, bezáráskor ne kérdezzen rá, hogy akarja-e menteni a változásokat, hanem alapértelmezetten a Nem aktiválódjon?

Előre is köszi a választ :)

Üdv,
Ádám

tbando Creative Commons License 2014.02.06 0 0 24087

Kööösz!  Szinte biztos, hogy break módban volt  az épp takarásban levő másik modulon levő tesztelő makró.

Előzmény: Fferi50 (24086)
Fferi50 Creative Commons License 2014.02.06 0 0 24086

Szia!

 

Én még nem találkoztam ezzel a hibával, de a help ezeket írja:

" Can't perform requested operation (Error 17)

An operation can't be carried out if it would invalidate the current state of the project. This error has the following cause and solution:

  • The requested operation would invalidate the current state of the project. For example, the error occurs if you use the References dialog box to add a reference to a new project or object library while a program is in break mode.

    Stop execution of the current code, and then retry the operation.

  • An attempt was made to programmatically modify currently running code. For example, your code may have tried to read code from a disk file into a currently running module.

    Although you can modify modules in the project while they aren't actually running, you can't make modifications to a running module. To make such changes, you must stop the module from running, make the additions or changes, and then restart execution."

Hátha ebből kiderül, mi lehetett nálad.

 

Üdv.

Előzmény: tbando (24085)
tbando Creative Commons License 2014.02.06 0 0 24085

Kösz. A segítségeddel nagyjából kisakkoztam, hogy a különbőző esetekben hogyan reagál az excel.  Csak egyre nem jöttem  még rá: Hogy a korábbi F4-es modulátnevezéseimet miért nem tudta megcsinálni: Can't perform requested operation -üzente helyette. Van valami tapasztalatod, hogy ezt mikor szokja üzenni. 

Előzmény: Fferi50 (24084)
Fferi50 Creative Commons License 2014.02.06 0 0 24084

Szia!

 

Még valami:

F4-el (vagy a View menüből Properties Window) láthatod az adott modul tulajdonságait tartalmazó ablakot. Itt is megváltoztathatod a modul nevét.

 

Üdv.

Előzmény: tbando (24082)
Fferi50 Creative Commons License 2014.02.06 0 0 24083

Szia!

 

A modulok nevét az alábbi módon tudod megváltoztatni:

activeworkbook.VBProject.VBComponents("Module1").Name="Modul1"

 

Az egyes modulok változóit akkor tudod másik modulból elérni, ha Public-nak declaráltad, és akkor a modulnev.valtozónév alakban benne vannak a listákban is.

Az eljárások publikusak, ha nem privátnak hozod létre azokat és a modul.eljárás módon hívhatóak. Ha csak egy van az eljárásból, akkor ki tudja választani a VBA és nem kell a modulnév. Ha viszont több modulban is van ugyanazon nevű eljárás, akkor feltétlenül kell a  modulnév is.

Próbáld ki, ha egy eljárást Private kezdőszóval hozol létre, akkor a modulon kívülről nem lehet meghívni, nem látod a projekt listákban a modulon kívül.

 

Egyébként mindig először az általános modulban keresi a program, ha nem írtad be a modul nevét.

 

Üdv.

 

Előzmény: tbando (24082)
tbando Creative Commons License 2014.02.06 0 0 24082

Hogyan kell az egyik modulban-ben írt eljárásban egy másik modul  modulváltozójának értéket adni, vagy lekérdezni, anélkül hogy a kérdéses változót projectszintűvé tenném?

 

A Kovalcsik könyv erröl ezt írja: Ha pl. a Dolgozo modulnak van egy Fizetes nevű változója, akkor az így érhető el:  Dolgozo.Fizetes

 

Na most ezzel két problémám van: 1. A property ablakban nem engedi átnevezni a modult. 2. A  module1-ben a module2.fizetes hivatkozas se müxik.

 

****

 

A Kovalcsik könyv azt is írja, hogy a külső modulok eljárásait is hasonlóan kell meghívni. Ezt csak nem értem. Mert nálam az osztálymoduloktól eltekintve bármelyik modulból bármelyik modul eljárása hívható. Akkor  minek komplikálni?

 

Delila10 Creative Commons License 2014.02.06 0 0 24081

Ha találnál olyan oldalt, ahonnan percre le tudnád tölteni a különböző pénznemek árfolyamát, a páros összeállítása már nem lenne gond.

Előzmény: Excel Foley (24080)
Excel Foley Creative Commons License 2014.02.06 0 0 24080

Kedves Delila10!

 

Egyrészt köszönöm a gyors választ és az igyekezeted, másrészt elnézést, hogy nem konkretizáltam jobban a problémát az előző hozzászólásomban, mert adott devizapárok meghatározott percre vonatkozó árfolyamadata kellene, tehát pl. 2014.01.08. 14:43 EUR/USD.

Előzmény: Delila10 (24079)
Delila10 Creative Commons License 2014.02.06 0 0 24079

http://www.mnb.hu/arfolyam-lekerdezes címen az Aktuális deviza árfolyamok teljes letölthető verziója menüpontban xls formátumban letöltheted 1949.01.03-tól a mai napig a különféle pénznemek árfolyamát, de csakis dátum szerint.

 

Mikor ez megvan, egy INDEX függvénybe ágyazott HOL.VAN függvénnyel kikeresheted azt, amire szükséged van.

Előzmény: Excel Foley (24078)
Excel Foley Creative Commons License 2014.02.06 0 0 24078

Sziasztok!

 

Excel 2010-ben már dolgozgatok egy ideje egy forex-es naplón, de a minap olyan problémába akadtam, amire nem sikerült megoldást találnom. Minden egyéb gondomat sikerült orvosolnom különböző makrókkal és angol fórumok olvasgatásával, de ez az egy megoldásra váró feladat kifogni látszik rajtam, szóval gondoltam leírom itt, hátha esetleg valaki tud rá megoldást, nagyon sokat segítene vele, mert már csak ez hiányzik, hogy elkészülhessek az egésszel.

 

Szóval problémám a következő: Egy általam kiválasztott múltbeli időponthoz tartozó devizaárfolyamot szeretnék kiíratni excelben. Tehát konkrétan egy cellába beírnám a dátumot és az időpontot percre pontosan, majd egy másik cellába a devizapárt, a 3. cellába pedig kiíratnám az ahhoz a perchez tartozó devizaárfolyamot. MetaTrader4-ből lenne a legcélszerűbb kivarázsolni ezeket az adatokat, de csak olyan képleteket találtam, amik az éppen aktuális árfolyamadatokat jelenítik meg (=MT4|BID! =MT4|ASK! =MT4|HIGH! =MT4|LOW! =MT4|TIME! =MT4|QUOTE!), múltbéli adatokra vonatkozóakat azonban nem. Alternatív megoldásként arra is gondoltam, hogy talán az internetről is lebányásztathatnám az árfolyamadatot, de egyrészt nem találtam olyan internetes forrást, ahonnan múltbeli adatok elérhetőek lennének, másrészt az internetes adatforrásból történő adatimportálás mikéntjét sem ismerem.:(

 

Ha valakinek van ötlete, tényleg nagyon sokat segítene vele! Előre is nagyon szépen köszönöm a válaszokat!

Fferi50 Creative Commons License 2014.02.05 0 0 24077

Szia!

 

Nyilván nem az egymás melletti cellákat kell Ctrl-el "egybeterelni", de sokszor előfordulhat, hogy nem összefűggő tartományokat kell együtt kezelni.

Ezért érdekes vizsgálni a viselkedésüket.

 

Üdv.

Előzmény: tbando (24076)
tbando Creative Commons License 2014.02.05 0 0 24076

Hát....?

 

De azért kösz! Hanyagolni fogom ezeket változatokat. 

Előzmény: Fferi50 (24074)
Fferi50 Creative Commons License 2014.02.05 0 0 24075

Szia!

 

Igazán szívesen "segítettem", örülök, hogy találtál megfelelő progit.

Szerintem még egy kicsit kutakodsz és lesz pénzügyi - sőt könyvelő - program is. Lehet érdemes lenne még a "nagyoknál" (SAP, MS) is kicsit körülnézni, elég sok dolgot ajánlanak kkv-k számára is.

Lehet, kevesebb idő alatt megtalálod, mint amennyi ideig az Excelt nyúzni kellene, hogy valahogy kinézzen.

 

További jó munkát (mókát)!

 

 

Előzmény: akhvel (24073)
Fferi50 Creative Commons License 2014.02.05 0 0 24074

Szia!

 

Első kérdésre:

Már előrehaladott állapotban vagyok egy "tanulmányban", ami meg kísérli megmagyarázni az ilyen nevek, tartományok működését.

Egyelőre annyit, hogy ilyenkor a területeket is figyelni kell. Tehát esetedben az alma névvel meghatározott tartomány 4 területből áll és az egyes területek 1 - 1 cellát tartalmaznak. Tehát range("Alma").areas(1)(1).address=A1 stb.

Az egy dimenziós hivatkozás pl. range("Alma")(4).address az első területen megy végig lefelé. Az alma(2) csak azért adott jó eredményt, mert az A2 is benne volt a tartományban.

 

Második kérdésre:

Ha kitörölöd a dollár jelet - ami ugye az abszolut hivatkozást, azaz a mozdíthatatlanságot jelenti - akkor a név "mozgathatóvá" válik. Tehát az eredeti helyéhez képest az adott hely koordinátáinak megfelelően "elmozdul" a hivatkozás. Szebben látszik, ha mondjuk az I10-et nevezed el, majd utána pl. a L4 cellába írod be az =nevet.

 

Üdv.

 

 

Előzmény: tbando (24072)
akhvel Creative Commons License 2014.02.05 0 0 24073

Köszönöm,

 

megfogadtam a tanácsod, 25 ezerért mindent tudó standoló és készletkezelő programot lehet venni, konyhai hányadokat is számol, lekérdezéseket lehet vele csinálni xls-be, egyszóval tökéletes. 25 órát biztos elmarháskodtam volna egy excel táblával én is, és nem lett volna ilyen jó, mint ez.

 

Már csak egy ilyen pénzügyi program lenne a tuti, amivel tudnám kezelni egyszerre több üzlet bevételeit és kiadásait és persze a sajátomat is. De ilyet még nem találtam, ezért jobb híján excelek :)

Előzmény: Fferi50 (24016)
tbando Creative Commons License 2014.02.05 0 0 24072

Hát az idáig az eszembe sem jutott, hogy összefüggő területet ctrl-lal foglaljak tartományba. De ha már  felhívtad rá a figyelmem, csináltam rá egy próbát.  Alma névvel ctrl-lel deklaráltam az a1, b1, d1 és a2 cellákat. Majd sorban kiírattam a tartalmukat, hogy lássam hogy számozódnak a cellák. De csak az a1 a2-t volt hajlandó kíirni.  Hogy lehet rábírni, hogy a többit ís kiírja?

 

for i=1 to 4

debug.print Range("alma")(i)

Next i

 

A névhasználattal kapcsolatban lenne egy másik kérdésem is. Definiálom az b1-t mint alma-t. Majd a névkezelőben átírom a $b$1 hivatkozást b1-re.  Majd bármelyik cellából =alma-ra hivatkozva körkörös hivatkozás hibaüzenetet ad, és a névkezelő mutatja is, hogy most már a hivatkozó cella az alma.  Itt ez  hogy s mint?

 

Előzmény: Fferi50 (24070)
tbando Creative Commons License 2014.02.05 0 0 24071

Nagyon frappáns :)))).

Előzmény: Törölt nick (24065)
Fferi50 Creative Commons License 2014.02.05 0 0 24070

Szia!

 

Még egy kis adalék az előző hsz-ekhez:

 

Ha a név nem egy területből álló tartományra hivatkozik (Pl.A1;B2), akkor már pontokat tesz ki. (Akkor is, ha a két cella közvetlenül egymás alatt v. mellett van!!!! Ha Ctrl-t nyomva jelölted ki a két egymás melletti v. alatti cellát, akkor már nem számít összefüggőnek!)

 

Üdv.

Előzmény: tbando (24059)
gab_oca Creative Commons License 2014.02.05 0 0 24069

Fferi50!

 

Nagyon- nagyon köszönöm a gyors segítséget! :)

Előzmény: Fferi50 (24062)
Fferi50 Creative Commons License 2014.02.05 0 0 24068

Szia!

 

Kicsit komolyabban: valószínű, hogy az eltolás kiszámítása "meghaladja a képességeit", ezért inkább a pontokkal jelzi, hogy vannak ám ott értékek, csak nem tudom megmutatni.

 

Üdv.

Előzmény: Sánta Kutya (SK) (24066)
Fferi50 Creative Commons License 2014.02.05 0 0 24067

Szia!

 

"Egyszerűen fogok egy sima oszlopot, aminek a szélességét beállítom akkorára, mint a 3 összevont cella együtt, abba beleteszem a szöveget, és leolvasom a sormagasságot."

 

Hogy ez nekem miért nem jutott eszembe.... Persze, feltételeztem, hogy a 3 cellád egyforma szélességű.

 

Íme, itt jön ki a "kollektív bölcsesség" eredménye.

 

Üdv.

Előzmény: Törölt nick (24065)
Sánta Kutya (SK) Creative Commons License 2014.02.05 0 0 24066

Csak ez a kolléga nem nálunk topikol.

Előzmény: Fferi50 (24064)
Törölt nick Creative Commons License 2014.02.05 0 0 24065

Neked is köszönöm a választ.

Szerintem ez sem tökéletes, de már közel van. Itt is az a gondom, hogy egy cella nem azonos a három cella egyharmadával, ha érted, mire gondolok. Egyrészt az egyedi cellák nem egyforma szélesek, és esetemben egyikről sem mondható el, hogy szélessége az egyesített szélesség egyharmada lenne. Másrészt létezik olyan szöveg, ami az összevont 3 cella egyetlen sorában elfér, de mégis, a szavak hossza és elrendezése pont olyan, hogy egy cellában elhelyezve 5 sorra tördeli.

 

Én úgy oldottam meg, hogy létrehoztam egy userformot, azon egy labelt. A label tulajdonságait így állítottam be:

szélességét = az összevont cellák szélessége,

betűtípus = az összevont cellákbetűtípusa

autosize=true.

 

Programban megmódosítottam a label.caption értéket a mérendő szövegre, kiolvastam a label magasságát, és szoroztam 15/12.75 értékkel, ami úgy tűnik, egy konstans (a munkalapon a cella belső margói miatt ennyivel nagyobb a sormagasság). Ez a módszer az összes (kb. 300 db) tesztelt szövegre jól működött. Viszont azt nem tudom, hogy az említett konstans szorzó más karakterméret vagy más betűtípus esetén is ugyanaz-e, szóval itt van egy bizonytalanság.

 

De az ötleted rávezetett egy olyan megoldásra, amiben pillanatnyilag nem találok hibát.

Egyszerűen fogok egy sima oszlopot, aminek a szélességét beállítom akkorára, mint a 3 összevont cella együtt, abba beleteszem a szöveget, és leolvasom a sormagasságot.

Előzmény: Fferi50 (24043)
Fferi50 Creative Commons License 2014.02.05 0 0 24064

Szerintem Redmond tudja a választ :-)

 

Üdv.

Előzmény: tbando (24059)
Törölt nick Creative Commons License 2014.02.05 0 0 24063

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

Csak két problémám van vele. Az egyik, hogy a megoldás feltételezi a Courier használatát, mert abban a karakterek szélessége azonos. De mi van, ha nekem az nem jó? A másik, hogy a szavak hosszától függően a tördelt szöveg egy-egy sorában nem azonos a karakterek száma, sőt, elég nagy eltérés lehet közöttük.

Előzmény: tbando (24060)
Fferi50 Creative Commons License 2014.02.05 0 0 24062

Gab_oca!

 

Makró nélkül is meg lehet csinálni, a hivatkozásokat egy eldugott menüpont előcsalogatásával át lehet változtatni:

2010-ben:

 

Fájl - beállítások - menüszalag testreszabása  

A választható parancsok helyénél megkeresed a Fájl lapot, ezen pedig a Fájlhivatkozások szerkesztése pontot.

Utána a jobb oldalon (menüszalag testreszabása) kiválasztod a kezdőlapot, majd új csoport hozzáadása (egyéni), ide

felveszed ezt a parancsot és OK

 

Ezután a kezdőlapon (valószínűleg a végén) megjelenik a Fájlhivatkozások szerkesztése. Ezt felhasználva módosíthatod az értékelő lapok hivatkozásait a kívánt mappára.

 

Ha mégis a makró mellett döntesz, akkor egy kiegészítés:

 

Az előző makróban van egy "kis" hiba. Ezzel kellene kicserélni:

 

Private Sub Workbook_Open()
Dim alink(), mappa As String, ertekelo() As String, link As Variant
ertekelo = Split("Értékelő1.xls,Értékelő2.xls,Értékelő3.xls,Értékelő4.xls", ",")
mappa = Replace(ActiveWorkbook.FullName, ActiveWorkbook.Name, "")
alink = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
For Each link In alink
    For xx = 0 To UBound(ertekelo)
        If InStr(link, ertekelo(xx)) > 0 Then
            ActiveWorkbook.ChangeLink link, mappa & ertekelo(xx), Type:=xlLinkTypeExcelLinks
        End If
    Next
Next
End Sub

 

(és az értékelő lapokat kiterjesztéssel együtt kell beírni!)

 

Üdv.

Előzmény: Fferi50 (24057)
tbando Creative Commons License 2014.02.05 0 0 24061

B+ :(((

 

Az első sormagasság=füzetsormagasság, a második meg szövegsormagasság 

Előzmény: tbando (24060)
tbando Creative Commons License 2014.02.05 0 0 24060

Az is lehet egy megoldás, hogy a 3 összevont cellába írandó szöveg betűtípusát átváltod curier-re, a sablonon megszámolod hány karakter egy sor, majd a sormagasság =(integer(hossz(szöveg)/(karakter/sor))+1)*sormagasság.

Előzmény: Törölt nick (24042)
tbando Creative Commons License 2014.02.05 0 0 24059

Visszatérnék egy kérdés erejéig az offsetes dinamikus tartomány meghatározáshoz. Ha így deklarálok egy tartományt, akkor a Névkezelő Érték oszlopában nincsenek értékek csak három pont. Igy: {...}.  Ha viszont Listásan határozom meg a dinamikus tartományt, akkor a kapcsos zárójelek közt szépen felsorolja a cellaértékeket.  Miért van ez a kétféle adatközlés? És főleg: Mit jelez  a három pontos változat? Azt biztos nem, hogy üres a tartomány, mert az elemei lekérdezhetők.

 

 

Előzmény: Fferi50 (24058)
Fferi50 Creative Commons License 2014.02.04 0 0 24058

Itt egy kép a makró helyéről:

 

 

 

Előzmény: Fferi50 (24057)
Fferi50 Creative Commons License 2014.02.04 0 0 24057

Szia!

 

Ha feltételezzük, hogy az összesítő mindig ugyanolyan és a 4 értékelőlap is ugyanazzal a névvel van ellátva, akkor én a következőt tenném:

 

Feltételezem, hogy van egy összesítő, amelyik tartalmazza a hivatkozásokat a megfelelő értékelőlapokra (amik lehetnek üresek is akár).

 

Az összesítőt betenném az adott személy mappájába. A megnyitáskor lefuttatnám az alábbi makrót:

 

Private Sub Workbook_Open()
Dim alink(), mappa As String, ertekelo() As String,xx as Integer
ertekelo = Split("Értékelő1,Értékelő2,Értékelő3,Értékelő4", ",")
mappa = Replace(ActiveWorkbook.FullName, ActiveWorkbook.Name, "")
alink = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
For xx = 1 To UBound(alink)
    ActiveWorkbook.ChangeLink alink(xx), mappa & ertekelo(xx - 1) & ".xls", Type:=xlLinkTypeExcelLinks
Next
End Sub

 

Ezzel az összes hivatkozás átkerül az adott mappában levő fájlokra, és meg is kapja az értékeket, mire kinyitod.

 

Ezután azt teszel vele, amit akarsz.

 

Hova kell tenni a makrót?  Alt F11 -el megnyilik a Visual Basic Application ablak. Elvileg itt látnod kell a project felépítését.

A Thisworkbookra rákattintva megnyilik a kód ablaka.

A bal oldali lenyílóban megkeresed a Workbook-ot. A jobb oldali lenyílóban pedig az Open -t.

Elvileg a fent vastagon kihúzott szöveg jelenik meg a kódablakban. Közé másolod azt, ami közte van.

 

Az Értékelő1, Értékelő2 .... helyébe beírod az értékelő lapok nevét kiterjesztés nélkül.

A For ciklusban levő .xls -t megváltoztatod az értékelőlapok kiterjesztésére.

Ezután elmented a fájlt makróbarátként (.xlsm kiterjesztés) és bezárod.

 

Amikor újra kinyitod, látni fogod a kitöltött értékelő lapot.

 

Az összes többi embernél csak annyit kell csinálnod, hogy bemásolod a mappájukba az összesítőt és megnyitod.

Esetleg rákérdez arra, hogy a csatolásokat frissítse-e, akkor azt mondod neki, hogy igen.

 

Remélem sikerül.

 

Üdv.

 

Előzmény: gab_oca (24051)
gab_oca Creative Commons License 2014.02.04 0 0 24056

Nincs kőbe vésve, de hogy oldom meg a 4 külön értékelő lapot?

 

Fülekre nem tudom tenni, mert 1 értékelő lap 4 fülből áll. és 4 ember párhuzamosan értékel... szerintem tuti összekeverik.

Előzmény: Sánta Kutya (SK) (24053)
gab_oca Creative Commons License 2014.02.04 0 0 24055

Szia,

 

Az összesítő táblából egy darab van valahol az emberek mappáin kívül? Igen a mappán kívül van az összesítő.

Az összesítő tábla mindig ugyanaz a formátum és a négy értékelőlapról tápálkozik? Igen mindig ugyanaz és mindig 4 értékelő lap tartozik egy emberhez

A négy értékelőlap mindig ugyanazt a nevet viseli minden embernél és ugyanolyan szerkezetű? Igen minden ugyanaz bennük

Mi történik az összesítő táblával, miután kitöltötted ilyen módon? Kinyomtatod, elmented, elküldöd? Utána megsemmisül? Vagy kezded újra az új emberrel? mentem az összesítőt és a lapokat is, mert meg kell őriznem mindenkiét

 

előre is köszi :)

 

 

Előzmény: Fferi50 (24054)
Fferi50 Creative Commons License 2014.02.04 0 0 24054

Szia!

 

Akkor a kérdések:

 

Az összesítő táblából egy darab van valahol az emberek mappáin kívül?

Az összesítő tábla mindig ugyanaz a formátum és a négy értékelőlapról tápálkozik? A négy értékelőlap mindig ugyanazt a nevet viseli minden embernél és ugyanolyan szerkezetű?

Mi történik az összesítő táblával, miután kitöltötted ilyen módon? Kinyomtatod, elmented, elküldöd? Utána megsemmisül? Vagy kezded újra az új emberrel?

 

Üdv.

Előzmény: gab_oca (24051)
Sánta Kutya (SK) Creative Commons License 2014.02.04 0 0 24053

És kőbe van vésve, hogy külön mappában kell lenniük?

 

Első körben azzal próbálkoznék, hogy az összesítő munkafüzetben valahova felírom a feldolgozandó neveket, és abból kreálok hivatkozást. Így átnevezés esetén csak ott kell módosítani.

Előzmény: gab_oca (24051)
gab_oca Creative Commons License 2014.02.04 0 0 24052

azért kíváncsi lennék ki mire asszociált mi csinálhatunk mi az emberekkel? :)))))))))))))

Előzmény: gab_oca (24051)
gab_oca Creative Commons License 2014.02.04 0 0 24051

Sziasztok!

 

Köszönöm a választ, megpróbálom!

 

Azért leírom a gondom :)

 

Nos, Jönnek hozzánk emberek akiket különböző adatok alapján kell értékelnünk. Ezeket egy értékelőlapon tesszük. Egy embernek 1 mappája van és négy értékelő lapja. Párhuzamosan történnek az értékelések.

Az eredmények egy összesítő táblába kerülnek ahova egyszerű cellahivatkozással gyűjtöm az adatokat. A mappa neve lenne a személy neve, ezt azonban nem tudom módosítani, mert akkor elveszik (logikusan) a hivatkozás. Hogyan tudom megoldani, hogy ne legyen gond a mappa nevének átírása vagy hogyan tudom átstrukturálni az egészet?

 

Nagyon köszönöm a válaszokat!

 

 

 

 

 

 

 

 

Előzmény: tbando (24050)
tbando Creative Commons License 2014.02.04 0 0 24050

Én sem egészen értem, hogy mi a helyzet nálad, de talán az alábbi megközelítés viszonylag könnyen  hozzáigazítható. Ez konkrétan azt csinálja, hogy egy külső füzet celláját hívja be.

 

A munkalapodon egy elkülönített részre, a példában az a1:a6-re, beírod az alábbiakat:

 

a1: Path a mappáig

a2: mappa

a3: filenév

a4: munkalap

a5: cella

a6: +a1&a2&a3&a4&a5 

 

|gy az a6 tartalmazza az első hivatkozást.  Ha bármelyik változik , akkor csak a megfelelő cellát írod át.

 

Majd ezt a makrót futtatod: 

 

Sub gabocahivatkozas()
Dim a$
a = Range("A6")
ActiveCell.Formula = "=" & a
End Sub

Az a1:a5-t úgy tudod a legegyszerűbben kitölteni, ha manuálisan csinálsz egy megnyított fűzetből egy cellabehívást, majd ezt a hivatkozást használod mintának, a forrás fűzet bezárása után. 

Előzmény: gab_oca (24044)
hardyheron Creative Commons License 2014.02.04 0 0 24049

Kedves Fferi50!

nagyon szépen köszönöm a gyors és hasznos választ!

így már sokkal boldogabb vagyok :)

köszi

Előzmény: Fferi50 (24048)
Fferi50 Creative Commons License 2014.02.04 0 0 24048

Szia!

 

  1. cella kijelölés, szerkesztőlécen F9, utána enter  vagy
  2. cella kijelölés - másolás - ugyanazon cellára irányított beillesztés értéket

Mindkét esetben "elveszted" a képletet, csak az érték marad meg, tehát célszerű a munkalapról másolatot készíteni és azzal dolgozni.

 

A 2. verzió azért jó, mert több cellát is ki lehet jelölni és átalakítani ilyen módon egyszerre - de ezeknek összefüggő területen kell lenniük (Pl. A1:C4 esetén működik, de A1 és C4 kijelölése (2 cella) esetén nem).

 

Üdv.

Előzmény: hardyheron (24047)
hardyheron Creative Commons License 2014.02.04 0 0 24047

Sziasztok!
MS Excel 2007-ben hogyan lehetne megoldani hogy egy cella - függvény által kiszámolt - értéke megmaradjon az után is, hogy a függvényt eltávolítom?
erre azért van szükségem, mert webes sql adatbázisból exportált táblázatot szeretnék szerkeszteni ( pl: cellaérték=munkafüzet1!A1*0,8 ) majd visszatölteni a szerverre. csakhogy az adatbázis kezelő nem tudja értelmezni a függvényekkel tűzdelt xlsx-et. 
köszönöm a segítséget!

Törölt nick Creative Commons License 2014.02.04 0 0 24046

Egzakt megoldást akkor lehet javasolni, ha egyértelműen leírod a helyzetet és a feladatot. Amit eddig leírtál, távolról sem egyértelmű, legfeljebb saját magad számára. Próbáld más szemével nézni, és részletezd még egy kicsit.

Előzmény: gab_oca (24044)
Sánta Kutya (SK) Creative Commons License 2014.02.04 0 0 24045

A rendszer teljes újragondolásával.

Előzmény: gab_oca (24044)
gab_oca Creative Commons License 2014.02.04 0 0 24044

Sziasztok!

 

Gondban vagyok, nagyon hálás lennék ha tudnátok segíteni. Nem vagyok nagy exceles.

 

Egyszerű cellhivatkozással egy munkafüzetből és mappából kell adatokat egy összesítenem egy másik mappában lévő excelbe. A forrás excel mappájának a neve folyamatosan változik. Ez alapján tudjuk megkülönböztetni az embereket.

 

Ha változik a mappa neve a hivatkozás sem lesz jó és állandóan módosítani kell. Hogyan tudnám ezt megoldani?

 

Remélem érthető volt.

Nagyon köszönöm!

Fferi50 Creative Commons License 2014.02.04 0 0 24043

Szia!

 

Szerintem is kerülő út kell. Mivel csak az egész sor magasságát tudod változtatni, kétféle megoldást gondolok:

  1. Az egyesítést megszüntetni. Az első cellába beírni a szöveget, sortöréssel több sorba kapcsolóval. Sormagasság automatikusra állítása. Megállapítani, hogy most milyen magas a sor. Ha 3 cella lesz egyesítve, akkor ennek a harmada lesz a sormagasság. Ezt beállítani a teljes sorra, majd újra egyesíteni a 3 cellát.
  2. Addig egyezik az elsővel, hogy megállapítjuk a sor magasságát. Megnézzük, hogy mennyi a munkalapon egy normál sor magassága. Ezzel elosztjuk a magasságot, azaz ennyi sort kell egyesítenünk. Most megszüntetjük a sortörést. Kijelölünk 3 cella szélesen x sor magasan egy területet és ezt egyesítjük. Visszaállítjuk a sortörést, beállítjuk az igazításokat.

A második verzió előnye, hogy nem az első sor magasságát állítjuk át, hanem a "magyarázat" területet növeljük meg. Ez akkor működhet, ha ezt a területet (mármint a "magyarázat" alatt levőt") nem használjuk.

 

 

Üdv.

Előzmény: Törölt nick (24042)
Törölt nick Creative Commons License 2014.02.04 0 0 24042

Ma koppant a fejem a következő problémán.

 

Adott egy sablon munkalap, amit egy (SK, ne figyelj ide) adatbázisból feltöltök adatokkal.

A sablon egyik részén 3 cella vízszintesen egyesítve van, ebbe egy változó hosszúságú szöveg kerül, konkrétan egy szöveges leírás arról a tárgyról, amiről az egész munkalap szól. A szöveg hossza 3 szótól felfelé, határ a csillagos ég.

Ez a munkalap ugyebár nyomtatva lesz, ezért jól kell kinéznie. Szeretném az összevont cellák magasságát programból akkorára állítani, amekkorában pont elfér a szöveg. Az AutoSize erre pont jó lenne, csak éppen nem működik egyesített cellák esetében, ezt Billy Gates is elismeri. Akkor hogyan?

 

Kerülő úton megoldottam, de kíváncsi lennék, kinek milyen ötlete van erre.

Delila10 Creative Commons License 2014.02.04 0 0 24041

Sebaj, a listával bevitt alcsoportoknál továbbra is tudja az ofszetes hivatkozást. Az utóbbit azért díjazom, mert a választ-hol.van párossal több tétel esetén már nagyon észnél kell lenni a képlet bevitelekor (elírás, szintaktika).

 

Köszönöm a hosszas kísérletezgetést. :)

Előzmény: Fferi50 (24040)
Fferi50 Creative Commons License 2014.02.03 0 0 24040

Szia!

 

Sajnos nem megy, egy teljesen új excelt nyitottam és úgy vittem be saját adatokat. Akkor sem ette meg az indirektet offsettel kombinálva. Átok-átok???

 

A visszaküldött füzet az volt, amit te feltettél, csak az érvényesítést babráltam benne és mentettem 2010-el.

 

Üdv.

Előzmény: Delila10 (24039)
Delila10 Creative Commons License 2014.02.03 0 0 24039

NE az általam küldött füzetbe vidd be az ofszetes-indirektes megoldást, akkor működnie kell a 2010-ben is.

A választ-os megy nálam a te füzetedben.

Előzmény: Fferi50 (24038)
Fferi50 Creative Commons License 2014.02.03 0 0 24038

Szia!

 

Nézd meg lsz. ezt a módosított verziót, működik-e nálad?

 

http://data.hu/get/7379988/index.xlsx

 

Egyébként nálam 2010-en új munkafüzetben sem működik az indirektes mód.

De nem adom fel, még kísérletezek vele.

 

Üdv.

Előzmény: Delila10 (24037)
Delila10 Creative Commons License 2014.02.03 0 0 24037

Az én érvényesítésemmel van baj. A "kedvedért" bevittem a választ, hol.van párost, azt sem fogadja el.

Tegnap estig semmi baja nem volt sem az ofszettel, sem az indirekttel.

 

A két utóbbival egy vadiúj füzet nálad is elfogadja, ha kipróbálod.

 

Kösz a fáradozást.

Előzmény: Fferi50 (24036)
Fferi50 Creative Commons License 2014.02.03 0 0 24036

Szia!

 

Nekem úgy tűnik, az adatérvényesítési képletben az indirekt nem képes érzékelni az elnevezett tartomány eltolással(offsettel) történt meghatározását. Nem tudom, hogy amíg jól működött, akkor hogyan volt a név meghatározva.

Viszont a =Választ(hol.van(a1;F1:F2;0);Név,Város) működik az eltolásos verzió esetén is.  (sorry,sorry,sorry).

 

Üdv.

 

Előzmény: Delila10 (24034)
Fferi50 Creative Commons License 2014.02.03 0 0 24035

Egyenlőre azt látom, hogy a névhez tartozó tartományt nem képes "megfogni". Nem működik a names(1).referstorange.select, pedig a refersto kiirja a képletet rá.

 

Ha többet tudok, jelentkezek, ha net közelben leszel írj.

 

Üdv.

Előzmény: Delila10 (24034)
Delila10 Creative Commons License 2014.02.03 0 0 24034

Ímé:

http://data.hu/get/7379121/index.xlsx

 

Lehet, ha kiértékelted, nem lesz már időm válaszolni, el kell mennem a net közeléből.

Előzmény: Fferi50 (24033)
Fferi50 Creative Commons License 2014.02.03 0 0 24033

Felteszed valahova, hogy kipróbáljuk, másnál mit művel?

 

Előzmény: Delila10 (24032)
Delila10 Creative Commons License 2014.02.03 0 0 24032

Kb. 22-szer alkottam újra. :(

Előzmény: Fferi50 (24031)
Fferi50 Creative Commons License 2014.02.03 0 0 24031

Tuti, hogy a név ugyanaz, mint ami az A1-ben van (semmi szóköz, stb.)?

Én törölném és megkreálnám mégegyszer a nevet.

 

Üdv.

Előzmény: Delila10 (24030)
Delila10 Creative Commons License 2014.02.03 0 0 24030

A második legördülő üres, nincs miből választani.

Előzmény: Fferi50 (24027)
Delila10 Creative Commons License 2014.02.03 0 0 24029

1 füzetben 1 lapon, munkafüzet szint.

Előzmény: Fferi50 (24028)
Fferi50 Creative Commons License 2014.02.03 0 0 24028

Teljesen buta kérdések:

 

  • ugyanazon a munkalapon vagy?
  • ugyanabban a munkafüzetben?
  • a név munkafüzet szinten vagy munkalap szinten van megadva?

 

Előzmény: Delila10 (24025)
Fferi50 Creative Commons License 2014.02.03 0 0 24027

És mi történik, ha azt mondod neki, hogy folytatod?

 

 

Előzmény: Delila10 (24025)
Fferi50 Creative Commons License 2014.02.03 0 0 24026

Szia!

 

Rendben, és mi van az A1 cellában? Ugyanaz mint aminek elnevezted a tartományt??

 

Ezért lenne jó képet látni.

 

Mert ha mindhárom excel ugyanazt reklamálja, lehet mégis nekik van igazuk....

 

Üdv.

Előzmény: Delila10 (24024)
Delila10 Creative Commons License 2014.02.03 0 0 24025

A hivatkozott A1 cellában ott csücsül az egyik elnevezett tartomány neve.

 

 

Előzmény: Fferi50 (24023)
Delila10 Creative Commons License 2014.02.03 0 0 24024

Azt, hogy =indirekt(a1)

 

A tegnapi 2 legördülős példáról van szó. A névadás működik, a névkezelő kijelöli az elnevezett tartományt.

Előzmény: Fferi50 (24023)
Fferi50 Creative Commons License 2014.02.03 0 0 24023

Szia!

 

Megmutatnád képen, hogy mit nem vesz be? 

 

Üdv.

 

 

Előzmény: Delila10 (24022)
Delila10 Creative Commons License 2014.02.03 0 0 24022

Ma reggel óta érvényesítésben nem működik nálam az INDIREKT függvény. 3 Excel verzió van fent a gépemen, és egyikben sem tudom rábeszélni, pedig eddig mindhárom elfogadta.

 

Előbb mindháromnál beindítottam a javítást, majd törlés, újra telepítés. Eredmény: semmi.

 

A lapokon nincs gond a függvénnyel, csakis az érvényesítésben.

 

Tudna valaki segíteni?

Sánta Kutya (SK) Creative Commons License 2014.02.03 0 0 24021
Előzmény: hajingalo1986 (24020)
hajingalo1986 Creative Commons License 2014.02.03 0 0 24020

Sziasztok.

 

lenne egy kérdésem. lenne egy olyan feladat féleség, hogy adott pár db kép(körte, alma, szilva banán ), 

ha az A2-be beirom hogy banán, akkor az A1-be a banán képét kell hogy berakja. 

ezt hogyan tudom megcsinálni? pl ha azt irom be hogy szilva, akkor pedig a szilva képét rakja be.

 

valahogy rögziteni kell a képet pl az A10-es cellához gondolom. de azt is hogy kell?

 

köszönöm válaszotokat előre is.

 

Fferi50 Creative Commons License 2014.02.03 0 0 24019

Nagyon szívesen!  Sajnálom, hogy az első képnél nem ugrott be ez a korlátozás (mármint a 2D-3D).

 

Üdv.

Előzmény: Törölt nick (24018)
Törölt nick Creative Commons License 2014.02.03 0 0 24018

Igen, így sikerült, köszönöm szépen!

Előzmény: Fferi50 (24017)
Fferi50 Creative Commons License 2014.02.03 0 0 24017

Szia!

 

A kép alapján a 4 adatsor most térhatású. Induljuk ki ebből az állapotból.

Próbáld meg a következőt:

  • a diagramra valahol jobb egérgombbal kattintasz (célszerűen egy olyan helyen, ahol nincs sem adat, sem tengely)
  • kiválasztod a más diagramtípust
  • megjelenik a képeden is látható beállító ablak
  • itt kiválasztod az oszlopok közül a másodikat  - halmozott oszlop
  • OK

Ezzel átalakítottad a diagramot 2 dimenziósra.

 

 

Most kijelölöd az összesítő adatsort:

  • jobb egérgomb
  • sorozat-diagramtípus
  • vonaldiagram típusból kiválasztod a neked tetszőt
  • OK

Ezután úgy formázod a vonalat ahogy szeretnéd. Az oszlopdiagramok színezését is tetszés szerint alakíthatod, akár színátmenetesre is, hogy úgy nézzen ki mintha térben lenne.

 

Remélem, sikerülni fog. 

 

Most egy darabig még itt leszek, várom az eredményt.

 

Üdv.

Előzmény: Törölt nick (24015)
Fferi50 Creative Commons License 2014.02.03 0 0 24016

Szia!

 

Szerintem ne fecséreld el a drága idődet erre. Nézz körül a készletnyilvántartó programok között, azokat már megírták profin és szinte biztos, hogy lehet excelbe exportálni belőlük.

Vagy:

prog.hu állás rovatban hirdesd meg, biztosan lesznek akik profin és gyorsan megcsinálják Neked.

 

Úgy gondolom, ezek lehetnének a legjobb megoldások számodra.

 

(Itt minden lépéssel külön kellene foglalkozni, az összefüggések pedig ugye nálad vannak....)

 

Üdv.

Előzmény: akhvel (24007)
Törölt nick Creative Commons License 2014.02.03 0 0 24015

Szia!

 

Sajnos, úgy sem jó :-( Nálad ez működik? Esetleg, tudnál egy képet betenni?

Előzmény: Fferi50 (24014)
Fferi50 Creative Commons License 2014.02.03 0 0 24014

Szia!

 

Azt hiszem, közben rájöttem mi a hiba: Nem lehet 2 dimenziós és 3 dimenziós elemeket kombinálni, illetve a 3D diagram csak egy fajta lehet.

Ha összesítős diagramot akarsz, akkor 2D-s megjelenítést kell választanod, pl a második oszlop diagram és ehhez tudod az összesített adatokat vonaldiagram formájában hozzáadni.

 

Üdv.

Előzmény: Törölt nick (24013)
Törölt nick Creative Commons License 2014.02.03 0 0 24013

Előzmény: Fferi50 (24011)
Fferi50 Creative Commons License 2014.02.02 0 0 24012

Vagy legalább képernyő képet a beállításról - amikor még nem nyomtál OK-t rá, az előttit.

 

Üdv.

Előzmény: Fferi50 (24011)
Fferi50 Creative Commons License 2014.02.02 0 0 24011

Szia!

 

Ezt innen nem tudom, az a gyanúm, hogy nem csak egy adatsort jelöltél ki.

De feltehetnéd kamu adatokkal és akkor biztosabbat tudnánk mondani.

 

Üdv.

Előzmény: Törölt nick (24009)
Törölt nick Creative Commons License 2014.02.02 0 0 24010

:-))

Előzmény: Delila10 (23998)
Törölt nick Creative Commons License 2014.02.02 0 0 24009

Szia!

 

Kijelöltem az összesítő adatsort, majd a sorozat-diagram módosítása után az egész diagramon átállította, nem csak a kijelölt adatsoron. Vajon mit rontok el?   

Előzmény: Fferi50 (24000)
akhvel Creative Commons License 2014.02.02 0 0 24008

"valószínűleg nem szóköz az, amit szóköznek látsz"

 

Óriási ötlet!!! Miket szívtam én is ilyenek miatt és ez eszembe sem jutott, hogy a szóköz nem biztos, hogy az, bár annak látszik...

Előzmény: Fferi50 (24005)
akhvel Creative Commons License 2014.02.02 0 0 24007

Microsoft Office for Mac Excel 2011 (ott rohadjon meg ahol megszületett az aki ellopta thinkpadem, emiatt az asszony régi macbookjára vagyok száműzve) :(

 

Sosem tanultam az excel használatát, igazából vendéglátós vagyok és egy frankó, részletes, gongyölíthető, pivot táblásítható, standot szeretnék létrehozni, amiből statisztikák, stb. is lehívható, illetve tudja kezelni a napi bejövő árukészletet, stb.

 

De az excel ismerete egyébként hihetetlenül megkönnyíti egy vállalkozó életét, egészen elképszető dolgokat lehet vele csinálni. Ennek lenne értelme informatika órákon.

 

Ha elkészül majd feltöltöm nektek véleményezésre. Igazából van még egy nagyon nehéz rész benne, ha ezt a csoportosítós részt megoldottam akkor majd azzal még hozzátok fordulok, de egyébként utána csak adatfelvitel és sziszifuszi munka.

 

Bocs az OFF-ért.

 

De visszakanyarodva. A következő probléma az lesz, hogy fel fogom vinni az adatokat, kvázi, mintha bevételeket összesítenék dámutom alapján. 

 

Ekkor egy mérést kell végezni, aminek az eredmélnyeit fel kell vinni. És a felgönyölített bejövő áru mennyisége minusz a mérés adja meg a fogyást.

 

És ezt a fogyást kéne majd Pivot táblába rendezni.

 

Ugye a rengeteg adat lesz, ilyen kb egy sor: 

jan1; Rövidek; Vodkák; Sobieski; 1l; 3600 Ft

 

És ezekből nagyon sok. Ezeket mind göngyölíteni, akár kiemelni időszakokat,stb. Tulajdonképpen egy készletnyilvántartó táblát szeretnék összehozni, amiben van lehetőség az ellenőrzésre is.

 

Azért mondtam ezt el, mert ha esetleg lapul a winchestereteken egy ilyen készlet tábla, akkor lehet, hogy annak az átszabása egyszerűbb volna, mint felépíteni egy vadi újat a nulláról. :)

 

Előre is köszi a segítséget, még ma éjjel szerintem megnézem a "Choose-Match" módszert.

 

Alex

Előzmény: Fferi50 (23982)
Zsolteee75 Creative Commons License 2014.02.02 0 0 24006

Hú Fferi50! Nagy ász vagy! Így jó! Mekkora ötlet, erre nem is gondoltam! Működik, így már jó!

 

Nagyon köszönöm!

 

Üdv.:

Zsoltee

Előzmény: Fferi50 (24005)
Fferi50 Creative Commons License 2014.02.02 0 0 24005

Szia!

 

Próbáld így:

 

A cellában kijelölöd azt a karaktert, amit ki akarsz szedni, másol, utána kilépsz a cellából.

A keresés/csere panelbe a kereséshez ctrl+v behozza a kimásolt részt.

A csere részbe "" vagy üresen hagyod. (Mivel valószínűleg nem szóköz az, amit szóköznek látsz.)

 

Üdv.

Előzmény: Zsolteee75 (24003)
akhvel Creative Commons License 2014.02.02 0 0 24004

Én is találkoztam ezzel a jelenséggel, mikor google spreadsheetről másoltam be számsorokat sima excelbe. Én úgy oldottam meg, hogy a forrás helyén format cells alatt sima numbers-re állítottam és kivettem a 1000 separator-t.

 

Sajnos a szóközös keresős nem veszi ki belőle, én is próbálkoztam ezzel. Egyébként meg az szerintem ctrl+f.

Előzmény: Zsolteee75 (24003)
Zsolteee75 Creative Commons License 2014.02.02 0 0 24003

Köszönöm hogy írtál, de ha ilyen egyszerű lenne, és működne akkor nem írtam volta, mert próbáltam ezt is, nem megy...

Előzmény: tbando (24002)
tbando Creative Commons License 2014.02.02 0 0 24002

Megkeresed  a  Keresés és csere párbeszédpanelt, ahol

 

Keresett szöveg: szóközt gépelsz be

Csere erre: nem írsz be semmit, vagy ""

 

majd az összes cseréje gombra kattintasz. 

 

Ha olyan cellák is vannak a munkalapon amelyekben nem akarod kiszedni a szőközöket, akkor a cseretartományt kijelölöd.

 

Érdekes, hogy a súgóból nem lehet megtudni, hogy hol van a Keresés és Csere panel. Legalábbis nem találtam a 2007 sugóban. Ebben a Kezdőlap menűszalag jobboldalán. A 2003-ban meg a Szerkesztés menüpont alatt.

Előzmény: Zsolteee75 (24001)
Zsolteee75 Creative Commons License 2014.02.02 0 0 24001

Sziasztok!

 

A segítségeteket szeretném kérni! Egy oszlopban 650 soron keresztül számok vannak, amivel számolni szeretnék, de a számok ezres értékenként szőközökkel vannak elválasztva tehát így néz ki: 112 897 654 254. Hogyan, mivel tudom egyszerűen, gyorsan átalakítani a számokat úgy, hogy számolni tudjak velük, ergo eltüntetni a szóközöket?

 

Köszönöm!

 

Üdv.:

Zsoltee

Fferi50 Creative Commons License 2014.02.02 0 0 24000

Szia!

 

Tehát:

Beszúrod az összesítő adatokat (ez is az első adatsoroknak megfelelő formátumú lesz).

Kijelölöd ezt az adatsort.

Jobb egérgomb.

Sorozat-diagramtípus módosítása.

Itt kiválasztod a neked tetsző vonaldiagramot.

 

Utána leformázod ezt az adatsort tetszésed szerint.

 

Üdv.

Előzmény: Törölt nick (23996)
Fferi50 Creative Commons License 2014.02.02 0 0 23999

Szia!

 

Nem kell offsetes definiálás akkor sem és listának sem kell lennie, ha a névvel megjelölt tartományba beszúrsz egy cellát és oda írod be az új értéket.

Ilyenkor az excel módosítja az összes hivatkozást.

 

Üdv.

Előzmény: Delila10 (23995)
Delila10 Creative Commons License 2014.02.02 0 0 23998

Járulj hozzá a pörgéshez, ne henyélj! :)

Előzmény: Törölt nick (23997)
Törölt nick Creative Commons License 2014.02.02 0 0 23997

Szia Jimmy!

 

Bizony, régen jártam erre, de nagyon örvendek, hogy ilyen jól pörög a topic! :-)

Előzmény: Törölt nick (23945)
Törölt nick Creative Commons License 2014.02.02 0 0 23996

Szia!

 

Bocsánat, de csak most tudok válaszolni. Köszönöm szépen, azt elfelejtettem írni, hogy Excel 2007-ben kell valahogy megoldani.  Itt pedig nem találom az alábbi beállítási lehetőséget:

 

"kiválasztod a vonaldiagramot és bejelölöd, hogy csak erre az adatsorra"

 

 

Előzmény: Fferi50 (23943)
Delila10 Creative Commons License 2014.02.02 0 0 23995

A névadásnál a hivatkozáshoz.

 

Közben megnéztem az SQL által belinkelt YouTube-os változatot, ahol a tartomány elemeit egy listává alakított tartományba foglalja a videó készítője. Ebben az esetben nem kell az ofszetes hivatkozás.

Előzmény: tbando (23994)
tbando Creative Commons License 2014.02.02 0 0 23994

Teccik a dinamikus tartományt meghatározó offseted. De hova kell beírni? A munkalapra? A Névadóba? Vagy netántán makró?

Előzmény: Delila10 (23987)
tbando Creative Commons License 2014.02.02 0 0 23993

Az indirect data validation nálam is hibát jelzett. De ettől még a listázása primán működött.

Előzmény: akhvel (23978)
Fferi50 Creative Commons License 2014.02.02 0 0 23992

Ezen nem fogunk vitatkozni :))

 

Üdv.

Előzmény: Delila10 (23991)
Delila10 Creative Commons License 2014.02.02 0 0 23991

Én meg az indirektet. :D

Előzmény: Fferi50 (23990)
Fferi50 Creative Commons License 2014.02.02 0 0 23990

Szia!

 

Indirekt helyett én jobban szeretem a Choose-t használni a Match-al kombinálva.

Ebben az esetben nem kell a kategóriák meghatározásánál az Excel névkonvencióit követni, elég csak az alcsoportok tartomány neveinél.

 

A dinamikus név megadás viszont nagyon tetszik.

 

Üdv.

Előzmény: Delila10 (23987)
Fferi50 Creative Commons License 2014.02.02 0 0 23989

Akkor szerintem megválaszoltam.

 

Üdv.

Előzmény: csiriprelek (23988)
csiriprelek Creative Commons License 2014.02.02 0 0 23988

az "egyszer szerepeljent" úgy értettem, hogy oszloponként egyszer szerepeljen. Természetesen azonos adat lehet A-ban és B-ben is, De C-ben csak az legyen ami A-ban is van

Előzmény: Fferi50 (23986)
Delila10 Creative Commons License 2014.02.02 0 0 23987

A dinamikus tartományt így tudod beállítani (a példában az E oszlopra) a hivatkozás rovatban:

 

=offset($E$1,0,0,counta($E:$E),1)

 

A counta a magyar darab2 eredetije, ami megszámlálja, hány kitöltött cella van az E oszlopban. FONTOS, hogy a cellák egymást követően legyenek kitöltve, és ne legyenek más, nem az elnevezendő tartományhoz tartozó adatok az oszlopban. Bár ha tudod, hogy mondjuk 20 értéknél nem lesz több a kategóriában, akkor a counta($E$1:$E$20) is jó. A következő kategória kezdődhet a 30. sorban, ahol a képlet

 

=offset($E$30,0,0,counta($E$30:$E$50),1)

 

Az első azt jelenti, hogy az E1 cellából kiindulva kezdődik a tartományod. A kezdet helye ettől nulla sorral lentebb, és nulla oszloppal jobbra (tehát E1-ben) lesz. A sorok száma annyi, ahány cella pillanatnyilag ki van töltve az oszlopban, az oszlopok száma pedig 1.

 

Mikor a 2-3, vagy több kategóriát elnevezted, jöhet az első érvényesítés bevitele. A Forrás mezőben állva F3-ra megkapod az elnevezett tartományok listáját, onnan kiválasztod a példa szerinti Kategóriák nevet.

A második érvényesítésnél a forráshoz beírod az indirect függvényt.

Előzmény: akhvel (23978)
Fferi50 Creative Commons License 2014.02.02 0 0 23986

Szia!

 

Egyrészt, szerintem kaptál arra is megoldást (Delila 10 23963).

 

Másrészt most sem egyértelmű a kérdésed.

 

"azt szeretném hogy a C oszlopban csak azok az adatok jelenjenek meg amelyek csak A-ban vannak. Viszont mindegyik oszlopban egy adat csak egyszer szerepeljen"

 

Ez így mindjárt két kérdésnek látszik:

  • ne legyen az A és B oszlopban ismétlődés
  • a C oszlopban azok az adatok jelenjenek meg, amelyek csak A-ban vannak.

Az ismétlődés eltávolítására ajánlom az adatok - ismétlődések eltávolítása menüpontot.

 

Ha már nincsenek ismétlődések az oszlopokban, akkor a C1 képlete:

 =ha(darabteli(B:B;A1);"";A1) 

(ahogy Sánta Kutya írta volt 23961)

 

Üdv.

 

Előzmény: csiriprelek (23985)
csiriprelek Creative Commons License 2014.02.02 0 0 23985

sziasztok!

tegnap már kérdeztem, de lehet,hogy rosszul fogalmaztam, ezért megpróbálom ismét:

olyan képletet szeretnék hogy:

van három oszlop, A és B oszlopban adatok vannak és azt szeretném hogy a C oszlopban csak azok az adatok jelenjenek meg amelyek csak A-ban vannak. Viszont mindegyik oszlopban egy adat csak egyszer szerepeljen

Köszönöm szépen

Vax Creative Commons License 2014.02.02 0 0 23984

Volt már hasonló kérdés, igaz, régen. Érdemes megnézni az akkori válaszokat is, talán segít.

http://forum.index.hu/Article/showArticle?na_start=9084&na_step=50&t=9009340&na_order=

 

Előzmény: Neumann Alex (23969)
Fferi50 Creative Commons License 2014.02.02 0 0 23983

Még valami!

 

Az a hiba nem probléma egyébként, megszűnik, ha az A oszlopban egy cellát kiválasztasz.

Mivel a cell("address") egyéb paraméterek híján a legutoljára változtatott cella címét adja vissza, természetes, hogy amikor a képletet beírod, hibát jelez, mivel saját értékét keresi és az persze nincs az adott tartományban.

De ha az A oszlopban dolgozol, ott már csak olyan értéket tudsz választani, ami megtalálható a hivatkozott tartományban.

 

Ezért is mondtam többek között, hogy felejtsd el.

 

Sokkal egyszerűbb és jobb a Choose használata a Match -al.

 

Üdv.

Előzmény: akhvel (23981)
Fferi50 Creative Commons License 2014.02.02 0 0 23982

Szia!

 

Ezt felejtsd el, túlkomplikáltam!!!

 

Használd a neveket és a 23979-ben javasoltakat lsz.

 

Hidd el, nevekkel sokkal egyszerűbb.

 

B13 validation source =Choose(MATCH(A13,Kategóriák,0),Kategória_1,Kategória_2)

 

Milyen excel verziót használsz? (2003,2007,2010), azt látom, hogy angolt.

 

Üdv.

Előzmény: akhvel (23981)
akhvel Creative Commons License 2014.02.02 0 0 23981

Hali Fferi50!

 

A te megoldásodnál itt elakadtam:

 

N1 cella =VLOOKUP(INDIRECT(CELL("address"));G1:H2;2;0) itt lookup_value hibát kapok.

 

Mit rontottam el?

 

Alex

Előzmény: Fferi50 (23977)
Fferi50 Creative Commons License 2014.02.02 0 0 23980

Szia!

 

Az offset kérdéseded nem egészen értem.

 

Mit szeretnél pontosan?

 

Üdv.

Előzmény: akhvel (23978)
Fferi50 Creative Commons License 2014.02.02 0 0 23979

Szia!

 

a data validation source "=$A$1:$A$2" az excel kedvenc vesszőparipája. Az idézőjeleket töröld ki és úgy jó lesz.

 

A 23977-s hozzászólásomat felejtsd el, nagyon túlkomplikáltam.

Sokkal egyszerűbben is meg lehet oldani:

Ha maradunk Delila példájánál, akkor

az A1 cella: Első kategória

az A2 cella: Második kategória

 

a B1 cella: Kategória_1

A B2 cella: Kategória_2

 

A B13 data validation source pedig legyen ez:

 

=Choose(MATCH(A13,Kategóriák,0),Kategória_1,Kategória_2)

 

Kategóriák névhez tartozik az A1:A2 cella. A Kategória_1, Kategória_2 cellák pedig Delila hozzászólása szerint.

 

Nevek hozzárendelése tartományhoz:

Sajnos csak magyarul tudom mondani, mert magyar az Excelem:

Képletek - név megadása - megjelenik a párbeszéd panel, ahol ki tudod jelölni a tartományt, illetve megadhatod a nevet. Remélem, valamennyire hasonlítanak az angol nevekre a fordítások.

 

 

Üdv.

Előzmény: akhvel (23978)
akhvel Creative Commons License 2014.02.02 0 0 23978

Köszi a gyors reagokat!

 

A helyzet az, hogy egyik megoldással sem tudtam megcsinálni.

 

Egyrészről, mert még sosem csináltam makrót, annak még utána kell olvasnom és nem volt rá időm.

Másrészről, mert Delila10 megoldását noha végigcsináltam, de nem tudtam hozzárendelni a tartományokat. Tehát képtelen voltam megcsinálni a B13 legördülő cellát.

 

A13 cellában a data validation source "=$A$1:$A$2"

B13 cellában a data validation source "=INDIRECT(A13)" ? Mert erre nekem hibát ad ki.

 

Illetve az OFFSET függvénnyel is vannak bajaim, de annak majd utána olvasok, hogy hogyan is kéne használni. Mert elég egyszerűnek tűnik a leírás alapján, mégsem sikerült alkalmaznom.

 

Elvileg ezt kéne írnom az A1 cellába: =OFFSET(D1;0;1;13;1) itt a zárójelben lévő rész azt jelenti, hogy =OFFSET(D1 cellától;0 sorral lejjebb;1 oszloppal jobbra;13 sor magasságban;1 sor szélességben), és erre D1 reference errort kapok. De nem értem hogy hogyan javíthatnám ki.

 

Delila10, egészen pontosan te milyen képleteket írtál és hova?

 

Előre is köszi!

 

Alex

 

Előzmény: Delila10 (23974)
Fferi50 Creative Commons License 2014.02.02 0 0 23977

Szia!

 

Továbbgondoltam egy kicsit a problémát és a következőre jutottam:

 

Ha a kategóriák elnevezését "szokványos módon" szeretnénk látni, akkor csinálni kell egy táblázatot, ahol meg lehet keresni a kategóriához tartozó nevet, majd onnan már lehet az érvényesítésre hivatkozni. Már csak az volt a gondom, hogy honnan tudjam meg, melyik cellában vagyunk éppen. Erre jó a cella ("cím") függvény.

 

A B oszlop celláinak az érvényesítése: =indirekt($N$1)

 

N1 cella képlete =FKERES(INDIREKT(CELLA("cím"));G1:H2;2;0)

 

G1:G2 tartalmazza az A oszlop celláinak érvényesítését - ezt el is nevezhetjük Kategóriáknak

H1:H2 tartalmazza az alcsoportok NEVÉT, azaz ahogyan el van nevezve a tartomány.

 

Az N1 cella értéke akkor változik, ha a munkalapon egy cella értékét megváltoztatjuk (ha az automatikus kalkuláció van érvényben, ha nincs, akkor nyomni kell egy F9-et).

 

Tehát, ha az A oszlopba valahol kiválasztunk egy kategória értéket, akkor az annak megfelelő alcsoport értékek közül lehet választani.

 

Hátránya: Ezzel a megoldással a B oszlop minden cellájában változik az érvényesítési tartomány (ahol ilyen meg van adva).

 

 

Előzmény: Delila10 (23974)
Fferi50 Creative Commons License 2014.02.02 0 0 23976

Szia!

 

Ez nagyon szimpatikus, de

  • a név megkötések nem feltétlenül felhasználóbarát eredményt adnak (szóköz helyett aláhúzás, stb.)
  • az érvényesítést a b oszlopban külön meg kell oldani, persze lehet a képletet lehúzni de akkor is (és ott marad a másolt - esetleg már nem is helyes - érték a cellában).

A makróban nincs a kategóriákra megkötés és az érvényesítés is megoldódik, sőt az adott kategória első értéke is kiírható azonnal a cellába.

 

Üdv.

Előzmény: Delila10 (23974)
Sánta Kutya (SK) Creative Commons License 2014.02.02 0 0 23975

Hurrá! Pont egy ilyen megoldáson kezdtem törni a fejem, mert kihívásnak tűnt a feladat, de szerintem nem jöttem volna rá.

Előzmény: Delila10 (23974)
Delila10 Creative Commons License 2014.02.02 0 0 23974

Nem szükséges makróval elintézni, egyszerűen megoldható anélkül is.

 

A különböző tartományoknak nevet adsz.
Az A1:A2 nálam a "Kategória" névre hallgat.
Fontos, hogy az allisták azt a nevet kapják, amelyikhez főlista-beli kategóriába tartoznak. Az E1:E13 tartomány neve Kategória_1, az F1:F11-é Kategória_2. A tartományok méretét az OFSZET függvény segítségével rugalmasan változtathatod.

A Kategória egyes elemeinek a nevében nem lehet szóköz, és nem szerepelhet önállóan számjegy.

Az első érvényesítés az A13 cellában van, a lista forrása: =Kategória
A B13-as érvényesítésnél a forrás: =INDIREKT(A13)

 

Előzmény: tbando (23970)
Fferi50 Creative Commons License 2014.02.02 0 0 23973

Szia!

 

Nem kell másolgatni az alcsoportokat egy másik helyre. Mi van akkor, ha az alcsoportok nem azonos számú elemből áll?

Pl.

sör k1:k5

bor l1:l8

pálinka: m1:m3

 

Ha csak simán átmásolod, akkor két eset lehet: vagy üres sorok maradnak a legördülőben, vagy nem látszik minden sor.

 

Ezért másképp kell megoldani:

 

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target = "sör" Then range("B1").validation.modify formula1:="=k1:k5"

If Target = "bor" Then range("B1").validation.modify formula1:="=l1:l10"
If Target = "pálinka" Then range("B1").validation.modify formula1:="=m1:m3"
Application.EnableEvents = True
End Sub

 

Természetesen a "B1" az egy példa cella és fontos, hogy már legyen Datavalidation a cellában. Ha nincs akkor a következő az eljárás (a validation.modify helyett)

range("B1").validation.add   Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=k1:k5",Operator:=xlBetween

 

Így akár egy oszlopban is lehethek az alcsoportok, csak egymás után következzenek a tételek és ne keveredjenek.

 

Üdv.

 

 

Előzmény: tbando (23970)
Sánta Kutya (SK) Creative Commons License 2014.02.02 0 0 23972

Át is állítottam, mégpedig miután itt a topikban segítséget kaptam. De amiről beszélek az az  algebra, te magad írtad, hogy az nem működik jól ebben a formátumban sem. Természetesen egy konkrét feladatban mindig meg lehet oldani az általad leírt függvényekkel valahogy, erre mondtam, hogy barkácsolás. A tiszta megoldás az, ami a belinkelt SQL manuálban van.

Előzmény: tbando (23971)
tbando Creative Commons License 2014.02.02 0 0 23971

Ha átállítottad volna formátumot [ó]:00:00-ra, akkor bármilyen hosszú futóverseny időeredményét   gond nélkül jegyezhetted volna fel óra-perc-mp-ben.  Persze én is csak most vagyok ilyen okos, miután a Neomatik példa kapcsán rájöttem, hogy mi fenére is való ez a formátum :))).

Előzmény: Sánta Kutya (SK) (23956)
tbando Creative Commons License 2014.02.02 0 0 23970

Ezt úgy tudod megoldani,  hogy egy  munkalap-change makró az aktuális alcsoportot másolja be az alcsoport listába. Itt pl. 

 

Lista:

főcsoport: e1:e3

alcsoport:g1:g3

 

Féleségek:

   sör: k1:k3

   bor: l1:l3

   pálinka: m1:m3

 

és a makró: amit nem másolhatsz be akárhova, csak annak a munkalapnak a moduljába, amelyiken van a lista

 

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target = "sör" Then Range("k1:k3").Copy Range("g1")
If Target = "bor" Then Range("l1:l3").Copy Range("g1")
If Target = "palinka" Then Range("m1:m3").Copy Range("g1")
Application.EnableEvents = True
End Sub

 

 

 

Előzmény: Neumann Alex (23969)
Neumann Alex Creative Commons License 2014.02.02 0 0 23969

Sziasztok,

 

az alábbiakban kérném a tanácsotokat:

 

Van egy excel táblám az alábbi oszlopokkal:

 

Áru főcsoport, Áru alcsoport

 

Data Validation-el elértem, hogy legördülő listákból lehessen választani a cellákban, viszont azt nem tudom, hogy hogyan tudnám megcsinálni, hogy miután az Áru főcsoport oszlopban szűkítettem, utána az Áru alcsoportban már ne dobja fel az összes lehetőséget, csak az adott főcsoporthoz tartozót. 

 

Pl.

Áru főcsoportok: sör, bor, pálinka

Áru alcsoportok: világos, barna, búza, fehér, rosé, vörös, szilva, alma, barack

És hogyan tudnám megadni neki, hogy ezeket így csoportosítsa:

Sör: világos, barna, búza

Bor: fehér, rozé, vörös

Pálinka: szilva, alma, barack

 

Remélem érthetően magyaráztam, előre is köszi a segítséget!

 

Alex

pimre Creative Commons License 2014.02.01 0 0 23968

Köszönöm. Kipróbáltam, mindkettővel működik. Ezek közül csak a DoEvents-et ismertem, de valamiért azt hittem, hogy ez nem erre az esetre jó.

 

A Screenupdating-ről meg csak első pillanatban gondoltam, hogy ez lehet a ludas.

 

Előzmény: Törölt nick (23966)
Sánta Kutya (SK) Creative Commons License 2014.02.01 0 0 23967

Ha egyből elmondod mind a két kérést, az kb. annyi munka lett volna, mint az egyik egyedül.

Előzmény: csiriprelek (23962)
Törölt nick Creative Commons License 2014.02.01 0 0 23966

Egyébként az Application.Screenupdating-nek ehhez nem sok köze van szerintem.

A Me.Repaint helyett a DoEvents is jó.

 

Előzmény: pimre (23964)
Törölt nick Creative Commons License 2014.02.01 0 0 23965

Me.Repaint

Előzmény: pimre (23964)
pimre Creative Commons License 2014.02.01 0 0 23964

Van egy képernyőkezelési problémám. Egy UserFormon vagyok, és itt fut egy függvényem. A futás egy pillanatában szeretnék egy üzenetet küldeni a felhasználónak, hogy most hosszabb idejű adatszerkesztés folyik, és kis türelmet kérek. Erre egy címkét használok, ami az adott pillanatig nem látható (.visible=False), és itt az értékét True-ra váltom. 

 

Csakhogy ez a címke a programrész futása közben nem jelenik meg. Az Application.Screenupdating értéke true, tehát nem ezen múlik. Ha a programrészletbe egy break-et teszek, akkor megjelenik.

 

Ebből arra következtetek, hogy mivel a Userform futása alatt nincs mit frissülnie a képernyőnek, ezért nem érvényesül a címke megjelenítő beállítás. 

 

Kérdésem, hogy egyrészt jól gondolom-e a hiba okát, másfelől ha igen, akkor létezik-e parancs, amivel a futás közben frissíteni tudom a képernyőt?  

Delila10 Creative Commons License 2014.02.01 0 0 23963

=HA(ÉS(DARABTELI(B:B;A1);DARABTELI(A$1:A1;A1)<2);A1;"")

Előzmény: csiriprelek (23962)
csiriprelek Creative Commons License 2014.02.01 0 0 23962

Köszönöm

és akkor még egyet kérnék

ha egy oszlopban egy adat többször is szerepel, akkor egy adat csak egyszer jelenjen meg

Előzmény: Sánta Kutya (SK) (23961)
Sánta Kutya (SK) Creative Commons License 2014.02.01 0 0 23961

=HA(DARABTELI(B:B;A1);"";A1)

Előzmény: csiriprelek (23960)
csiriprelek Creative Commons License 2014.02.01 0 0 23960

Sziasztok!

Egy képletet szeretnék a következőre:

van két oszlop(A,B) adatokkal

a harmadik(C) oszlop azokat azokat az adatokat jelenítse meg amelyek csak az A oszlopban vannak

köszönöm

Törölt nick Creative Commons License 2014.02.01 0 0 23959

Szisz!

:)

Előzmény: NeomatiK (23958)
NeomatiK Creative Commons License 2014.02.01 0 0 23958

Szisztok!

 

NAP() fv.-nyel meg tudtam csinálni. Most már jó :)

 

=NAP(D1)*24*60+(ÓRA(D1))*60+PERC(D1)+(MPERC(D1)/60)

Sánta Kutya (SK) Creative Commons License 2014.02.01 0 0 23957

Ez az előbb írta tükrében logikus viselkedés, mert a nap() argumentuma nem időtartam, hanem dátum, és a 32 valóban 1900. febr. 1.

Tehát nem az a baj, hogy a nap nem százas, mert az, hanem hogy az időtartamkezelési képessége az Excelnek nem alakult ki a törzsfejlődés során. Ennélfogva az időtartamkezelés helyből barkácsolást jelent, csak ez nagyon kicsi számoknál nem mindig tűnik fel.

Előzmény: tbando (23954)
Sánta Kutya (SK) Creative Commons License 2014.02.01 0 0 23956

A másik megoldás külön szummázni az órákat, perceket, mp-ket.

Az Excel alapvetően időpontokkal számol, nem intervallumokkal. Ezt az emerek próbálják időtartamok kezelésére használni, és ez működik is, amíg át nem lépjük az egynapos határt.

(Én például futóversenyek eredményeivel dolgozom, és akkor szembesültem a problémával, amikor egy nagyon hosszú verseny időeredményei egy napnál hosszabbak lettek.)

Épp most néztem, hogy az SQL-ben ezt sokkal korrektebbül megoldották, van külön dátum meg intervallum, és ezeket kényelmesen, normálisan lehet összeadni meg kivonni. http://www.postgresql.org/docs/8.1/static/functions-datetime.html

Na ilyet az Excel nem tud.

Előzmény: tbando (23950)
tbando Creative Commons License 2014.02.01 0 0 23955

Ráadásul nem akármelyik február 1-t, hanem 1900. febr. 1-t :)))). 

Előzmény: tbando (23954)
tbando Creative Commons License 2014.02.01 0 0 23954

Hát nem leányálom valóban. Pl. épp most jöttem rá, hogy a Neomatiknak javasolt nap() függvény használata se 100-as, mert az meg a hónapokat vágja le. Tehát a nap(32) eredménye is 1, mert a febr 1 napját jelöli :))).

Előzmény: Fferi50 (23952)
tbando Creative Commons License 2014.01.31 0 0 23953

Még annyit hozzáfűznék: Ha a szumma idő formátumát átállítod általánosra 1,279942-t fog mutatni, amiből a törtrész a 6:43:07, amihez 1*24-t kell hozzáadnod, ha órákban akarod a teljes időhosszt kifejezni. 

Előzmény: tbando (23950)
Fferi50 Creative Commons License 2014.01.31 0 0 23952

Szia!

 

Ó, ez kiváló!

 

(De azért időadatokkal számolni akkor sem leányálom szerintem.)

 

Üdv.

Előzmény: tbando (23950)
Fferi50 Creative Commons License 2014.01.31 0 0 23951

Szia!

 

Az idő és dátum adatok nagyon ravaszul viselkednek az excelben. Ami a legfontosabb:

Az excel ezeket is számként tárolja és számként számol velük, a következők szerint:

A szám egész része jelenti a dátumot, a törtrésze pedig az időt. Ezért a megformázott idővel különösen nehéz bánni, célszerű a számolások idejére átalakítani számmá:

1 nap=24 óra =1, tehát 12 óra=0,5 , 3 óra 20 perc (=3*60+20)/24

 

Ezután már minden összeadás "normális számként" múködik. Utána pedig megformázhatod időnek.

Nekem legalábbis így sikerült használható és jó  időadatokat kapni.

 

(De az időformátumból közvetlenül számított értékekben soha nem bízok meg, az sajnos az excel "jóindulatától" függ, mennyire stimmel.) Na jó, biztos van erre valami más szabály is, de arra még nem jöttem rá.

 

Üdv.

Előzmény: NeomatiK (23949)
tbando Creative Commons License 2014.01.31 0 0 23950

Nem rontottál el semmit. Nem kell csinálnod semmit. Csak engedni, hogy az excel [ó]:pp:mp formátumban közölje az eredményt. Vagy ha nem abban adja, átállítod manuálisan.  Az ó:pp:mp formátum ugyanis csak az utolsó (töredék) nap óra-perc-mp-t mutatja. Tehát ennél a formátumnál a nap() függvény is kell a korrekt időhosszhoz.

Előzmény: NeomatiK (23949)
NeomatiK Creative Commons License 2014.01.31 0 0 23949

Vannak a D oszloban időtartamok kb 350db (minden sorban egy), ó:pp:mm formátum a cella.

 

Ha összeadom őket és ennek a formátum megegyezik, akkor hülyeség jön ki. Viszont ha [ó]:pp:mm lesz, akkor jól jön ki.

 

ó:pp:mm formátummal az oszlop összege 6:43:07

[ó]:pp:mm formátummal az oszlop összege 30:43:07 - ez a jó.

 

Ha ezt a lentit akarom átszámolni percekre, akkor (1-es sor az összeadás eredményének sora)

=(ÓRA(D1))*60+PERC(D1)+(MPERC(D1)/60) eredménye 403:7

ahelyett, hogy 30*60+43 lenne a percek helyén, azaz 1843.

 

Mit rontottam el?

Fferi50 Creative Commons License 2014.01.31 0 0 23948

Szia!

 

Sajnos a cellának nincs görgetési lehetősége.

A legegyszerűbb megoldás a sor magasságának állítása:  range("A1").rows.autofit /vagy a menüben kezdőlap-formátum-automatikus sormagasság. Persze ekkor az egész cellatartalmat látod.

 

Üdv.

 

Előzmény: NeomatiK (23947)
NeomatiK Creative Commons License 2014.01.31 0 0 23947

Szia!

 

Köszi, hogy ennyit dolgoztál vele. Azt hittem, van ennél egyszerűbb megoldás, a beállítások terén vagy valami ilyesmi :) Őszinte leszek: nagyobb az esélye, hogy ezt a makrót nem fogom alkalmazni, mint az, hogy fogom alkalmazni.

Előzmény: Fferi50 (23946)
Fferi50 Creative Commons License 2014.01.31 0 0 23946

Szia!

 

Ezt találtam ki:

 

Ha a cellából enterrel kilépsz, az utolsó 5 sort látod. Ha visszalépsz a cellára, akkor az elejétől látsz 5 sort. Most a FONTOS! Ha visszaléptél a cellára, F2 és utána enterrel lépj ki, akkor ismét az utolsó 5 sort fogod látni (ha nem így teszel, marad az első 5 sor). Ha alt+entert hagytál üresen a végén, azt levágja a makró.

 

Private Sub Worksheet_Change(ByVal Target As Range)
mutat Target
End Sub

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
vmutat Target
End Sub

 

Function mutat(ByRef cl As Range)
Dim aml() As String, xx As Integer, yy As Integer
If Not IsEmpty(cl) Then
   Application.EnableEvents = False
   If Right(cl.Value, 1) = vbLf Then cl.Value = Left(cl.Value, Len(cl.Value) - 1)

   aml = Split(cl.Value, vbLf)
   yy = UBound(aml)
   If yy > 4 Then
      cl.Value = ""
      For xx = yy - 4 To yy
         cl.Value = cl.Value & aml(xx) & vbLf
      Next
      For xx = 0 To yy - 5
         cl.Value = cl.Value & aml(xx) & IIf(xx <> yy - 5, vbLf, "")
      Next
      cl.Value = cl.Value & "FORD"
   End If
   Application.EnableEvents = True
End If
End Function

Function vmutat(ByRef cl As Range)
Dim aml() As String, xx As Integer, yy As Integer
If Not IsEmpty(cl) Then
 If Right(cl.Value, 4) = "FORD" Then
   Application.EnableEvents = False
   cl.Value = Left(cl.Value, Len(cl.Value) - 4)
   aml = Split(cl.Value, vbLf)
   yy = UBound(aml)
   If yy > 4 Then
      cl.Value = ""
      For xx = 5 To yy
         cl.Value = cl.Value & aml(xx) & vbLf
      Next
      For xx = 0 To 4
         cl.Value = cl.Value & aml(xx) & IIf(xx <> 4, vbLf, "")
      Next
   End If
   Application.EnableEvents = True
 End If
End If
End Function

 

Előzmény: NeomatiK (23944)
Törölt nick Creative Commons License 2014.01.31 0 0 23945

Üdv. Rég láttalak.

Előzmény: Törölt nick (23942)
NeomatiK Creative Commons License 2014.01.31 0 0 23944

Hello!

Van egy cella, alt+enterrel több sor van benne. Kb 5 sor fér el láthatóan egymás alatt a cellában, mert ekkora a sormagasság. Ha 5-nél több sor van, akkor nem látszik ez a többi.

A cella aljába írok amint írnom kell valamit bele, azaz a legalsó sor az aktuális, ez a legfrissebb. De az igazításnál nem sikerült úgy beállítanom, hogy ez az alsó látszódjon mindig és felfelé "csorduljon". Van ilyenre megoldás?

 

Jelen helyzet:

 

-------------------- cella felső szegélye

1.sor

2.sor

3.sor

4.sor

5.sor

------------------- cella alsó szegélye

6.sor (nem látszik)

7.sor (nem látszik)

8.sor (nem látszik)

 

 

Kívánt helyzet:

 

 

1.sor (nem látszik)

2.sor (nem látszik)

3.sor (nem látszik)

-------------------- cella felső szegélye

4.sor

5.sor

6.sor

7.sor

8.sor

------------------- cella alsó szegélye 

Fferi50 Creative Commons License 2014.01.31 0 0 23943

Szia!

 

Az összesített adatokat megjelenítő adatsornak válassz egy másik diagramtípust, pl. vonaldiagramot.

Ez úgy mehet, hogy

  • hozzáadod az összesített adatokat
  • kijelölöd ezt az adatsort
  • jobb egérgomb - diagram típusának megváltoztatása
  • kiválasztod a vonaldiagramot és bejelölöd, hogy csak erre az adatsorra
  • ok

Az adatsor vonalszínét, jelölőjét az adatsort kijelölve változtathatod.

 

Én úgy szoktam, hogy nincs vonal, nincs jelölő, csak a pontok cimkéje van az adatpont felett beállítással.

 

Üdv.

 

 

Előzmény: Törölt nick (23942)
Törölt nick Creative Commons License 2014.01.31 0 0 23942

Sziasztok!

 

Az szeretném megkérdezni, hogyan lehet halmozott oszlop diagramnál az oszlopok szumma értékeit is beilleszteni, ill. megjeleníteni?

 

Fferi50 Creative Commons License 2014.01.30 0 0 23941

Szia!

 

Viszont a dim ho() as string az már működik. Ezért gondolom, hogy bug.

 

Üdv.

Előzmény: tbando (23940)
tbando Creative Commons License 2014.01.30 0 0 23940

Azért az valahol nem normális, hogy míg a split-re a Dim ho as Variant-ot képessé lehet tenni addig a Dim ho() as Variant-tal ez nem megy.  Én legalábbis hiába próbálkoztam. 

Előzmény: Fferi50 (23937)
tbando Creative Commons License 2014.01.30 0 0 23939

:)))))

 

Sőt! A ho = Replace("Valami", "m", "k")  helyett elég ho="valami".  Tehát az értékadás beállítja a $változótípust, amire a split nem képes valamiért. Lehet hogy bug. Viszont képes valami nagyon meglepőre. Ami szintén meghökkentett.  A makródban sima változóként definiált  ho-t, képes tömbbé alakítani. Amit aztán egy újabb értékadás visszalakít változóvá J)))) 

 

Sub bont()
Dim ho As Variant
ho = "valami"
Debug.Print ho
ho = Split("jan-feb-marc-apr-maj-jun-jul-aug-szept-okt-nov-dec", "-")
Debug.Print ho(11)
''Debug.Print ho ENNÉL KIAKAD
ho = "tbando"
Debug.Print ho
End Sub

Előzmény: Fferi50 (23937)
BraunBela Creative Commons License 2014.01.30 0 0 23938

Köszönöm, neked is és tbandonak is, hogy foglalkoztatok a problémával!

Most nem tudom kipróbálni, mert nincs itthon a gépem. Majd holnap.

Előzmény: Törölt nick (23935)
Fferi50 Creative Commons License 2014.01.30 0 0 23937

Szia!

Akkor most lehet lehidalni:

A következő kis makró működik:

 

Sub bont()
Dim ho As Variant
ho = Replace("Valami", "m", "k")
Debug.Print ho
ho = 12
Debug.Print ho
ho = Split("jan-feb-marc-apr-maj-jun-jul-aug-szept-okt-nov-dec", "-")
Debug.Print UBound(ho)
End Sub

 

Itt már nem kényes arra a split, hogy a ho változó variantnak van definiálva!

 

Lehet hogy csak egy bug szemétkedik???

 

Üdv.

 

 

 

Előzmény: tbando (23936)
tbando Creative Commons License 2014.01.30 0 0 23936

Kösz. Az első kérdésemmel kapcsolatban azonban van még egy kis hiányérzetem.  Miért nem jó a variant? Én abban a hiszemben voltam/vagyok, hogy a variant bármelyik változótípus helyett használható. Ezek szerint nem minden esetben. Tudsz még eseteket amikor nem? 

Előzmény: Fferi50 (23932)
Törölt nick Creative Commons License 2014.01.30 0 0 23935

Próbáld ki ezt:

 

Sub pamparam()
    Dim Sh As Object, bat As String, RC As Long
    Dim FilePath As String, rng As Range, ws1 As Worksheet, ws2 As Worksheet
    
    Set Sh = CreateObject("WScript.Shell")
    bat = "E:\valami.bat"
    RC = Sh.Run(bat, 1, True)
    
    Set ws1 = ActiveSheet
    FilePath = "E:\ez a textfájl készült.txt"
    Workbooks.OpenText FilePath, xlWindows, , xlFixedWidth
    Set ws2 = ActiveSheet
    Set rng = ws2.Range("A1").Resize(ws2.UsedRange.Rows.Count)
    rng.Offset(, 1).Formula = "=RIGHT(A1,8)"
    rng.Offset(, 1).Copy
    ws1.Range("A1").PasteSpecial xlPasteValues
    
    ThisWorkbook.Names.Add Name:="tabla", RefersTo:=ws1.Range("A1").Resize(rng.Rows.Count)
    ws2.Parent.Close SaveChanges:=False
End Sub

Én a favágós Opentext módszert használtam a szövegfájl magnyitására. Alternatively, használhatod a tbando által közreadott QueryTables módszert, nekem azzal csak az a bajom, hogy nem ismer(t)em, és nem áll rá a kezem.

Előzmény: BraunBela (23924)
Törölt nick Creative Commons License 2014.01.30 0 0 23934

Ez viszont nem jó:

 

Dim ho() As Variant 

ho = Split("Jan-feb-mar-apr-may-june-july-Aug-sept-oct-nov-dec", "-")

Előzmény: Törölt nick (23933)
Törölt nick Creative Commons License 2014.01.30 0 0 23933

Dim ho As Variant 

ho = Split("Jan-feb-mar-apr-may-june-july-Aug-sept-oct-nov-dec", "-")

Hm..?

Előzmény: tbando (23931)
Fferi50 Creative Commons License 2014.01.30 0 0 23932

Szia!

 

1. A split eredménye string tömb.

 

2.Akkor érvényesül a compare, ha a delimiter nem különleges karakter, hanem pl. egy betű. Próbáld ki pl. a példát úgy, hogy a delimiter - helyett felváltva x és X.

A compare állásától függően más-más darabra bontja a szöveget.

 

Üdv.

Előzmény: tbando (23931)
tbando Creative Commons License 2014.01.30 0 0 23931

Jimmy jóvoltából ismerem a split  vba függvényt. Ezt a példát tette fel, ami hónap neveket írja be  a ho()-tömbbe:

 

ho = Split("Jan-feb-mar-apr-may-june-july-Aug-sept-oct-nov-dec", "-")

 

Két kérdésem lenne  a függvénnyel kapcsolatban:

  1. A ho()-tömböt miért kell explicit stringként definiálni. Miért nem jó neki a variant?
  2. A függvény  compare paraméterével kiválasztott  hasonlítás mit hasonlít mivel? 
Előzmény: tbando (23930)
tbando Creative Commons License 2014.01.30 0 0 23930

A backslashek természetesen nálam is megzabálódtak. Tehát remélhetőleg helyesen:

 

"TEXT;C:\Users\tbando\Documents\" & filenev, Destination:=Range("$a$1")) _  stb 

Előzmény: tbando (23929)
tbando Creative Commons License 2014.01.30 0 0 23929

Azt nem tudom, hogy az excelből, hogyan lehet bat filet futtatni. De ha már megvan txt file, akkor a vágólapos becopyzása már kiválható  a txt file megnyításával. Excel 2007-ben: Adatok/Külső adatok átvétele/Szövegből/file . A 2003-ban is hasonlóan: Adatok/Külső adatok importálás/Adatforrás/file. A többit tudod.  Majd a végén töröld az adatokat.  Ha folyamat elkezdésekor bekapcsolod a makrórögzítőt kész is a nyers makród, amin nem sokat kell már csiszálni. Ahogy saccolom  csak a szövegfile nevének a specifikását kell megoldani és az adattörlést a makró elejére helyezni.  A szövegfile specifikálst valahogy így csinálnám:  Egy cellába mondjuk a H1-be beírnám a szövegfile nevét(xxxx.txt), majd  a beolvasó makróban ennyi változtatást:

 

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:UserstbandoDocumentsxxxx.txt", Destination:=Range("$a$1")) _  stb  

 

helyett:

 

filenev:Range("h1")

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:UserstbandoDocuments" & filenev, Destination:=Range("$a$1")) _  stb 

 

Előzmény: BraunBela (23924)
NeomatiK Creative Commons License 2014.01.30 0 0 23928

Köszönöm, működik!

 

Most, hogy leírtad a megoldást, bevillant, hogy mintha már kérdeztem volna hasonló problémáról. De nem kizárt, hogy megint ki fog menni a fejemből a megoldás :)

Előzmény: Fferi50 (23927)
Fferi50 Creative Commons License 2014.01.30 0 0 23927

Szia!

 

A Ctrl+F előtt másold le/jelöld ki a kicserélni kívánt karakter részt. Ha másoltad, akkor ESC utána.

Megnyitod a Ctrl+F-el a panelt. Itt vagy már ott van amit cserélni kívánsz, ha nincs akkor töröld ami benne van és utána Ctrl+V-vel másold be.

Szerintem így már meg fogja találni.

 

Az oka: az € és a 0 között nem space van, vagy nem egy space van.

 

Üdv.

Előzmény: NeomatiK (23926)
NeomatiK Creative Commons License 2014.01.30 0 0 23926

Még anynit hozzá, hogy a cella "általános".

Előzmény: NeomatiK (23925)
NeomatiK Creative Commons License 2014.01.30 0 0 23925

Sziasztok!

 

Egy honlapról másoltam ki jósok sort Excelbe.  Mindegyik sor kb így kezdődik:

 

€ 0.01

 

ebből akartam ilyet csinálni:

 

0,01

 

CTRL+F csere fülön. Megadtam, hogy "€ 0."-t cserélje "0,"-re. De hibaüzentet ad: "A MS Excel nem talált egyezést"

Külön megadva az € jelet kicseréli. Úgy veszem észre, hogy a € és a 0 közötti üres karakter zavar be.

 

Hogyan lehet ezt az üres karaktert is cserélni?

 

BraunBela Creative Commons License 2014.01.30 0 0 23924

Az első részét jól látod! Ha lefutott, akkor kell a szövegállománnyal foglalkozni. A létrejött szövegállomány állandó helyen van és a sorok végén levő 8 karakterre van szükség. Ennek kellene mondjuk egy tabla nevű tartományban lennie, ami mindig újra generálódik, a hossza futtatásként különböző lehet, ezért az előző tartományt törölni kell és a helyére létre hozni az új elemszámú, ugyanolyan névre elnevezett tartományt. Ezt a tartományt arra használnám, hogy egy excel lapon levő táblázatban az fkeressel ellenőrizzem, hogy szerepel egy bizonyos azonosító a "tabla" nevű listában.

 

Jelenleg úgy működik, hogy kézzel futtatom a bat állományt, a létrejött szövegállományt megnyitva, az egészet kijelölve vágólapra teszem. Az excel táblában egy lapra másolom a1-től beillesztem a vágólap tartalmát. A szomszédos oszlopban levágom a jobb() fügvénnyel az engem érdeklő részt. A kapott adatokat kijelölöm, elnevezem "tabla" néven és örülök! :)

 

Előzmény: Törölt nick (23923)
Törölt nick Creative Commons License 2014.01.30 0 0 23923

Pontosítsunk. Az alábbit véltem kihámozni a leírásodból.

 

1. Megnyitod az Excel munkafüzetet.

2. A munkafüzet megnyitásakor automatikusan lefut egy batch fájl (valami.bat)

3. A batch fájl létrehoz egy szövegfájlt, aminek az elérési útvonala és neve előre tudható, és nem az adott futás során dől el. (Ugye?)

4. A munkafüzetben futó programnak érzékelnie kellene, hogy a batch fájl befejezte a futást, utána pedig a 3. pontban létrehozott szöveges fájlt kellene feldolgoznia.

 

Itt jönnek a kérdéseim.

Mit jelent az, hogy "névvel ellátott lista"? Hol van ez a lista? Mindig újat kell létrehozni, vagy naplószerűen, folyamatosan írni bele az új dolgokat? Mit értesz tartomány alatt? A szövegfájl minden sora külön cellába kerül, vagy az egész szövegfájl egy cellába? A szöveg sorainak az utolsó 8 karakterét törölni kell, és a többi marad, vagy fordítva, pont az utolsó 8 karakterre van szükség?

 

 

Előzmény: BraunBela (23922)
BraunBela Creative Commons License 2014.01.30 0 0 23922

Sziasztok!

Szeretnék szövegállományt feldolgozni az excellel. A szövegállományt egy dosos parancsállomány generálja (mondjuk k.bat). A szövegállomány azonos hosszúságú sorokból áll és a sorok jobboldalából 8 karater hosszan levágva szeretném egy névvel ellátott listában látni a tartalmát.

A megoldandó problémám az, hogy a parancsállományt kellene futtatni a táblázat megnyitásakor és a kapott szövegállományt elhelyezni a névvel ellátott listába. Természetesen a lista mérete változik, minden futtatásnál.

 

Van egyszerű megoldás arra, hogy egy szövegállomány sorait egy tartományba helyezzük el, vagy meg kell nyitni az állományt és sorról-sorra fel kell dolgozni?

 

Fferi50 Creative Commons License 2014.01.29 0 0 23921

Szia!

 

Persze a backslasht már megint megette!

 

Tehát a konyvtar végére kell a \ (backslash).

 

Üdv.

Előzmény: Gubameister (23919)
Fferi50 Creative Commons License 2014.01.29 0 0 23920

Szia!

 

Először is gyanús nekem a sok pont a fájlok nevében. Ez nem igazán "kompatibilis" megoldás.

De, ha tudod a fájl kezdő karaktereit és a könyvtárat, akkor a dir() függvénnyel le tudod kérdezni a fájlok neveit és azt be tudod írni egy munkafüzet celláiba.

 

Pl

sub fileok

dim konyvtar as string,filenev as string, file as string

konyvtar="könyvtár neve" ' teljes elérési úttal, a végén

filenev="Kezdet*"

file=dir(konyvtar & filenev)

sor=1

do while file<>""

     range("A" & sor").value=file

     sor=sor+1

     dir()

loop

end sub

A másik kérdés, hogy az a bizonyos Q1 cella milyen nevű munkalapon van.

Ha az elsőn, akkor egy "szép" hivatkozással elő tudod csalni az értékét a loop után folytatva az előző makrót:

pl.  range("B1").formula="='" & konyvtar & "[" & range("A1").value & "]munkalapneve'!Q1"

a munkalapneve az a név ahol az adat van. Teheted változóba is, akkor  & "]" & munkalapneve & "'!Q1" a forma a végére.

 

A hivatkozás aktualizálásához nem kell nyitva lennie annak a fájlnak, ahonnan veszed az adatot, de ha nem volt pontos a hivatkozás, akkor megkeresteti veled.

 

A fájl nevéből a dátumot gondolom ki tudod venni.  

 

Üdv.

Előzmény: Gubameister (23919)
Gubameister Creative Commons License 2014.01.29 0 0 23919

Sziasztok!

 

Egy kis makrós segítségre lenne szükségem. Egy mappában ugyanabban a struktúrában hetenként vannak lementve adattáblák excelben amiknek nekem az egyik  fix cellájának az értéke kellene.

 

Pl. van egy adattábla 2013.01.01.xls és nekem ebben a táblában a Q1 cella értéke kellene,

   következő tábla adattábla 2013.01.08.xls és szintén a Q1 cella értéke és így tovább amíg a végére nem ér az összes fájlnak.

 

Ehhez kellene egy olyan megoldás ami aztán kihozza egy munkalapra a fájl nevét (ideális esetben a benne szereplő dátumot de azt már megoldom) illetve ennek a q1-nek az értékét egy másik cellába, fájlonként külön-külön sorba.

 

Azért lenne fontos, hogy elkerülhessem az elmúlt két év összes fájljának egyenkénti megnyitását ami elég időigényes lenne.

 

Köszi előre is a segítséget.

 

 

 

Törölt nick Creative Commons License 2014.01.29 0 0 23918

Nem ismerem a dolog elméleti hátterét, mostanáig nem tűnt fontosnak :)

Annyit mindenesetre megállapítottam empirikus úton, hogy azok az ablakok akkor is dokkolhatók, ha egyáltalán nincs is kódmodul megjelenítve. És jobban átgondolva revideálom a korábbi álláspontom, miszerint a dokkolt ablakok egymáshoz kapcsolódnak. Inkább úgy tűnik, hogy a szülő ablak (VB editor) külső széléhez tapadnak, és e tapadásnak a jellemzőit, lényegében a kapcsolódási (sor)rendet lehet húzogatással módosítani. A kódmodul meg, ha éppen látszik, legfeljebb csak kitölti a maradék, rendelkezésre álló felületet.

Előzmény: tbando (23917)
tbando Creative Commons License 2014.01.28 0 0 23917

Kösz. Így most már azt is érteni vélem, hogy a vba tools/options/docking által felajánlott ablakok között miért nem szerepel a code ablak.  Felteszem azért, mert egy ablak sikeres dokkolásához lennie kell legalább 1 másiknak is, ami szintén dokkolható állapotban van. És ezt biztosítja a Code ablak, ami ezek szerint obligát dokkolható.  

 

Korrekt ez a magyarázat? Vagy pontosításra szorul?

 

Előzmény: Törölt nick (23916)
Törölt nick Creative Commons License 2014.01.28 0 0 23916

A dokkolás valójában azt a jelenséget takarja, amire korábban úgy hivatkoztam, hogy az ablakok egymáshoz vannak ragasztva. Az ablakoknak van egy olyan tulajdonságuk, hogy "Dockable", vagyis dokkolható.

Ha ez be van kapcsolva, akkor a rendszer figyeli az ablak pozícióját, és ha bizonyos helyekre húzod, akkor felajánlja a kapcsolódást más ablakokkal, vagyis a dokkolást. Tehát nem biztos, hogy az ablak dokkolt, mert lehet, hogy nem az, de megvan a lehetőség a dokkolásra.

 

Ha a tulajdonság nincs bekapcsolva, akkor a rendszer nem figyeli az ablakpozíciókat, nem ajánl fel kapcsolódási lehetőséget, és csak manuálisan tudod mozgatni és átméretezni az ablakokat.

Előzmény: tbando (23915)
tbando Creative Commons License 2014.01.27 0 0 23915

Igen. Így lehetett.Igazgathattam az ablak jobb szélét és belekattintottam. Most mióta a segítségeddel helyrehoztam, újra megszívtam. Fferi dokkolási információit ellenőríztem, dokkoltam a project, a property és a local ablakokat, illetve nem is kellett dokkolnom őket, mert dokkolva voltak, és néztem hogy el lehet-e őket húzni a helyükről. El lehetett. De olyan sikeresen, hogy mostanáig tartott, míg újra sikerült visszacsinálnom :)))).  Tehát változatlanul homályos, hogy mi a fenét dokkolt a dokkoló.  De nem kísérletezem vele tovább. Inkább örülök annak, hogy most megint normális :))))).

 

Előzmény: Törölt nick (23914)
Törölt nick Creative Commons License 2014.01.27 0 0 23914

Dokkból úgy lehet kivenni az ablakot, ha a címsoránál fogva odébb húzod. Szerintem nálad sem egyszerű kattintás volt, hanem afféle "csúszó kattintás", amikor azt hiszed, hogy csak klikk, de közben mozog az egér. Én rendszeresen megszívom ezt, amikor pl. egy mappalistában ctrl+bal gombbal jelölök ki bizonyos mappákat, és egyszer csak az egészet bemásolja valahová (mert kattintás-nyomva tartás alatt húztam az egeret).

Előzmény: tbando (23911)
Fferi50 Creative Commons License 2014.01.27 0 0 23913

Szia!

 

A dokkolás elvileg a képernyő egyik sarkához - praktikusan a bal felső sarkához - való rögzítést jelenti. A dokkolt ablak helye nem változtatható, csak a szélessége és a magassága (ha teljes képernyős módban vagy, akkor csak a magassága). Ha nem dokkolt az ablak, akkor a nevét tartalmazó fejlécet megfogva bárhová teheted a képernyőn belül (akár kívülre is húzhatod egy részét).

A VBA menü Tools = > options párbeszédpanel Docking lapján állíthatod be, hogy melyik ablakok legyenek dokkolva.

 

Üdv.

Előzmény: tbando (23912)
tbando Creative Commons License 2014.01.27 0 0 23912

Szia. Ezekkel próbálkoztam magam is. De még arra sem jöttem rá, hogy mit csinál a docking ablak, mert semmi látható hatása nem volt az ablakok ki/be kapcsolgatásának.  Az ablak elrendezések, meg annak az ablaknak a subablakait rendezgették, amelyik épp  aktív volt. Tulajdonképpen hová lehet dokkolni az ablakokat?

Előzmény: Fferi50 (23910)
tbando Creative Commons License 2014.01.27 0 0 23911

Jimmy, kösz. Sikerült.

 

Még annyit hagy kérdezzek, hogy nincs-e véletlenül tipped arra, hogy miféle kattintással sikerült elbarmolnom. Úgy dereng egy jobb felső sarok körüli katt eredményezte, de ennél többet nem tudok rekonstruálni.

Előzmény: Törölt nick (23909)
Fferi50 Creative Commons License 2014.01.27 0 0 23910

Szia!

 

A project és az immediate ablakon próbáld a jobb egérgomb után a docable tulajdonságot beállítani.

A kód ablakokat ezután alá tudod húzni és méretezni.

 

(Esetleg megpróbálhatod az ablakok elrendezését (windows -cascade, tile vertically, horizontally -, nagyobb kavart, mint ami van már nemigen tud csinálni, viszont legalább látod az ablakokat és húzgálhatod azokat.)

 

Üdv.

Előzmény: tbando (23908)
Törölt nick Creative Commons License 2014.01.27 0 0 23909

Ez valahogy úgy megy, hogy van a "szülő" ablak (ez a VB editor maga) és vannak a "gyerek" ablakok (kódmodul, Intermediate, Locals, Project Explorer, Properties, stb). A szülő ablakon belül az egyes gyerek ablakok állhatnak függetlenül, kvázi "lebegve", és lehetnek "egymáshoz ragasztva", mint abban az állapotban, amit most nem tudsz visszaállítani. Bármelyik gyerek ablakot bármelyik másik gyerek ablaknak bármelyik széléhez lehet pozicionálni. 

 

Ehhez meg kell fogni az egyik ablak címsorát (bal gomb katt és nyomva tart) és odahúzni a másik ablak kívánt széléhez. Például hagyományosan az Intermediate v. Locals ablakokat a kódmodul alsó széléhez, a Project Explorer és a Properties ablakokat a kódmodul bal széléhez szokás állítani. De persze lehet másképp is. A pozicionálandó ablakot egészen addig kell húzni, amíg az ablak leendő helyét jelző téglalap mérete meg nem változik. Akkor kell elengedni. Lehet, hogy kell párszor próbálkozni, mire oda kerül, ahová szeretnéd, de előbb-utóbb biztos jó lesz.

 

Előzmény: tbando (23908)
tbando Creative Commons License 2014.01.27 0 0 23908

Lenne egy technikai kérdésem. A VB editorban az ablakok átméretezése során sikerült egy olyan helyre kattintanom, hogy az ablakok közös keretbe foglalása megszűnt, és nem találom sehol, hogy ezt hogyan lehetne visszacsinálni. Így most, ha ez egyik ablak méretét szűkítem vagy tágítom,  a vele korábban ellentétesen változó ablak mérete nem változik, így azokat manuálisan kell hozzá ígazítanom. Mit kéne tennem, hogy az eredeti helyzet helyreálljon?   

tbando Creative Commons License 2014.01.26 0 0 23907

Úgy látom jól tetted fel a kérdést. Csak én értettem félre :(((.

Előzmény: hát ő (23902)
hát ő Creative Commons License 2014.01.26 0 0 23906

Köszönöm szépen:) Még nem használtam ezt a függvényt és ezzel kezdtem ezért nem is volt helyes az eredmény. Még a sortávolságot szeretném csökkenteni  cellában

Előzmény: Fferi50 (23904)
Sánta Kutya (SK) Creative Commons License 2014.01.26 0 0 23905

És nem arra válaszoltam? :-)

Előzmény: hát ő (23902)
Fferi50 Creative Commons License 2014.01.26 0 0 23904

És a cella tulajdonságok között az igazításnál a szöveg elhelyezése sortöréssel több sorba jelölőt bekapcsolod.

 

Üdv.

Előzmény: Fferi50 (23903)
Fferi50 Creative Commons License 2014.01.26 0 0 23903

Szia!

 

=A1 & karakter(10) & A2  &  karakter(10) & A3

 

Üdv.

Előzmény: hát ő (23902)
hát ő Creative Commons License 2014.01.26 0 0 23902

Biztos rosszul tettem fel a kérdésem. Tehát én nem a cellába beírt függvényt szeretném rendezni hanem az eredményt. Pl A1=10  A2=20  A3=30      =A1&""&A2&A3

eredmény=

102030

De én ezt szeretném egy cellában

10

20

30

Előzmény: tbando (23901)
tbando Creative Commons License 2014.01.26 0 0 23901

alt+enter

 

Előzmény: hát ő (23899)
Sánta Kutya (SK) Creative Commons License 2014.01.26 0 0 23900
Előzmény: hát ő (23899)
hát ő Creative Commons License 2014.01.26 0 0 23899

Sziasztok!

Segítséget szeretnék kérni abban ha egy cellában több eredményt, szöveget összefűzök akkor hogy tudom ezeket enterrel rendezni. Tehát cellán belül szeretnék új sort kezdeni a következő értéknek.

Fferi50 Creative Commons License 2014.01.26 0 0 23898

Szia!

 

Szivesen segítettem. Ha többet akarsz megtudni az excelről, akkor irány egy excel tankönyv, de minimum a help.

 

A képletről pár szót:

Az excel az idézőjelben levő értéket konstans szövegnek tekinti. Tehát a "!C52" -ből soha nem lesz más érték.

Az indirekt cella címeket vár, amit az összefűzéssel lehet megadni, ahogyan a képleted is adta.

Ha azt akarod, hogy az 52 változzon, akkor azt ki kell venni az idézőjelek közül és számként kell "hozzáfűzni".

A hozzáadandó érték (változás) számítása:

Az oszlop függvény az adott cella hivatkozás oszlopát határozza meg.

Amikor a képletet jobbra húzod, de a hivatkozásban levő sor számát akarod növelni, azt kell megnézni, hogy az új hely oszlopszáma és az eredeti hely oszlopszáma között mennyi a különbség, ezt kell az eredeti (itt 52) számhoz hozzáadni.

Ezt a számot adja meg az oszlop()-oszlop($AD1) számítás.

Mivel 2 oszlopban levő képletben azonos a sor számának értéke, ezért kell az így kapott különbséget elosztani kettővel, mert 3 cella jobbra lépéshez tartozik egy cella sornövelés. Ezért is kell párosával másolni a képletet.

 

 

Üdv.

 

Előzmény: Tyorotyere (23897)
Tyorotyere Creative Commons License 2014.01.26 0 0 23897

 

Tényleg igazad van! Köszönöm szépen! Csak nem értem ezt a képletet, mondjuk nem is nagyon értek az excelhez sem!

Előzmény: Fferi50 (23895)
tbando Creative Commons License 2014.01.26 0 0 23896

Kösz. Így tényleg sokkkkkkal áttekinthetőbbbbbbb :))))

 

De ha már ilyen szép lett, akkor verbálisan is megfogalmazok két hivatkozási szabályt:

 

cells tipusú hivatkozásnál a vízszintesen figyelembe veendő cellák csak a Range szélességéig terjednek. Tehát ha a Range a C1 cella akkor a Range/Names(x) hivatkozás a Cx cellára mutat, ha C1:D2 akkor páratlan számuak a Cx/2+1 cellára, a párosak meg Dx/2-re.

 

A sor/oszlop hivatkozásnál viszont a range szélessége sem számít, mivel a Range/Names(x,y)  hivatkozás egy olyan offset-tel ekvivalens, amelyben Range kezdőcella hivatkozása (1,1) Tehát  C1 range esetén az offset kezdőcella nincs is a munkalapon :)))).

 

Előzmény: Delila10 (23886)
Fferi50 Creative Commons License 2014.01.26 0 0 23895

Szia!

 

Amit Te szeretnél, azzal a képlettel soha nem fog működni. Vízszintesen (oszlopirányban) akarod húzni a függőleges (sor) értékeket.

Ezért írtam át a képletedet, ami pontosan azt csinálja, amit kértél. Az első 2 cella képletének eredménye indirekt(C52) és indirekt(E52), a második két cella képletének eredmény pedig indirekt(C53) és indirekt(E53) lesz. És így tovább. Kipróbáltam.

Kérlek, írd be az általam adott 2 képletet az ad és ae oszlop megfelelő cellájába.

Másold át a mellette levő 2 cellára. És pont az az érték lesz, amit szeretnél. De ugyanígy húzhatod egérrel is a képletet.

 

Ne a képlethez ragaszkodj, hanem az eredményhez lsz.

 

Üdv.

Előzmény: Tyorotyere (23894)
Tyorotyere Creative Commons License 2014.01.26 0 0 23894

Szia!

 

Megpróbáltam de nem jó! Nem tudom hogy jól fogalmaztam e és értitek a dolgot? Amikor beírom az excelbe egymás alá hogy 1 2 3 és ezt kijelölöm a sarkában lévő kis négyzetet megfogom és lefelé húzom akkor beírja a következő cellákba hogy 4 5 6 .... és így tovább amíg húzom. Na most vizszintesen van ez a  képlet 1. oszlopban: =INDIREKT("Munka" & SOR()-1 & "!C52") második oszlopban: pedig csak a C52 változik E52 re így: =INDIREKT("Munka" & SOR()-1 & "!E52")

 

Azt szeretném hogy ha egyszerre kijelölöm mind a két egymás mellett lévő cellát akkor a következő cellákba ugyan ez a képlet legyen mint fent csak 52 helyett 53 és ha tovább húzom megint két cellával akkor már C és E 54 legyen abba a két cellába. Na most megcsináltam 3 db ilyen egymás mellett lévő cellát és kijelöltem mindegyiket vizszintesen de a 4 páros cellába nem vitte tovább a számot 52  53   54 és nem lett 55 hanem 52-t írt be. Értitek? :D

Előzmény: Fferi50 (23893)
Fferi50 Creative Commons License 2014.01.26 0 0 23893

Szia!

 

Gondolom, a többi oszlopnál is így szeretnéd!

Próbáld ki az alábbi képleteket:

 

=INDIREKT("Munka" & SOR()-1 & "!C" & 52 + (OSZLOP()-OSZLOP($AD1))/2)

=INDIREKT("Munka" & SOR()-1 & "!E" & 52 + (OSZLOP()-OSZLOP($AE1))/2)

 

Ezt végighúzhatod vízszintesen. De ha nem az AD oszlopban kezded, hanem előrébb, akkor azt kell beírni a $AD helyett.

 

Üdv.

Előzmény: Tyorotyere (23892)
Tyorotyere Creative Commons License 2014.01.26 0 0 23892

 

Szia!

 

Megpróbáltam de valami nem jó!! Itt a kép róla!

Előzmény: Sánta Kutya (SK) (23891)
Sánta Kutya (SK) Creative Commons License 2014.01.26 0 0 23891

C52 helyett OSZLOP(C52)

Előzmény: Tyorotyere (23890)
Tyorotyere Creative Commons License 2014.01.26 0 0 23890

Sziasztok! 

 

Az a problémám van hogy vizszintesen szeretnék 2013 as excelbe másolni képletet. Egy termék alá két képlet tartozik. az egyik =INDIREKT("Munka" & SOR()-1 & "!C52") a másik =INDIREKT("Munka" & SOR()-1 & "!E52") Csatoltam is egy képet. Amikor vizszintesen akarom másolni ugyan ezt a képletet másolja. Azt szeretném ha kijelölöm a két egymás mellett lévő cellát például a képen a Racer alattit és áthúzom a Duracer alatti két cellába akkor mind a két képletbe az 52 az 53 ra változzon. Eddig ha ezt megcsinálom akkor ugyan az marad tehát 52 és így egyenként kell átírni az összeset.

 

Remélem nem írtam le túl bonyolultan! Köszönöm szépen!

 

Fferi50 Creative Commons License 2014.01.26 0 0 23889

Szia!

 

Igazad van, a sima range "magában" csak az aktív munkafüzetre(ha a név munkafüzet szintű)/munkalapra(ha munkalap szintű) használható.

 

Viszont a másik munkafüzetnél sem mindegy, hogy a név munkafüzet vagy csak munkalap szintű. Előbbi esetben elég a munkafüzet + név, utóbbinál viszont ott is tudnod kell a munkalap nevét is.

 

Üdv.

Előzmény: Törölt nick (23888)
Törölt nick Creative Commons License 2014.01.26 0 0 23888

Egy lehetséges szempont:

A Range a Worksheet objektum tulajdonsága. A Names pedig lehet a Workbook vagy lehet a Worksheet tulajdonsága.

Képzelj el egy olyan szituációt, hogy a megcímzendő tartomány nem abban a munkafüzetben van, ahol a kód, hanem egy másikban. Ekkor a

 

Workbooks("Akármi.xls").Names("tartomany2").RefersToRange

 

minden további nélkül használható. Viszont a

 

Range("tartomany2")

 

csak akkor, ha tudod és elé teszed a worksheet nevét is:

 

Workbooks("Akármi.xls").Worksheets("valami").Names("tartomany2")

 

Tegyük fel, hogy a Worksheet neve változik, mondjuk hónapról hónapra...

 

Talán kicsit erőltetett a példa, de csak azt akartam bemutatni, hogy létezhet ilyen eset is.

Előzmény: Fferi50 (23887)
Fferi50 Creative Commons License 2014.01.26 0 0 23887

Szia!

 

A nevet használva hivatkozásként a következőt kaphatjuk:

 

Sub cellatartomanycime()
    'Ha tartomany2=d4:e5 akkor a cellacim
    
    Range("tartomany2") = "Address"        'd4:e5
    
    Range("tartomany2")(1) = "Range(1)"      'd4
    Range("tartomany2")(20) = "Range(20)"   'e13
    Range("tartomany2")(0) = "Range(0)"      'c4
    Range("tartomany2")(-1) = "Range(-1)"   'd3
    Range("tartomany2")(-2) = "Range(-2)"  'c3
    Range("tartomany2")(-3) = "Range(-3)"   'd2
    Range("tartomany2")(-4) = "Range(-4)"   'c2
    Range("tartomany2")(-5) = "Range(-5)"   'd1
    Range("tartomany2")(3, 4) = "Range(3, 4)"      'g6
    Range("tartomany2")(-1, -1) = "Range(-1, -1)" 'b2
    Range("tartomany2")(0, 0) = "Range(0, 0)"       'c3
    Range("tartomany2")(0, -2) = "Range(0, -2)"    'a3
    Range("tartomany2")(0, 6) = "Range(0, 6)"       'i3
    Range("tartomany2")(-1, 5) = "Range(-1, 5)"   'h2
End Sub

 

Ezek után már csak egy kérdésem maradt:

Miért használjam a name("tartomany").referstorange formát, ha a range("tartomany") ugyanazt tudja?

Pótkérdés: Egyáltalán, mikor van értelme a referstorange -nek?

 

Üdv.

Előzmény: Delila10 (23886)
Delila10 Creative Commons License 2014.01.26 0 0 23886

Kicsit látványosabbá téve:  :))

 

Sub cellatartomanyhivatkozassal()
    'Ha tartomany2=d4:e5 akkor a cellacim
     
    Range(Names("tartomany2").RefersToRange.Address) = "Address"         'd4:e5
     
    Range(Names("tartomany2").RefersToRange(1).Address) = "Range(1)"      'd4
    Range(Names("tartomany2").RefersToRange(20).Address) = "Range(20)"   'e13
    Range(Names("tartomany2").RefersToRange(0).Address) = "Range(0)"      'c4
     
    Range(Names("tartomany2").RefersToRange(-1).Address) = "Range(-1)"   'd3
    Range(Names("tartomany2").RefersToRange(-2).Address) = "Range(-2)"   'c3
    Range(Names("tartomany2").RefersToRange(-3).Address) = "Range(-3)"   'd2
    
    Range(Names("tartomany2").RefersToRange(-4).Address) = "Range(-4)"   'c2
    Range(Names("tartomany2").RefersToRange(-5).Address) = "Range(-5)"   'd1
     
    Range(Names("tartomany2").RefersToRange(3, 4).Address) = "Range(3, 4)"       'g6
    Range(Names("tartomany2").RefersToRange(-1, -1).Address) = "Range(-1, -1)"  'b2
    Range(Names("tartomany2").RefersToRange(0, 0).Address) = "Range(0, 0)"       'c3
    Range(Names("tartomany2").RefersToRange(0, -2).Address) = "Range(0, -2)"    'a3
    Range(Names("tartomany2").RefersToRange(0, 6).Address) = "Range(0, 6)"       'i3
    Range(Names("tartomany2").RefersToRange(-1, 5).Address) = "Range(-1, 5)"    'h2
End Sub

Előzmény: tbando (23883)
Fferi50 Creative Commons License 2014.01.25 0 0 23885

Szia!

 

Hibakezelésnél bizony nem ártalmas egy ilyen sor beszúrása a hiba lerendezése után.

Illetve: a hibakezelő rutin akkor is él, ha abból az eljárásból, amelyikben definiáltad, meghívsz egy másik eljárást és annak nincs külön hibakezelése!

Ilyenkor hiba esetén a meghívó eljárásban levő hibakezelő rutin "kapcsolódik be", visszaugorva a hívó programba és a resume  utasításra ismét meg fogja hívni a hibát okozó eljárást.

 

Üdv.

Előzmény: pimre (23882)
Fferi50 Creative Commons License 2014.01.25 0 0 23884

Szia!

 

Az egész példa a B3:E7 tartományból indult ki.(Az első 2 sor mutatta a cellák számát és a tartomány címét.)A folytatás is ebből következett.:)

 

Viszont, amit mutattam/tunk, az igaz ám a "sima" range("tartomany") meghatározásból kiindulva is, ahogy az előző hozzászólásomban is írtam.

Vagyis az elnevezett tartományon kívül is van élet a munkalapon! A baj csak akkor következik be, ha pl. a negatív cellaindexekkel a munkalapon kívülre kerülsz.  Azaz a fenti példában a cells(-3,0) hivatkozás már hibát fog generálni, mivel a munkalapon a sorok kezdő értéke 1 és nem nulla.

 

Üdv.

Előzmény: tbando (23883)
tbando Creative Commons License 2014.01.25 0 0 23883

Már hogy ne lennének itt gondolatolvasók? Anélkül nem is lehetne a kérdések zömére válaszolni :))))

 

Na most ez az eltolt kezdőpontú cellameghatározás igencsak rafinált. Érdemes volt feltenned néhány varit. És bár volt amit nem bírtam kigondolatolvasni, pl. hogy melyik tartományban van 25 cella, és hogy melyik tartomány 45-ik cellája a B17, de a többi megfejthető volt. Kiegészítettem a példatárad, hátha másoknak is hasznos lesz. Jól mutatják a cells és a sor/oszlop hivatkozások különbségét, a tartomány Nulla celláját, a nulladik és a negatív sor,oszlop hivatkozással meghatározott cellákat.  Csak a makrót kell hozzá lefuttatni. De felteszem képben is.    

 

 

Sub cellatartomanyhivatkozassal()
Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, o

 

''Ha tartomany2=d4:e5 akkor a                                          cellacim

 

a = Names("tartomany2").RefersToRange.Address              'd4:e5

 

b = Names("tartomany2").RefersToRange(1).Address          'd4        cells típusú cimzesek 
c = Names("tartomany2").RefersToRange(20).Address         'e13
e = Names("tartomany2").RefersToRange(0).Address           'c4

 

f = Names("tartomany2").RefersToRange(-1).Address           'd3
g = Names("tartomany2").RefersToRange(-2).Address          'c3
h = Names("tartomany2").RefersToRange(-3).Address          'd2
i = Names("tartomany2").RefersToRange(-4).Address            'c2
j = Names("tartomany2").RefersToRange(-5).Address            'd1

 

d = Names("tartomany2").RefersToRange(3, 4).Address       'g6        row,column típusú cimzések

k = Names("tartomany2").RefersToRange(-1, -1).Address      'b2
l = Names("tartomany2").RefersToRange(0, 0).Address          'c3
m = Names("tartomany2").RefersToRange(0, -2).Address       'a3
n = Names("tartomany2").RefersToRange(0, 6).Address         'i3
o = Names("tartomany2").RefersToRange(-1, 5).Address        'c3
End Sub

 

Előzmény: Fferi50 (23876)
pimre Creative Commons License 2014.01.25 0 0 23882

Tiszta hülye vagyok. Időközben megtaláltam, hogy valóban elfelejtettem visszakapcsolni az on error goto 0-al.

 

Így már rendben is van. Köszönöm.

Előzmény: Törölt nick (23881)
Törölt nick Creative Commons License 2014.01.25 0 0 23881

Van olyan sorod, hogy

On Error Resume Next

?

Előzmény: pimre (23879)
pimre Creative Commons License 2014.01.25 0 0 23880

Annyit pontosítok, hogy a függvényből történő visszaugrást úgy értem, hogy csapot-papot otthagy, tehát a függvény további része nem fut le, hanem a hibás sorról azonnal visszalép a behívó részhez.

Előzmény: pimre (23879)
pimre Creative Commons License 2014.01.25 0 0 23879

Újabb rejtélyek. Ma kétszer is találkoztam olyan olyan jelenséggel, hogy amikor hülyeséget írtam a programba, az nem hibát jelzett, hanem nemes egyszerűséggel visszaugrott a függvényből és folytatta tovább a munkát, mintha mi se történt volna. És csak a hibás eredményből jöttem rá, hogy valami nem stimmel.

 

Az egyik az volt, hogy a find parancs eredményét egy váltoóban kapom meg, aminek a típusa range, és egy cellát ad vissza. Legyen mondjuk eredm as range. És amikor tévedésből a cellatartalomat az eredm.name hivatkozással akartam kiolvasni, a vezérlés visszaugrott a behívó sorhoz, mintha rendesen lefutott volna.

 

Aztán a másik eset az volt, hogy volt egy numerikus (long) változóm, legyen x. Több helyen teszteltem, hogy az értéke 0-e, vagy sem (if x=0 then...). Namármost egy helyen elütöttem és azt írtam be, hogy if x = "". És ahelyett, hogy type mismatch hibával leállt volna a program (ha jól tudom, 13-as hibakód), itt is tovább ment.

 

Nagyon kellemetlen, mert ilyenkor csak hosszas nyomkövetéssel tudom megtalálni a hibás sort.

 

Meg lehet az ilyeneket előzni? Esetleg valami hibás beállítás, hogy nem jelzi a hibát?

Fferi50 Creative Commons License 2014.01.25 0 0 23878

Még pontosabban:

A Range("tartomany") a munkalap tartományának egy érvényes hivatkozása, mint név.

A Names viszont önmagában nem tartomány, csak hivatkozás, valahogy ki kell belőle csiholni a tartomány helyét.

 

Természetesen a legrövidebb a range("tartomany")(1) hivatkozás a tartomány első cellájára.

De: amit az előbb a neves megközelítésre írtam, az így is érvényes (tartományon túlmutató hivatkozási lehetőség).

 

Üdv.

Előzmény: Fferi50 (23877)
Fferi50 Creative Commons License 2014.01.25 0 0 23877

Szia!

 

Csak azért, mert a Range az munkalaphoz tartozik.

A Névhez viszont a Referstorange tartozik, ezzel kaphatod vissza az általa képviselt tartományt.

 

Üdv.

Előzmény: tbando (23875)
Fferi50 Creative Commons License 2014.01.25 0 0 23876

Szia!

 

Hát úgy néz ki, hogy a referstorange -t odagondoltam  (: hátha vannak gondolatolvasók is köztünk  -- és lőn :)

 

Egyébként én úgy értettem, hogy Delila elsőre azt nem értette, hogyan lesz a names("tartomany").referstorange("A1"). address -ből C3.  Ezt próbáltam megmagyarázni.

 

Tehát helyesen:

A names("tartomany").referstorange("A1") cella az éppen a range("C3") cellának felel meg, ha a tartomany a C3-nál kezdődik.

 

Egyébként a rövidített irásmódokkal én nem vagyok egészen kibékülve:

pl. names("tartomany").referstorange.cells.count=25

names("tartomany").referstorange.address=$B$3:$E$7

names("tartomany").referstorange(45).address=$B17 !!

Javára írom, hogy:

intersect(names("tartomany").RefersToRange,names("tartoman").RefersToRange(45)) is nothing = True

 

De hogy még szebb legyen (van ugye 5 sorunk és 4 oszlopunk), viszont:

names("tartomany").referstorange(7,12).address= $M$9  !!

A cells(7,12).address pedig $L$7. Vagyis a sor +2, az oszlop +1 a "normál" számításhoz képest. Felfedeztük az eltolás függvényt  nevekkel!!

 

Üdv.

Előzmény: tbando (23873)
tbando Creative Commons License 2014.01.25 0 0 23875

Azt tudja valaki, hogy a Names változat miért csak referstorange-gyel müködik, ha Range-s változat megáll önmagában?

Előzmény: tbando (23874)
tbando Creative Commons License 2014.01.25 0 0 23874

Hogy mikor lehet hasznos? Itt egy példa. A hatásukban ekvivalensek, de a 2. egyszerűbb. A 3. meg pláne.

 

Application.WorksheetFunction.Index(Range("tartomany"), 2, 2).Select
Names("tartomany").RefersToRange(2, 2).Select

Range("tartomany")(2, 2).Select

Előzmény: Delila10 (23872)
tbando Creative Commons License 2014.01.25 0 0 23873

Az a gyanum ,hogy a  names("tartomany").range("A1").address -ből hiányzik a Referstorange. Viszont a Range elhagyható:

names("tartomany").Referstorange(1).address             (cells)

names("tartomany").Referstorange(1,1).address          (row, column)

 

vagy Delila C3-a: 

names("tartomany").Referstorange(3,3).address

 

Előzmény: Fferi50 (23871)
Delila10 Creative Commons License 2014.01.25 0 0 23872

Ellenőriztem, úgy van, ahogy írtad, köszönöm.

Egyelőre nem jut eszembe olyan helyzet, mikor erre lenne szükségem. De ki tudja...

Előzmény: Fferi50 (23868)
Fferi50 Creative Commons License 2014.01.25 0 0 23871

Szia!

 

Hogy konkretizáljam is a példádat:

 

names("tartomany").range("A1") ugyanaz a cella, mint a síma range("C3") cella!!!

Hiszen a names("tartomany").range("A1").address = C3!  ha a tartományod a C3 cellával kezdődik.

 

Ezért is ragaszkodnak oktatáson ahhoz, hogy mindig konkrét hivatkozások legyenek a programban, mert akkor mindegy, hogy melyik munkalapod aktív, ha elnevezed az egyiket ws1-nek, a másikat ws2-nek. Akkor a ws1.range("XX") az mindig ugyanazt a munkalapot fogja jelenteni, viszont a range("XX") mindig az aktív munkalapra hivatkozik.

 

A tartomány elnevezések is erre jók, a konkrét és pontos hivatkozásokra. (pl. egy több ezer soros programban látsz egy cells(3,5) =akarmi utasítást, hát azt elég nehéz visszakövetni, hogy most vajon melyik munkalapra hivatkozik éppen.)

 

Üdv.

 

Előzmény: Delila10 (23861)
tbando Creative Commons License 2014.01.25 0 0 23870

Pontosan, ahogy mondod.  Analóg a cells(1), cells(2), cells(3) stb utasításokkal. Csak a tartománykezdet más.

 

Azt meg nem tudtam, hogy a For each  sorirányban veszi a cellákat. Kösz.

 

Előzmény: Delila10 (23867)
Sánta Kutya (SK) Creative Commons License 2014.01.25 0 0 23869

Valószínűleg. Úgy emlékszem, a Wikipédiában csak anyakönyvezhető névről van cikk.

Előzmény: pimre (23863)
Fferi50 Creative Commons License 2014.01.25 0 0 23868

Szia!

 

Az a helyzet, hogy az Excel minden  ugyanazzal a logikával hivatkoz meg, mint a munkalapot. A tartományon belül az első cella hivatkozása A1, a második cellánál B1 és így tovább sor vége után jön az A2 cella.

Tehát ehhez a hivatkozáshoz elég tudnod azt, hogy a tartományon belül hogyan helyezkedik el a cella!! Ezzel a címzéssel minden tulajdonságát megkaphatod.

 

Viszont, ha a munkalapon való elhelyezkedését akarod megtudni, akkor az Address -t kell megkérdezned, amely azt az értéket mutatja meg, hol található a munkalapon. Tehát az adott tartomány A1 helyzetű cellája bárhol lehet az adott munkalapon, hogy hol van, na ezt mondja meg az Address értéke.

 

Nagyon nem mindegy tehát, hogy simán range("A1")-et írsz - ami ugye az aktuális munkalap első celláját jelenti, vagy valamilyen names(tartománynév).range("A1")-et, esetleg egy objektum.range("A1")-et (pl set oszl=columns(4), oszl.range("A1").Address =D1).

 

Ez így nagyon jó egyébként és hasznos is, csak arra kell figyelni a programozásban, hogy melyik tartomány melyik cellájára akarsz hivatkozni.

 

Üdv.

Előzmény: Delila10 (23861)
Delila10 Creative Commons License 2014.01.25 0 0 23867

Kipróbáltam a cim$ = Range("tartomany")(1).Address sorban az (1)-et 2-re, 3-ra, stb. értékre átírni. Rendre a tartomány következő celláinak a címét adja meg. Abban a sorrendben halad, mint a For Each, tehát első sor tagjai, majd a következő sor tagjai.

Előzmény: tbando (23865)
Delila10 Creative Commons License 2014.01.25 0 0 23866

Ebből kiderült, hogy a Cseresznye női név. :)

Előzmény: pimre (23863)
tbando Creative Commons License 2014.01.25 0 0 23865

Szerintem az E5-ét. 

Előzmény: Delila10 (23861)
tbando Creative Commons License 2014.01.25 0 0 23864

Már elnézést,  de néhány kérdés:

 

 Milyen más programokban nem müködik?

Milyen más alkalmazásokra gondolsz?

Milyen más progik nem ismerik az arctan2-t?  Ha a vba-ra gondolsz, ott az arctan2: atan2

Előzmény: vasascnc (23859)
pimre Creative Commons License 2014.01.25 0 0 23863

Női név.

 

A kérésemre kapott listák arra inspiráltak, hogy kicsit utánajárjak a témának. Megtaláltam az Akadémia legfrissebb listáit: http://www.nytud.hu/oszt/nyelvmuvelo/utonevek/osszesffi.pdf és http://www.nytud.hu/oszt/nyelvmuvelo/utonevek/osszesnoi.pdf 

 

Letöltöttem az Akadémia által közreadott - tartalmilag nagyon jó, számítógépes kezelhetőség szempontjából aggályos - legfrissebb listáját.

Viszont a kiváló Solid Converter PDF v7 segítségével (merem ajánlani a programot mindenkinek ilyen célokra) áttettem Excelbe, ahol nem egész 1 órai munkával sikerült 1551 férfi és 2031 női nevet tartalmazó listát kapnom. Feltöltöttem a következő címre: http://data.hu/get/7344927/Utonevek_MTA_2014.01.01.xls

 

Későbbi tervem, hogy ha egyszer lesz időm, összevetem ezt a Jimmytől és Sánta Kutyától kapott listákkal, hogy tényleg megvannak-e ebben is a kapott listákban lévő nevek. 

Előzmény: Delila10 (23849)
tbando Creative Commons License 2014.01.25 0 0 23862

Kösz mindnyájatoknak a segítőkész válaszokat. Többek közt azért is, mert ezekről ugrott be, hogy a currentregion kereső szóval kell Jimmy 21802-re rákeresnem, ahol egy nagyon frappáns lekérdezést ajánlott. Nekem, mint meglepve láttam :)))). Ezt ajánlotta:

 

''cim$ = Selection.CurrentRegion(1).address

 

Ennek mintájára az alábbi a legrövidebb címlekérdező utasítás:

 

cim$ = Range("tartomany")(1).Address 

Előzmény: Fferi50 (23860)
Delila10 Creative Commons License 2014.01.25 0 0 23861

Kipróbáltam, a cella háttérszínének a lekérdezéséhez valóban kell a range("a1"), csak nem értem, miért éppen ez.

A tartományom a C3-ban kezdődik. Ha ezt adom meg az A1 helyett, egy másik (melyik?) cella háttérszínét kapom eredményül.

Előzmény: Fferi50 (23860)
Fferi50 Creative Commons License 2014.01.25 0 0 23860

Szia!

 

Szerintem a names("tartomany").referstorange.range("A1").row  illetve .column kell, hogy működjön. (Nálam 2010-es verzióban biztosan megy). Az már egy más kérdés, hogy a range("A1")-et kihagyva -ahogyan Te is írtad -, ugyanazt az eredményt adja a row/column, de úgy tapasztaltam, hogy más tartományoknál is így van ez (mármint hogy a row/column a tartomány legelső cellájának a sorát/oszlopát adja vissza).

Viszont, ha magának a cellának valamilyen más tulajdonságát akarod visszakapni, akkor már bizony kell a Range("A1").

 

Üdv.

Előzmény: Delila10 (23858)
vasascnc Creative Commons License 2014.01.25 0 0 23859

G=ARCTAN2((C62^2+C63^2-D12^2-D13^2)/(2*D12*D13);GYÖK(1-(C62^2+C63^2-D12^2-D13^2)/(2*D12*D13)^2))*180/PI()

 

 

F=((ARCTAN2(C62;C63))-ARCTAN2((3+4*((C62^2+C63^2-3^2-4^2)/(2*3*4)));(4*(GYÖK(1-((C62^2+C63^2-3^2-4^2)/(2*3*4))^2)))))*180/PI()

 

 

Volna ez a 2 számításom, az táblán jól működik,de sajnos más programban nem..

Miként lehetne ezeket a  képleteket egyszerűsíteni és úgy átt alakítani hogy más alkalmazások is értsék??

a legnagyobb gon amit észre vettem az az ARCTAN2-vel van mert ezt más progik nem ismerik.. :(

Delila10 Creative Commons License 2014.01.25 0 0 23858

sor = Names("tartomany").RefersToRange.Row
oszlop = Names("tartomany").RefersToRange.Column

MsgBox "Sor: " & sor & " Oszlop: " & oszlop

 

Így működik. Az előző végén a range("A1") nem tetszett neki.

Előzmény: Fferi50 (23857)
Fferi50 Creative Commons License 2014.01.25 0 0 23857

Szia!

 

A names("név").referstorange a névhez tartozó tartományt (range object) adja vissza. (az elírt e betűért sorry.)

 

A példád akkor ad hibát, ha a Print_Area tartomány nincs definiálva névként. (Ahogy Jimmy is írta.)

 

Üdv.

Előzmény: Delila10 (23850)
Delila10 Creative Commons License 2014.01.25 0 0 23856

Mire ide értem, megtaláltad. :)

 

Elnevezett tartomány adatait írattam ki a súgó példásával. A sor és oszlop a terület középpontjának az értékeit adta.

Előzmény: Törölt nick (23853)
aero1001 Creative Commons License 2014.01.25 0 0 23855

Közben rátaláltam. Azért köszi szépen.

 

=INDIREKT(CÍM(HOL.VAN(0;G:G;-1);7))-G2

Előzmény: aero1001 (23852)
Törölt nick Creative Commons License 2014.01.25 0 0 23854

Ha például az A oszlopról van szó, ÉS az A oszlop kitöltöttsége megszakítás nélküli, azaz nincsenek üres cellák az adatoszlopban, akkor ez jó lehet:

 

=OFSZET($A$1;DARAB2(A:A)-1;0;1;1)

 

 

Előzmény: aero1001 (23852)
Törölt nick Creative Commons License 2014.01.25 0 0 23853

Megvan. Jó cucc.

Csak előtte definiálni kell a "Print_Area" nevű tartományt.

 

Előzmény: Törölt nick (23851)
aero1001 Creative Commons License 2014.01.25 0 0 23852

Sziasztok!

Valószínűleg nektek egy egyszerű feladat lesz amit szeretnék megtudni.

Egy olyan képletet keresek, amely egy oszlop utolsó elemét adja eredményül. Az oszlop folyamatosan bővül és mindig az oszlop utolsó elemével kell számolni.

Segítséget előre is köszönöm.

Törölt nick Creative Commons License 2014.01.25 0 0 23851

Nem értem a hibára futott kódrészt. Mi volt a célja? Mit keres benne .Value?

Előzmény: Delila10 (23850)
Delila10 Creative Commons License 2014.01.25 0 0 23850

Nálam ez hibára futott, pedig kivettem az utasításodból a felesleges, elírás során bekerült e betűt.

 

A súgó 

p = Names("Print_Area").RefersToRange.Value

MsgBox "Print_Area: " & UBound(p, 1) & " rows, " & _ UBound(p, 2) & " columns"

példája is hibás eredményt ad.

 

 

A

Range("tartomány").Select
a$ = Selection.Address
Range("A1") = Left(a$, Application.WorksheetFunction.Search(":", a$) - 1)

 

viszont jó eredményt ad. Biztosan van egyszerűbb megoldás is.

 

Előzmény: Fferi50 (23847)
Delila10 Creative Commons License 2014.01.25 0 0 23849

Fogalmam sincs. Ha nincs az ismert színész, a Jácintot női névnek gondolnám.

Előzmény: Törölt nick (23848)
Törölt nick Creative Commons License 2014.01.25 0 0 23848

A Cseresznye az férfinév vagy női?

Előzmény: Delila10 (23840)
Fferi50 Creative Commons License 2014.01.25 0 0 23847

Szia!

 

Names("tartomany").referestorange.range("A1")

 

A referstorange adja vissza magát a tartományt, amire a név hivatkozik. Ennek már megnézheted minden olyan tulajdonságát, ami a tartományokat jellemzi.

 

Üdv.

Előzmény: tbando (23846)
tbando Creative Commons License 2014.01.25 0 0 23846

Egy névvel elnevezett tartomány bal felső cellájának a címét hogy kell lekérdezni?

 

Ezt módoltam ki rá, de már találkoztam egy egyszerűbbel, csak nem találom.

 

Range("tartomany").select

a=activecell.address

Fferi50 Creative Commons License 2014.01.24 0 0 23845

Szia!

 

Hát akárhogy is nézem, nem ezt írtad le az első kérdésedben megoldandó problémának.

 

A mostani példád alapján akár ez is lehetne a képlet =B2^szum(c2:c4).

 

Ami persze csak akkor igaz, ha minden B oszlopi adat 10.

 

Aztán mi van akkor, ha az első egyes nem a C2 cellában van???

 

Üdv.

Előzmény: mimi_bacsi (23844)
mimi_bacsi Creative Commons License 2014.01.24 0 0 23844

Megtaláltam a számomra jó megoldást (D2-be beírtam=10, D3-ba=100, D4-be=1000 és a C7-ben összeszámolom a C2-től C5 értékeket):

 

=HA(C7=1;D2;HA(C7=2;D3;HA(C7=3;D4;HA(C7=4;D5))))

 

mimi_bacsi Creative Commons License 2014.01.24 0 0 23843

Azt szeretném látni, ha a C segédoszlopokba az érték 1, akkor a B oszlopokban található értékeket szorozza össze.

Előzmény: Fferi50 (23842)
Fferi50 Creative Commons License 2014.01.24 0 0 23842

Szia!

 

Többszörös (beágyazott) ha függvényt ajánlok: ha(c2=1;B1;ha(c3=1;B2*B3;ha( stb.)))

 

Bár azért azon el kell gondolkodni, hogy a mutatott példádban mit is szeretnél kiírva látni... (mármint hogy minden hivatkozott C oszlopbeli cella értéke 1).

 

Üdv.

Előzmény: mimi_bacsi (23841)
mimi_bacsi Creative Commons License 2014.01.24 0 0 23841

 

D1-be szeretném az értéket beíratni, Ti milyen függvényt ajánlotok? 
Amit szeretnék: Ha a C2=1, akkor B1, ha C3=1, akkor B2*B3, ha C4=1, akkor B2*B3*B4, ha C5=1, akkor B2*B3*B4*B5

 

 

 

Delila10 Creative Commons License 2014.01.24 0 0 23840

A W-ban még nem szerepel a Cseresznye keresztnév, ami néhány napja anyakönyvezhető. :D

Előzmény: Sánta Kutya (SK) (23839)
Sánta Kutya (SK) Creative Commons License 2014.01.24 0 0 23839

Nagy szerencséd van, mert én csináltam egy ilyet, kellett a munkámhoz. A Wikipédiából töltöttem le a férfi és női keresztneves cikkek címét. Írjál e-mailt, a hétvégén majd elküldöm.

Előzmény: pimre (23835)
pimre Creative Commons License 2014.01.24 0 0 23838

Köszönöm. Ilyenekkel egyelőre szerencsére nem találkoztam az én közel 3000 nevet tartalmazó listámban. De, ha majd lesz ilyen, akkor majd elkezdek sakkozni:-)

Előzmény: Törölt nick (23837)
Törölt nick Creative Commons License 2014.01.24 0 0 23837

Viszont érdekes lesz kisakkozni, hogy melyik férfinév és melyik női :)

Agapion?

Anasztáz?

Dalia?

:-)

Előzmény: Törölt nick (23836)
Törölt nick Creative Commons License 2014.01.24 0 0 23836

Még anno letöltöttem azt a fájlt, és más forrásból származó nevekkel összekombinálva lett egy 2800 neves lista. Elküldtem email-ben.

Előzmény: pimre (23835)
pimre Creative Commons License 2014.01.24 0 0 23835

És rögtön egy újabb kérés: 

 

Szeretnék egy férfi és női keresztneveket tartalmazó listát Excel által kezelgető formában. (Vagy legalább az egyiket a kettőből) Láttam, hogy Delila 2010 augusztusában (#12523) feltett egy listát a data.hu-ra 2300 utónévvel, de az ma már nem elérhető.

 

Megvan még valakinek, vagy van valami hasonló?

 

Mert szeretném megállapítani egy neveket tartalmazó adatbázisból a szereplők nemét. A név szétszedése vezeték-, kereszt, születési vezeték-, és születési keresztnévre (ahol ezek is vannak) gyönyörűen megy (jó néhány órai programozás után), ahol asszonynév van (-né a vége valamelyik résznek), ott is tudom, hogy nő, csak a legegyszerűbb esetekben a Gipsz Jakab és a Gipsz Ilona esetében nincs eszközöm a nem megállapítására. És több ezer adatról van szó, úgy hogy nem szívesen csinálnám kézzel.

 

pimre Creative Commons License 2014.01.24 0 0 23834

Köszönöm, és működik is. Szamár vagyok, hogy nem jutott eszembe. Hiszen amikor beírtam a vbCompareText szöveget, aminek az értéke 1, a program ezt a kezdőpontnak értékelte.

Előzmény: Törölt nick (23833)
Törölt nick Creative Commons License 2014.01.24 0 0 23833

Hülyeséget mondtam az előbb, nem gondoltam végig.

Jó az, amit próbálsz, csak kell még bele 2 vessző. (A vbCompareText a 6. paraméter.)

Előzmény: pimre (23831)
Törölt nick Creative Commons License 2014.01.24 0 0 23832

Kombináld a LCase függvénnyel.

Előzmény: pimre (23831)
pimre Creative Commons License 2014.01.24 0 0 23831

De nem szeretnék az elütések különböző lehetőségeivel foglalkozni. Azt szeretném, hogy akár Fsz, akár FSZ az eredeti, mindenképp kisbetűs legyen. És mivel más hasonló rövidítéseket is vizsgálok (példának csak ezt az egyet hoztam fel), jó lenne, ha mindegyiket egy lépésben tudnám transzformálni.

Előzmény: Sánta Kutya (SK) (23830)
Sánta Kutya (SK) Creative Commons License 2014.01.24 0 0 23830

Van. Ha a nagyot cseréled kicsire, és nem kapcsolod ki a nagybetűérzékenységet. Ami eleve kicsi, azt úgysem akarod cserélni.

Előzmény: pimre (23829)
pimre Creative Commons License 2014.01.24 0 0 23829

Sziasztok, egy nagyon elemi kérdésem van. Lehetséges a replace parancsban a case szenzitivitást kikapcsolni.  A következő paranccsal próbáltam elérni, hogy a lakcímben akár kis, akár nagy kezdőbetűvel írták a földszint rövidítését, egységesen kisbetűs legyen. A következő szintaxist használtam:

lakcim=Replace(lakcim, "fsz", "fsz", vbTextCompare)

 

A leírások szerint a vbTextCompare használatával lesz érzéketlen a kis és nagy betűkre a keresés. A fenti sornak ennek megfelelően azt kellene eredményeznie, hogy ha az eredeti kifejezésben akár Fsz volt, akár fsz akkor is cserélje, ami az utóbbi esetben a változatlanul hagyást eredményezi.

 

De nem jött össze. A paraméter elhagyásával sem. A VbBinary-val nem próbálkoztam, mert elvileg az lenne case sensitive.

 

Van megoldás arra, amit szeretnék?

Fferi50 Creative Commons License 2014.01.22 0 0 23828

Szia!

 

Milyen exceled van? 2003,2007,2010,2013?

 

Ha minden igaz az ALT+F11 gomb együttes lenyomásával előjön a Visual Basic ablak. A felső sorba levő menüből kiválasztod az Insert - majd utána a Module lehetőséget.

Az így kapott kódlapra bemásolod a makrót.

 

Üdv.

 

Előzmény: vasascnc (23827)
vasascnc Creative Commons License 2014.01.22 0 0 23827

Bocsi, igaz buta kérdés, de nem találom a lehetőséget ahová beírhatnám az általad küldött macrót.

Hová kell ezt beírni!

Előzmény: Fferi50 (23825)
vasascnc Creative Commons License 2014.01.22 0 0 23826

Megtiszteltél válaszoddal!

 

Vacsi a gyerekeknek és neki ülök ,megcsinálni!

Köszönettel:pityu

Előzmény: Fferi50 (23825)
Fferi50 Creative Commons License 2014.01.22 0 0 23825

Szia!

 

Feltételezve hogy:

  • a .txt már be van olvasva
  • az adatok az első oszlopban vannak
  • az A1 cellában fejléc van
  • az új adatokat a G oszlopba tesszük

akkor a kód a következő:

 

Sub cserel()
Dim intvanS As Integer, intvanSh As Integer, rngvannak As Range, cl As Range
Const G = "G", F = "F", S = "S", K = "K", GSZER = 4, FSZER = 2
With ActiveSheet.UsedRange
.Columns(1).Copy .Columns("G")
.Columns("G").AutoFilter field:=1, Criteria1:=Array("*S*", "*F*"), Operator:=xlFilterValues
Set rngvannak = .Columns("G").SpecialCells(xlCellTypeVisible)
For Each cl In rngvannak.Cells
    intvanS = InStr(cl.Value, G)
    If intvanS > 0 Then
       intvanSh = InStr(intvanS, cl.Value & " ", " ") - intvanS
       cl.Value = Replace(cl.Value, Mid(cl.Value, intvanS, intvanSh), S & Mid(cl.Value, intvanS + 1, intvanSh - 1) * GSZER)
    End If
    intvanS = InStr(cl.Value, F)
    If intvanS > 0 Then
       intvanSh = InStr(intvanS, cl.Value & " ", " ") - intvanS
       cl.Value = Replace(cl.Value, Mid(cl.Value, intvanS, intvanSh), K & Mid(cl.Value, intvanS + 1, intvanSh - 1) * FSZER)
    End If
Next
.Columns("G").AutoFilter
End With
End Sub

 

Kiegészítésül:

  • A columns("G") mint cél oszlop átírható pl. így columns("B") és akkor a "B" oszlopba kerülnek az új adatok.
  • A const -konstansként definiált - G,F,S,K átírható más betűre is, pl. mondhatod a G-re hogy ="H" és akkor a H-t fogja kicserélni "S"-re, vagy mondhatod az S-re hogy ="Z" és akkor a G-t "Z"-re fogja cserélni stb.
  • A GSZER és FSZER értéke ugyanígy módosítható
  • Ha további betűs cserére lenne szükség, akkor a const sorba felveheted az új betűket és a szorzót a minta szerint folytatva és a vastag betűs sorokat annyiszor ismétled, ahány új betűpárost vettél fel -természetesen a két betűt kicseréled -
  • Ha az előzőek szerint új betűket vettél fel, akkor ezt a sort is módosítanod kell:
    .Columns("G").AutoFilter field:=1, Criteria1:=Array("*S*", "*F*"), Operator:=xlFilterValues
    a következők szerint:
    .Columns("G").AutoFilter field:=1, Criteria1:=Array("*S*", "*F*","*újbetű*), Operator:=xlFilterValues
    (természetesen csak a betűt írod az újbetű helyére, és annyi plusz betűt teszel be, ahányat cserélni akarsz majd)

Remélem segít a probléma megoldásában.

 

Üdv.

 

 

Előzmény: vasascnc (23822)
Sánta Kutya (SK) Creative Commons License 2014.01.22 0 0 23824

Nem egészen értem az adatkezelési stratégiádat. Számomra ilyen a választás:

a) Sok adattal akarok dolgozni, számítógéppel csinálom, ehhez nyilván be kell vinnem a gépbe.

b) Nem akarom bevinni a gépbe, mert nem ér annyit => golyóstoll.

 

Ha már bent van a gépben, akkor

a) Megőrzöm, mert máskor is szükség lehet rá.

 aa) Igyekszem elrendezni az adataimat, és szűrésekkel válogatom ki az éppen szükségeseket (elsődleges preferencia).

 ab) Feladatonként külön tárolom.

b) Eldobom, mert számított, nem elsődleges adat, bármikor újból generálni tudom (lényegében az aa) egy alesete).

c) Eldobom, mert komolyan gondolom, hogy már nem lehet szükségem rá (ritka).

 

"feleslegesen rögzíteném az adatbázisba, mert utána annyi cím és név lenne, hogy nehézkes lenne a keresés" -- ez szerintem az adatbázis fogalmának a félreértése.

Valahogy be kell vinni a gépbe. Ha tényleg el akarod dobni, nem mindegy, hogy az adatbázisodba viszed be, és onnan dobod be, vagy pedig egyenként gépeled be egy Word dokumentumba?

Előzmény: rolee81 (23818)
Sánta Kutya (SK) Creative Commons License 2014.01.22 0 0 23823

Nem, bármilyen táblázatból. Csak lehet, hogy adatbázisnak hívja, erre már nem emlékszem. De ezt már mondtam.

Előzmény: rolee81 (23819)
vasascnc Creative Commons License 2014.01.22 0 0 23822

Sziasztok!

 

Excel-ben próbálkozok...

Feladat az lenne hogy egy .txt-beolvasásával megcsináljon egy egyszerű feldolgozást/számítást,és az eredményt egy másik oszlopba kiírja.

Pl. EZ A BEOLVASOTT .TXT :

 

H89 D45

C0 B54984 G556886 f1870

.....

.....

.....

Feladat:

Ha talál a .txt-ben "G" betüt és utána egy számot akkor azt nevezze átt "S"betüre és a számsor pedig szorozza meg 4- el.

   és   ha   még lehet  "F" betüt és utána egy számot akkor azt nevezze átt "K"betüre és a számsor pedig szorozza meg 2vel.

 

így képzelem el a megoldás kinézetét:

H89 D45

C0 B54984 S2227544  K3740

.....

.....

 

Köszönet előre is..!

Fferi50 Creative Commons License 2014.01.21 0 0 23821

Az adott levél után folytatólagosan csinálsz egy új szakaszt (lap elrendezése = töréspontok= szakasztörés következő oldal), ezután megformázod csak a szakaszra vonatkozóan a papírméretet, átmásolod rá a címet - ahogy a borítékra is - és utána kinyomtatod.

Ha több tv. kell akkor több oldalt adsz hozzá. (A lényeg, hogy a levél formázása és a hozzáadott tv. szakaszok formázása eltérő!)

 

Üdv.

Előzmény: rolee81 (23818)
rolee81 Creative Commons License 2014.01.21 0 0 23820

Vagy úgy hogy mauálisan beírom a körlevél helyére, de akkor is külön dokumentumot kell emgnyitnom, az én általam mondottnál meg egyből abból a dokumentumból nyomtatok.

Előzmény: rolee81 (23819)
rolee81 Creative Commons License 2014.01.21 0 0 23819

A levélkészítésnél viszont csak adatbázisból dolgozik amihez abba kéne először rögzítenem.

Előzmény: Fferi50 (23817)
rolee81 Creative Commons License 2014.01.21 0 0 23818

A másik kérdésedre pedig az a válasz, hogy nagyon sok olyan cím van amit csak egyszeri esetben használnék, és feleslegesen rögzíteném az adatbázisba, mert utána annyi cím és név lenne hogy nehézkes lenne a keresés.

Előzmény: Fferi50 (23815)
Fferi50 Creative Commons License 2014.01.21 0 0 23817

Szerintem te érted félre. Én nem azt írtam, hogy a boriték készítésbe menj bele.

A levél készítést válaszd és akkor be tudod mindazt állítani amit írtam.

 

Üdv.

Előzmény: rolee81 (23816)
rolee81 Creative Commons License 2014.01.21 0 0 23816

Félreértesz. Ha rámegyek a "levelezés" fülre és után a bal szélen lévő "borítékok gombra" akkor ott nincs lehetőség szerkesztésre, max a borítékok -> beállítások fülön kitudok választani egy másfajta borítékméretet, de szerkeszteni nem tudom hogy belőjem a tértivevénynem megfelelő szöveg elhelyezést. Vagy ebbe a boríték méret listába lehet valahol tenni egyénileg szerkesztettet?

Előzmény: Fferi50 (23814)
Fferi50 Creative Commons License 2014.01.21 0 0 23815

Másrészt, mi akadálya annak, hogy az új címeket felvedd ugyanabba a listába, vagy egy külön - tértivevény  - címlistába?

 

 

Előzmény: Fferi50 (23814)
Fferi50 Creative Commons License 2014.01.21 0 0 23814

Szia!

 

Kiválasztod azt a papírméretet, ami megfelel a tértivevény méretének és tájolásának (fekvő, álló).

Azután készíts egy levélmintát, ahova a címlistából beteszed a címzett adatait oda, ahol a tértivevényen szerepelnie kell, a feladót is odaírod, ahova kell. Egy-két próbanyomattal (üres lapra) szerintem be tudod igazítani.

 

Ezután már csak be kell tölteni a nyomtatób a tértivevényeket.

 

Üdv.

Előzmény: rolee81 (23813)
rolee81 Creative Commons License 2014.01.21 0 0 23813

Nem rossz amit írtál, tudom is hasznosítani az előre felvett címekkel. Viszont nekem sokszor más-más címet kéne írnom mint amit a körlevél listába már egyszer rögzítettem.

Találtam egy olyan funkciót a "levelezés" fülön hogy "boríték". Ez tökéletesen megfelelne nekem mert itt amit kijelölök egy levélen azt borítékra teszi és nyomtathatok is. Ugyan ezt kellene megoldanom hogy tértivevényre is működjön. Mert mért is ne teljesen más helyre kell hogy kerüljön a tértivevényen a címzett (ball fent-közép tájra és nem jobb lentre), és ugye itt (boriték fülön) nincs olyan funkció hogy csak átrendezem az elhelyezést. :S

Erre van megoldás vajon?

Előzmény: Fferi50 (23811)
Fferi50 Creative Commons License 2014.01.21 0 0 23812

Még egy kis segítség:

 

A boríték tartalmát a saját szöveged (pl. feladó adatai) és a címlistából való mezőválasztással -pl. címzett adatai - tudod összeállítani. Közben válthatsz a mezőnevek és a behelyettesített értékek között.

Formázni ugyanúgy tudod a mezőket, mint a normál szöveget.

A legjobb elhelyezés "próbanyomattal" illetve nyomtatási nézettel tudod megállapítani.

 

Üdv.

Előzmény: Fferi50 (23811)
Fferi50 Creative Commons License 2014.01.21 0 0 23811

Nos akkor szánj rá néhány (x10) percet és saját kezűleg megcsinálhatod az alapot:

 

Levelezés:

Címzettek kiválasztása => új lista létrehozása:  A megjelenő ablakot értelemszerűen kitöltöd (akár valódi cimzettekkel is), elmented a javaslat szerinti kiterjesztéssel egy neked megfelelő névvel a saját dokumentumaid közé vagy egy új helyre tetszés szerint.

 

Utána körlevélkészítés indítása = > borítékok: címzettek kiválasztása

 

A többit próbáld megoldani.

 

Ha további segítségre lenne szükséged, írj.

 

Üdv.

Ps. Ezt szerintem akkor tudod a legjobban használni, ha Te magad hozod létre.

Előzmény: rolee81 (23810)
rolee81 Creative Commons License 2014.01.21 0 0 23810

2010-est

Előzmény: Fferi50 (23809)
Fferi50 Creative Commons License 2014.01.21 0 0 23809

Milyen word verziót használsz?  2003,2007,2010,2013?

 

Előzmény: rolee81 (23808)
rolee81 Creative Commons License 2014.01.21 0 0 23808

Igen word kellene mert mindent abban csináltam eddig. Esetleg nem tudnál nekem egy alap ilyet összetenni?

 

Előzmény: Fferi50 (23807)
Fferi50 Creative Commons License 2014.01.21 0 0 23807

Word verzió?

 

Előzmény: rolee81 (23806)
rolee81 Creative Commons License 2014.01.21 0 0 23806

Nem vesztette aktualitását, folyamatosan szeretném használni. :)

A második variáció megfelelő lenne, hogy csak a levél alján lévő címeket kéne borítékra és tértivevényre nyomtatni, nem kell átcímezni az eredeti levelet.

 

 

Előzmény: Fferi50 (23804)
Fferi50 Creative Commons License 2014.01.21 0 0 23805

Még valami:

 

Milyen a Word verziója?

Mert pl. a 2010-ben már a levelezés, körlevélkészítés indítása esetén felajánlja a boríték, cimke verziót is, továbbá a címzettek kiválasztásánál az új lista létrehozását.

 

Lehet, megérné egyszer ezeken a lépéseken végigmenni:)

 

Üdv.

Előzmény: Fferi50 (23804)
Fferi50 Creative Commons License 2014.01.21 0 0 23804

Szia!

 

De ugye azért az "egy levelet" a címzettek mindegyike külön-külön megkapja papír alapon (másolatban vagy neki címezve)?

Ha neki címezve, akkor ez klasszikus körlevél bizony. Ha csak úgy, hogy az eredeti címzettre van megcímezve és a többi neve, címe ott van a levél alján akkor  borítékot v. cimkét  is csinálhatsz körlevél módon, csak a formátumát kell megfelelően beállítani a word dokumentumnak és a nyomtatónak.

 

Másrészt - lehet azóta már megcímezted a borítékokat a levél másolatoknak :) - és az egész feladat aktualitását vesztette.

 

De szerintem még egy excel tábla létrehozása sem hosszabb, mint amióta polemizálunk.

 

Üdv.

Előzmény: rolee81 (23803)
rolee81 Creative Commons License 2014.01.21 0 0 23803

Jól látod a problémát, hivatalos levélről van szó. Egy levél, több címzett.

De már az is jó lenne ha csak egy címzettnek megírná a borítékot meg a tértivevényt mert annyival is kevesebbet kellene manuálisan csinálni.

Előzmény: SQLkerdes (23801)
Sánta Kutya (SK) Creative Commons License 2014.01.21 0 0 23802

Ha a levél egyforma, akkor külön dokumentumból nyomtat vagy fénymásol, és csak a boríték meg a tértivevény képezi a körlevél tárgyát. Ezt érzékelhetnénk körborítéknak vagy körtértivevénynek, de technikailag ez is körlevél.

Előzmény: SQLkerdes (23801)
SQLkerdes Creative Commons License 2014.01.21 0 0 23801

Érteni vélem a problémát.  Amit szeretnél azt sem az excel sem a word nem tudja natív módon (magától, külön programozás nélkül) megcsinálni.

 

A félreértést ha jól látom az okozta, hogy neked csak egy leveled van, de több címzett kapja (mint a hivatalos levelek az alján van a lista a további címzettekről).  A körlevél esetén n darab címzett van és n darab levél készül.

Előzmény: rolee81 (23794)
rolee81 Creative Commons License 2014.01.21 0 0 23800

Nem értem, mindegy majd próbálkozok valamit. Azért köszi.

 

Előzmény: Sánta Kutya (SK) (23799)
Sánta Kutya (SK) Creative Commons License 2014.01.21 0 0 23799

Nem, a "törzsdokumentumnak" (vagyis a levélsablonnak) és az adattáblának külön állományban kell lennie. És az összefésülés után egy harmadik jön létre belőlük, de azt nem muszáj menteni, lehet, hogy csak kinyomtatod és eldobod, hiszen redundáns.

Előzmény: rolee81 (23798)
rolee81 Creative Commons License 2014.01.21 0 0 23798

Tehát megoldható az hogy a levél wordben van, a végén van egy word táblázat, és ebből képez excelben egy borítékot? Vagy nem értem.

Előzmény: Sánta Kutya (SK) (23797)
Sánta Kutya (SK) Creative Commons License 2014.01.21 0 0 23797

A körlevél nagyon vidáman működik Excel-táblázattal. Ha nagyon akarod, még Word-táblázattal is, de az Excel tényleg praktikusabb.

Előzmény: rolee81 (23796)
rolee81 Creative Commons License 2014.01.21 0 0 23796

Használtan már körlevelet, de csak olyan esetben mikor egy adatbázisban rögzített állományból képeztem a címzetteket. Most pedig az lenne a cél hogy egy levél pár címzettjéből csináljon borítékot és tértivevényt. Magyarul nem akarok pár név miatt adatbázist csinálni mert az tovább tartana mint ha manuálisan megírogattnám a borítékot. A levélre mindenképp rá kell írnom a 3-4 címzettet, és azt szeretném ha ezt a 3-4 nevet nem kéne újra beírogatnom mikor borítékot csinálok.

 

Előzmény: Sánta Kutya (SK) (23795)
Sánta Kutya (SK) Creative Commons License 2014.01.21 0 0 23795

A körlevél a te barátod, első körben keress rá.

Előzmény: rolee81 (23794)
rolee81 Creative Commons License 2014.01.21 0 0 23794

Segítséget kérnék.

 

Azt szeretném megoldani, hogy egy hivatalos dokumentumot ha írok Word-ben és több címzett van akkor mindegyiknek egyből lehessen borítékot és tértivevényt nyomtatni. Úgy képzeltem el hogy a levél végén a "kapják:" után írnám be a címzetteket és ezekből az adatokból kéne borítékot és tértivevényt képezni, akár excelben is jó, csak maga a levél wordben kéne hogy legyen a szerkeszthetőség miatt.

 

Gondolom megoldható, csak nemtudom hogyan. Ha kérhetem ne csak kétszavas válaszokat írjatok mert azt nem fogom megérteni.

 

Köszi előre is.

GrundfosUPS2560eladó15000 Creative Commons License 2014.01.20 0 0 23793

=HA(C1=1;B1;" ")

Előzmény: lucabrazi (23789)
Fferi50 Creative Commons License 2014.01.20 0 0 23792

Szia!

 

Az is jó lenne, ha a feladatot egyben láthatnánk. Mert arra, amit kérdeztél, Delila megadta a megoldást. Amit most kérdezel, az viszont egy kicsit "homályos":

 

"mert nem csak B oszlopom van hanem több is."

Hány oszlopod van és melyiket kell szűrni, mi alapján?

"A név mellé még akarok számot, is ami az A oszlopban nem szerepel."

Azokat a számokat honnan veszed? Van egy listád? Vagy csak úgy jön?

 

"A HA függvénnyel próbáltam az nem rossz,de ha betűt írok akkor hibát ír:("

Milyen hibát ír ki? Mert pl. a betűt idézőjelben kell használni, akkor lesz betűként értelmezve.

 

Üdv.

Előzmény: lucabrazi (23791)
lucabrazi Creative Commons License 2014.01.20 0 0 23791

Köszi!

 

Nem rossz,valami képlettel nem lehet ezt megoldani.

Automatice kellene, mert nem csak B oszlopom van hanem több is.

A név mellé még akarok számot, is ami az A oszlopban nem szerepel.

Vagyis ha másolom akkor mellé kell majd írogatnom.

A HA függvénnyel próbáltam az nem rossz,de ha betűt írok akkor hibát ír:(

Előzmény: Delila10 (23790)
Delila10 Creative Commons License 2014.01.20 0 0 23790

Tegyél autoszűrőt a táblázatodra. Szűrd a B oszlopot nem üresre, jelöld ki a látható sorokat, és másold át a másik füzetbe.

Előzmény: lucabrazi (23789)
lucabrazi Creative Commons License 2014.01.20 0 0 23789

Sziasztok!

 

Segítséget szeretnék kérni.

 

Az A oszlopban van egy névsor.

A B oszlopba kerülnek mellé számok vagy betűk vagy semmi.

Egy új munkafüzeten csak azok nevét szeretném látni aki mellé kerül szám vagy betű.

Ebben kérném valakinek a segítségét

 

Köszönöm.

 

NeomatiK Creative Commons License 2014.01.19 0 0 23788

Úgy veszem észre, marad az F2.

Előzmény: Sánta Kutya (SK) (23787)
Sánta Kutya (SK) Creative Commons License 2014.01.19 0 0 23787

2000-ben olyan van, hogy enter után továbblép, lehet, hogy ehhez van kötve, próbáld ki.

Ha nem, akkor F2.

Előzmény: NeomatiK (23784)
Sánta Kutya (SK) Creative Commons License 2014.01.19 0 0 23786

Ezután C1-be

=INDEX(Munka2!B:B;HOL.VAN($A1;Munka2!$A:$A;0))

És ezt húzod jobbra D, E-be.

Ne ijedj meg, ha tizedestörtek jelennek meg, át kell állítani a cellaformátumot az idő kategóriánál óó:pp formátumra.

Előzmény: Kontroler (23778)
Sánta Kutya (SK) Creative Commons License 2014.01.19 0 0 23785

 

Ezt egy másik munkalapra, hogy ne zavarjon.

Az időket lehet, hogy 8:00:00 alakban kell megadni.

Előzmény: Kontroler (23778)
NeomatiK Creative Commons License 2014.01.19 0 0 23784

Nem találtam meg ezt a beállítási lehetőséget. Excel 2002.

Előzmény: NeomatiK (23783)
NeomatiK Creative Commons License 2014.01.19 0 0 23783

Szóval akkor nem bug, hanem feature. Megkeresem, hol kell beállítani... Bár nem rémlik ilyen lehetőség a beállításokban.

Nálam zavaró. Akár ha szöveget írok be és kimarad egy betű, vagy át akarom szerkeszteni, akár ha képletet írok be.

Ha másik cellára akarok (akarnék) lépni beírás közben, akkor nyomok egy entert és utána navigálok a nyilakkal.

Előzmény: Sánta Kutya (SK) (23781)
NeomatiK Creative Commons License 2014.01.19 0 0 23782

Köszcsi! Biztos kell oda szóköz? Szerintem csak akkor ha nem számmal írjuk a hónapot. De majd utánajárok a magyar Hejesirásí ßótárban.

Előzmény: Sánta Kutya (SK) (23780)
Sánta Kutya (SK) Creative Commons License 2014.01.19 0 0 23781

Az elsőre: így van jól, de a beállításokban valahol kikapcsolható, ha zavar.

 

Általában ritkábban akarunk beírás közben a betűk között mozogni, mint a nyíllal átlépni a másikra. Ha mégis, akkor az F2 megnyomásával elérhető a kívánt hatás.

Előzmény: NeomatiK (23779)
Sánta Kutya (SK) Creative Commons License 2014.01.19 0 0 23780

Cellaformázás --> szám fül --> alul egyéni

éééé. hh. nn.

Ebben már a szóközök is benne vannak, szintén a magyar helyesírás szerint. :-)

Egy h, egy n nem tesz nullát az egyjegyűek elé, 3 és 4 meg csodát tesz. :-)

Előzmény: NeomatiK (23779)
NeomatiK Creative Commons License 2014.01.19 0 0 23779

Sziasztok!

 

 

Mindig előjön, ha írok egy cellába valamit és a kurzor billentyűzettel előre (vagy hátra) akarok menni, akkor kilép a szerkesztő módból, vagyis kilép a cellából és a tőle balra eső cellára megy (ha a balra nyilat nyomtam).

Ez nálatok is így van? És miért van így?

 

A másik, ami engem zavar. Hiába van megadva a magyar terület, a dátumot mégis úgy írja be, hogy az utolsó pontot "letörli". Hiába írom be, hogy

2014.01.18.

az lesz belőle, hogy

2014.01.18

A magyar helyesírás szerint a pontra végződő a jó. Át lehet állítani erre az Excelt?

Kontroler Creative Commons License 2014.01.19 0 0 23778

Sziasztok!

A következővel nem boldogulok: Minden hónapban készítek egy táblázatot arról, ki melyik műszakban dolgozott és hány munkaórája van. 

Amit szeretnék:
A oszlopba beírom a műszak számát 1-8-ig.
C oszlopba jelenjen meg a műszak kezdete. (pl. 2-es műszak 08:00)
D oszlopban a műszak vége. (pl. 16:30)
E oszlopban a nettó idő, ami 30 perccel kevesebb, mint a kezdet és a vég időpont között eltelt idő.

Tehát ha az A oszlopba beírok egy számot, a többiben ennek megfelelően jelenik meg a műszakhoz kötődő többi adat.

Köszönöm, ha valaki felvilágosít!

seven update sorbi Creative Commons License 2014.01.18 0 0 23777

Nagyon jó, köszi!

 

(Egyetlen dolog kellett csak, a transpose függvény. Ezt viszont földi ember nem találja ki a helpből.)

Előzmény: Fferi50 (23776)
Fferi50 Creative Commons License 2014.01.18 0 0 23776

Szia!

 

Jó hírem van, sikerült megtalálni a megoldást (forrás:http://blog.contextures.com/archives/2010/12/15/excel-autofilter-with-criteria-in-a-range/)

 

 

Feladat:

     A kritériumlistát szövegként kell bevinni!!! (A cella elejére ' - aposztróf - kell).

  1. A kritériumként használt tartomány fejéhez rendelj egy nevet (pl. Fej).
  2. A kritériumlistához is rendelj egy nevet (pl.KritList) a következő képlettel :
    =ELTOLÁS(Fej;1;0;DARAB2(Munka1!$D:$D)-1;1) , ha a kritériumokat a D oszlopba teszed. Ez a képlet dinamikusan kezeli a nevhez tartozó területet. Ha írsz hozzá, bővül, ha törölsz belőle, akkor szűkül (az offset és a darab2 miatt).

Ezután a makro:

Sub szuri()
Dim rngcrit As range

Dim vcrit as variant
Set rngcrit = Range("KritList")
vcrit = rngcrit.Value
Columns(1).AutoFilter field:=1, Criteria1:=Application.Transpose(vcrit), Operator:=xlFilterValues
End Sub

 

Üdv.

Előzmény: seven update sorbi (23774)
Fferi50 Creative Commons License 2014.01.18 0 0 23775

Szia!

 

Egyenlőre ezt sikerült összehozni, ami működik is:

 

sub szurje

sheets("Munka1").columns(1).autofilter field:=1,criteria1:=array("1","3","5"),operator:=xlfiltervalues

end sub

 

Ez szépen szűri az A oszlopot. Viszont bármi mást (változót) írok a criteria1-hez, nem veszi be a "gyenge gyomra", nyilván ez még kevés neked az automatizáláshoz.

(Bár, ha arra gondolok, hogy a D2:Dakarmi tartományba be kell írni az értéket, azt elvileg a makróba is beírhatod a szűrés előtt.....)

 

Viszont az advancedfilter szépen működik:

sub szuri

sheets("Munka1").columns(1).advancedfilter action:=xlfilterinplace,criteriarange:=range("D1:F4")

end sub

 

Ehhez az kell, hogy az A1 cellába írj be egy fejlécet (Pl.fej), a d1:f1 cellákban ugyanezt, majd a d2-be 1, e3-ba 3, f4-be 5.

Ha folytatódik a kritérium, akkor a fejlécet folytatni kell tovább és mindig a következő sorba kell írni a kívánt értéket.(ez jelenti a vagy logikai kapcsolatot a feltételek között  azaz a feltétel fej=1 vagy fej=3 vagy fej=5 stb.)

Szerintem számodra az advancedfilter lenne a jobb megoldás.

 

 

Azért még nézegetem egy kicsit az autofiltert is, hátha lesz más megoldás.

 

Üdv.

Előzmény: seven update sorbi (23774)
seven update sorbi Creative Commons License 2014.01.18 0 0 23774

A "D1:D3" tartomány lefele változhat, tehát nem lehet fixen megadni a criteria1, criteria2, criteria3 opciót az autofilter parancsban.

Előzmény: seven update sorbi (23773)
seven update sorbi Creative Commons License 2014.01.18 0 0 23773

Sematizálva így néz ki.

 

 

 

A "D2:D4" tartomány értékeire kellene az "A2:C16" tartomány "A" oszlopát rászűrni autószűrővel, makróval, tartománymegadással. (Ha a szűrésnél bezavar, hogy a szűrendő tartomány és a megadott egyedeket tartalmazó tartomány egy lapon van, természetesen ez utóbbit lehet külön lapra tenni.)

 

2010-es excelem van.

Előzmény: Fferi50 (23772)
Fferi50 Creative Commons License 2014.01.18 0 0 23772

Szia!

Milyen excel verziód van? Mert attól függ, hogy mit lehet makróból is csinálni az auto szűrővel. Illetve, kérdés, hogy nem jó-e az irányított szűrő? Jó lenne egy kicsit pontosabban ismerni a feladatot.

 

Üdv.

Előzmény: seven update sorbi (23771)
seven update sorbi Creative Commons License 2014.01.18 0 0 23771

Egyébként két lépésben meg tudnám oldani a dolgot (a tartományból beszínezem a kívánt értékeket, majd színre szűrök), de ez valahogy nagyon favágó módszernek tűnik.

Előzmény: Fferi50 (23769)
seven update sorbi Creative Commons License 2014.01.18 0 0 23770

"Makróból viszont be lehet állítani tartományból vehető értéket."

 

Akkor ez érdekelne engem konkrétan. (Néztem a helpet, de nem adta meg magát nekem.)

Előzmény: Fferi50 (23769)
Fferi50 Creative Commons License 2014.01.18 0 0 23769

Szia!

 

Általában:

 

Kétfajta szűrő van: 

1. autoszűrő  - ennek a feltétel értékét a megjelenő listából választhatod, vagy kifejezéssel adhatod meg (2010-ben már több egyedi értéket is kiválaszthatsz). Tartományt nem tudsz autoszűrő értékként közvetlenül használni. Makróból viszont be lehet állítani tartományból vehető értéket.

2. irányított (2010-ben már speciális) szűrő - itt előre megadhatsz szűrő feltételeket egy tartományban és ezt használhatod fel a szűrésre, ami történhet helyben vagy más helyre másolással. Természetesen makróból is működik a tartományból szűrés.

A szűrők viselkedése és makróból használata verziótól is függhet.

 

Javaslom az Excel/VBA helpet.

 

 

Üdv.

 

Előzmény: seven update sorbi (23768)
seven update sorbi Creative Commons License 2014.01.18 0 0 23768

Sziasztok!

 

Excelben, a szűrő működésével kapcsolatban azt szeretném kérdezni, hogy lehet-e a szűrőnek tartományból értéket adni (aminek az lenne a célja, hogy ne egyesével kelljen a lehetséges értékekre rákkatintani), vagy makróban lehet-e tartományból az autofilternek értéket adni?

 

Köszi a segítséget.

GrundfosUPS2560eladó15000 Creative Commons License 2014.01.17 0 0 23767

A felépítése állandó de ha ennyire bonyolult akkor maeada ctrl c p v verzió a képek tekintetében és a szűrők aprod.hu oldalon a feltöltötthirdetéseklekérdezése miatt kérdeztem 

Köszönöm 

 

Előzmény: Törölt nick (23766)
Törölt nick Creative Commons License 2014.01.17 0 0 23766

Nekem, ha jól értem a kérdést, napokba telne összerakni egy ilyen programot. Ráadásul nem tudnám szavatolni a hosszan tartó működőképességet, mivel a dolog nem tőlem függ, hanem attól, hogy a lekérdezendő weblapnak mennyire állandó a felépítése.

Előzmény: GrundfosUPS2560eladó15000 (23765)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.17 0 0 23765

Akkor excelfrissítenem kell. Ahogy ittvagyok a fórumon mindig újabb részeket fedezek fel. Nos akövetkező szintre eljutva (ami nálam nem egy magas szint) szeretném egy honlap adatait lekérdezni 

Eljutottam arra a szintre, hogy ezt hogyan is kell adatok megjelennek stb.De mindezt képekkel lehetséges lenne?

 

Adott egy ismert hirdetési portál. Felviszem a hirdetéseimet mindig ujabbakat mindig bővül ez a termékpaletta stb. A profilomban láthatom a hirdetéseimet szépen egymás alatt fényképekkel árakkal stb. Nos ezeket az adatokat képeket árakat le tudommenteni importban excelre?

 Vagy ilyenre ne is vágyjak.

 

Delila10 Creative Commons License 2014.01.14 0 0 23764

Igazatok van, tényleg a képet kijelölve kellene bevinni a tartomány címét, és valóban a 2007-es verzió ezt nem engedi.

Előzmény: Delila10 (23763)
Delila10 Creative Commons License 2014.01.14 0 0 23763

Nem a képet, hanem a mögötte lévő tartományt kell kijelölni. Ezt hangsúlyozza is Kovalcsik Géza.

Előzmény: GrundfosUPS2560eladó15000 (23759)
tbando Creative Commons License 2014.01.14 0 0 23762

Van itt egy érdekesség. Leellenőríztem, hogy jól emlékeztem-e.  És meglepve láttam, hogy az ajánlatom a 2007-es excelben nem müködik. Ugyanúgy nem lehet a szerkesztőlécbe írni, mint nálad. A 2003-as excelben viszont minden további nélkül.       ??????

 

Talán valaki tudja az okát...

 

 

Előzmény: GrundfosUPS2560eladó15000 (23761)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.14 0 0 23761

Igen természetesen a Video szerint járok el 

 

Előzmény: tbando (23760)
tbando Creative Commons License 2014.01.14 0 0 23760

Melyik képet jelölöd ki? Azt kell, ami változik. 

Előzmény: GrundfosUPS2560eladó15000 (23759)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.14 0 0 23759

Tuti ez a kis Videó. Meg is értettem de amikor kijelölöm a képet a szerkesztőlécbe nem tudok írni. Miért?

 

Fferi50 Creative Commons License 2014.01.13 0 0 23758

Szia!

 

Ez nekem már magas egy "kicsit", én maradok a jó "öreg" excelnél.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23757)
Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23757

Bárhova, mondjuk egy jegyzettömbbe is.

Szöveget manipulálni sokkal egyszerűbb Excelben, a pgadminba csak a kész lekérdezés megy.

 

Eredetileg plpgsqlben akartam megírni, de aki már próbálkozott vele, az tudja, mennyire komoly dokumentációja van egy ilyen nyelvnek... Egy idő után feladtam, és így jutottam a hosszú SQL-kódok birodalmába.

 

Egyébként csak a hajónapló kedvéért: a legösszetettebb lekérdezés 2330 karakter lett, van benne 17 select, 10 union, 4 intersect és egy except. És ahhoz képest villámsebesen fut. :-)

Ezzel csak az a probléma, hogy az Excel nem engedi 546 képpontnál nagyobbra állítani a sormagasságot, így a sortöréssel együtt sem látom ott egyben, de szerencsére a pgadminban már igen, úgyhogy ezt nem kell megoldani. :-)

Előzmény: Fferi50 (23756)
Fferi50 Creative Commons License 2014.01.13 0 0 23756

Szia!

 

Hova másolódik idézőjelesen?

És ha már az adatbáziskezelőben manipulálsz, nem egyszerűbb ott összefűzni? Az excelben meg addig írod a cellákat, amíg rendesen látod őket.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23755)
Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23755

Na ezzel meg az az érdekes, hogy így valamitől idézőjellel másolódik, és az adatbázis-kezelőben kell leszedni róla, de ez már apróság...

Előzmény: Sánta Kutya (SK) (23754)
Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23754

Köszi, így már jó, sőt már eszembe is jutott, hogy ezt valamikor már tudtam is. :-)

Betettem egy cellába, hogy mindig csak &e$1-et kelljen a képletbe írni, így is működik.

Előzmény: Fferi50 (23753)
Fferi50 Creative Commons License 2014.01.13 0 0 23753

Szia!

 

Cellában használd a Karakter(10) -et, ez a soremelés, és állítsd be a sortöréssel több sorba jelzőt.

Ha angol excelled van akkor azt hiszem char(10).

A karakter(13) a soremelés kocsivissza karakter.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23752)
Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23752

Köszi, de a jelek szerint ez csak makróval működik, munkalapon nem.

Előzmény: Fferi50 (23751)
Fferi50 Creative Commons License 2014.01.13 0 0 23751

Vagyis pl.

 

ha

select  = A1 cella

where = A2 cella

from= A3 cella

 

akkor sql parancs = range("A1").value & vblf & range("A3").value & vblf & range("A2").value

 

Üdv.

 

Előzmény: Fferi50 (23750)
Fferi50 Creative Commons License 2014.01.13 0 0 23750

Szia!

 

Ha sortörést akarsz beszúrni, használd a vblf konstans, ez a linefeed-nek (soremelés) felel meg. Ezen kívül van még a vbcrlf ami pedig a soremelés kocsivissza karaktert szúrja be.

Az SQL legkérdezésben én a vblf-et használom.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23749)
Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23749

Hogy lehet függvénnyel egy megadott helyen sortörést beszúrni?

Éppen azzal szórakozom, hogy bonyolult SQL lekérdezéseket állítok össze Excelben szövegkezelő függvéyekkel, majd ezek kombinációiból még bonyolultabbakat, és aztán ismét.

Most éppen egy 1559 karakteres lekérdezésnél tartok, ami a DD oszlopban ér véget, úgyhogy félig vakon vezetek, de úgy tűnik, működik. :-) És még messze a vége, a legbonyolultabbat még halogatom.

Viszont ha el akarnám tördelni, akkor nem mindegy, hova kerül a sortörés.

Ilyenkor azért jó a 2010, ezt nem tudnám 2003-asban megcsinálni. :-)

Sánta Kutya (SK) Creative Commons License 2014.01.13 0 0 23748

http://support.microsoft.com/kb/213889/hu

Néhány rafkós ötlet szövegekkel kapcsolatban. A "Natrag na vrh" csak kicsit von le az értékéből.

Delila10 Creative Commons License 2014.01.10 0 0 23747

Részemről szívesen. :)

Előzmény: exszajmon (23745)
Vax Creative Commons License 2014.01.10 0 0 23746

Jó kérdés ahhoz, hogy az ember eltűnődjön a számítógép és a matematika kapcsolatán.
Az általános érvényű megoldás nem az Excel formázása, hanem a Word mezőkódjainak a beállítása.

Cikk 1

Cikk 2 

Előzmény: eFZé (23742)
exszajmon Creative Commons License 2014.01.10 0 0 23745

Sziasztok!

 

Köszi szépen a segítséget Delila és Fferi50. Működik a makro. Tök jó, hogy mindig van valaki, aki segít.

 

ÜDv:

 

Szajmon

Előzmény: Delila10 (23736)
Sánta Kutya (SK) Creative Commons License 2014.01.10 0 0 23744

Ez a számábrázolás sajátosságai miatt lehet, mivel a számítógép mindent kettes számrendszerben tárol. Egy átváltás és egy visszaváltás pont elég ehhez.

Előzmény: eFZé (23742)
DominicWolf Creative Commons License 2014.01.10 0 0 23743

Köszönöm szépen!

Mükszik.

Előzmény: Fferi50 (23728)
eFZé Creative Commons License 2014.01.10 0 0 23742

Sziasztok, egy furcsa jelenség, ami előtt értetlenül állok:

a1 cella: 1,999

a2 cella: 1,998

a3 cella: =a1-a2

Eredmény 3 tizedesjegyig értelemszerűen 0,001

De ha 20 tizedesjegyig állítom be, akkor az eredmény 0.00100000000000011 !

 

Oké, hogy alaphelyzetben nincs szükség ennyi tizedesjegyre, a dolog úgy bukott ki, hogy a cella értéket beillesztettem egy Word dokumentum körlevélbe, és hiába van az Excelben beállítva,  hogy 3 tizedesjegyig számoljon, beillesztésnél a cella teljes értékét beírja a Wordben.

 

Ötlet, vagy tipp hogy ezt miért csinálja?

 

Most úgy sikerült áthidalni a dolgot, hogy a kerekítés függvénnyel egy újabb oszlopban megkaptam azt az eredményt, ami kell a Word körlevélbe, csak ez így macerás.

 

 

Fferi50 Creative Commons License 2014.01.09 0 0 23741

Szia!

 

Én is úgy gondolom.:)

Nálam vegyesen fordul elő - mármint cells és range - mivel elég sokszor oszlopszámot kapok vissza és akkor már kényelmesebb a cells(sor,oszlopszám), mint az oszlopot még betűvé is alakítani. A betűs verzió akkor játszik általában, ha cella címből tudok kiindulni.

Ezért mostanában rátértem arra, hogy cella tartalom/érték helyett inkább magával a cellával (tartománnyal) dolgozom, amiből több mindent ki lehet nyerni, ha szükséges és talán egy kicsit jobban el lehet kerülni a futási hiba keletkezését.

 

Üdv.

Előzmény: pimre (23740)
pimre Creative Commons License 2014.01.09 0 0 23740

Szerintem is egyenértékű. Pusztán szokás kérdése. Nem?

Előzmény: Fferi50 (23738)
pimre Creative Commons License 2014.01.09 0 0 23739

Én viszont nagyobb programban szívesebben paraméterezek. Tehát a "W" az nálam a program elején deklarált beszélő public oszlopnév. Ha például filmcímekkel dolgoznék, és az első 3 oszlop tartalma a sorszám, a rendező és a cím lenne, akkor ssz="A", rendezo="B" és filmcim="C", és onnan kezdve a névvel hivatkozom rájuk. És ha évek múlva hozzá kell nyúlni a programhoz, akkor véletlenül sem tudom eltéveszteni az oszlopnevet. De néha kitüntetett sorok számát is paraméterezem. Ha például többsoros a fejléc, és a 6. az első tényleges adatsor, akkor annak is neve van: elsoadatsor, így nem probléma, hogy a ciklusokat melyik sortól kezdjem szervezni. Sőt, ha egyszer be kellene szúrni a fejlécbe még egy sort, akkor sem kell végigbogarásznom a programot, hogy fordul elő a 6-os szám, mint első sor, amit így 7-re kell javítani.

Így aztán néha a program fejlécében több tucat public változó van deklarálva, és egy - az elején meghívott - függvényben pedig ezek deklarációinak felsorolása (lehetnének konstansok is, de bizonyos okokból az Excelben jobban szeretem a public-ot)

 

Viszont mostantól át fogok térni én is a cells(sor, oszlopnév) formára, mert az megspórolja a jelenleg használt oszlopszámmá alakító függvényem meghívását.

Előzmény: Delila10 (23737)
Fferi50 Creative Commons License 2014.01.09 0 0 23738

Szia!

 

Szerintem a range("W" & sor) sem rosszabb.

 

Üdv.

Előzmény: Delila10 (23737)
Delila10 Creative Commons License 2014.01.09 0 0 23737

Egy ideje szívesebben használom a cells(sor, "W") formátumot – ha fixen, nem változóval hivatkozom az oszlopra –, mintha a W helyett 23-at írnék. Könnyebb visszakeresni, miről is van szó.

Előzmény: pimre (23726)
Delila10 Creative Commons License 2014.01.09 0 0 23736

Sub mm()
    Dim datdatum As String
    datdatum = Year(Date) + 1 & "_" & Right("0" & Month(Date), 2) _
           & "_" & Right("0" & Day(Date), 2)
    ActiveWorkbook.SaveAs Filename:="Valami_" & datdatum 
End Sub

Előzmény: exszajmon (23730)
pimre Creative Commons License 2014.01.09 0 0 23735

Szoktam használni a Range-t, de valahogy megszoktam a cells() szintakszisát, bár ha belegondolok, lehet, hogy semmi különösebb okom nincs rá.

Előzmény: Fferi50 (23733)
pimre Creative Commons License 2014.01.09 0 0 23734

És szerintem nem is célszerű pusztán a dátum számjegyeit használni fájlnév gyanánt. pontosabban nem szerencsés azzal kezdeni. Célszerű legalább egy szövegkaraktert elétenni. Konkrét exceles példát ugyan nem tudok hozni, hogy zavarokat okozhat-e de valahogy régesrégi gyakorlat, hogy megnevezéseket általában nem kezdünk számjeggyel. Úgy tudom, hogy biológiában az állat- és növényneveknél ez kötelező előírás, személyneveknél, de más tulajdonneveknél sem szokás. A királyoknál is római szám, azaz betű volt a kezdet :-) Szóval kerülendőnek gondolom itt is.

Előzmény: Fferi50 (23732)
Fferi50 Creative Commons License 2014.01.09 0 0 23733

Szia!

 

Hát nem feltétlenül bőbeszédű a Help. De a cells-nek ezt a tulajdonságát valami miatt én kezdettől fogva tudtam és használtam, azt már ne kérdezd meg,hogy honnan, mert ha megkövezel akkor sem tudom megmondani. Nehéz is volt megszokni, hogy a Range-ben a betűszám (oszlop-sor), viszont a cells-ben a szám,betű (sor,oszlop) a sorrend. Sokszor összekevertem, néha még ma is. De ha betűd már van, akkor miért nem használod inkább a Range-et, sokkal egyszerűbb a Range("Betű" & sorszáma), mint átalakítgatni a betűt számmá.:))

 

Üdv.

 

Előzmény: pimre (23726)
Fferi50 Creative Commons License 2014.01.09 0 0 23732

Szia!

 

Másik kérdésedre:

Szerintem a fájlnévhez nem használhatod fel egy az egyben a dátumformátumot, mivel abban olyan karakterek vannak, amelyeket nem lehet ott használni. Azokat át kell alakítani, pl. a replace függvénnyel a pontok helyére tehetsz aláhúzást, stb.(Illetve ez nyilván dátumformátum függő, vagy használhatod a számalakját is a dátumnak, hiszen a dátumot is számként kezeli az Excel).

A mentéshez nézd meg a SaveAs metódust.

 

Üdv.

 

Előzmény: exszajmon (23730)
Fferi50 Creative Commons License 2014.01.09 0 0 23731

Szia!

 

Nézd meg a DateAdd függvényt lsz.

 

Üdv.

Előzmény: exszajmon (23730)
exszajmon Creative Commons License 2014.01.09 0 0 23730

Sziasztok!

 

Tudnátok segíteni, két kérdésem lenne.

Az első:

 

Hogyan lehet egy dátum változóhoz hozzáadni pontosan egy évet pl: 2013.01.01 helyett 2014.01.01 legyen. Ezt egy datdátum változóban tárolom ezt szeretném valahogyan növelni egy évvel.

 

A második kérdésem ehhez kapcsolódik:

 

Meg lehet valahogy oldani, hogy ez az új dátum legyen a makró által elmentett új fájl neve is egyeben?

 

Előre is köszi

 

 

 

 

onezoli Creative Commons License 2014.01.09 0 0 23729

És a probléma megoldva..bizonyára a szövegszámok angol formátuma ami gondot okozott...maga a pontok cseréje vesszőre nem oldotta meg automatikussan , de utána Delila javaslata vagy Érték képlet már pozítiv eredménnyel zárult. 

Köszönöm a segítséget!!

Előzmény: Fferi50 (23702)
Fferi50 Creative Commons License 2014.01.09 0 0 23728

Szia!

 

A makro nyelve független a területi beállításoktól, internacionalista. Azt írtad, hogy az utolsó sort már meg tudod találni, erre írtam, hogy annak a sorszámához egyet hozzáadva megkapod a következő cellát a sorban.

 

A cellakereső makró ügyében PImre 23712-es hozzászólására gondoltam, utólag írtam is, hogy bocs mindkettőjük felé.

 

A makro:

Sub utolsocella()

Range("A" & Rows.Count).End(xlUp).Offset(1,0).Select

End Sub

 

Ezt írd be egy modul lapra, vagy a munkalap kódlapjára.

 

Üdv.

Előzmény: DominicWolf (23727)
DominicWolf Creative Commons License 2014.01.09 0 0 23727

Nem baj, hogy céges és angol az Excel?

Előzmény: Fferi50 (23710)
pimre Creative Commons License 2014.01.09 0 0 23726

Igen, csak éppen azt nem gondoltam, hogy a keresés megőrzi az utolsó makróban végrehajtott keresés paramétereit a következő kézi keresésnél.

 

Egyébként egyre több ilyen elemi felfedezésem van. Például jó egy órája fedeztem fel a cells() függvény egyik újdonságát. Hosszú ideje használom a cells(sor, oszlop) formátumot, és mostanáig meg voltam győződve róla, hogy mindkét paraméternek numerikusnak kell lennie. Ezért ahol string formában áll rendelkezésemre az oszlop értéke, ott mindig átszámítottam azt sorszámra. De néhány hete egy helyen eltévesztettem. Akkor észre sem vettem, most döbentem meg, hogy mitől működik jól. Hát nem elfogadja mindkét változatot? És sajnos a cells() leírását nem találom a VBA helpben.

Előzmény: Fferi50 (23720)
DominicWolf Creative Commons License 2014.01.09 0 0 23725

Köszi a segítséget, de ha nem gond leírnád szó szerint, ami a macroba kerül mondjuk az A oszlora.

 

Köszi

Előzmény: Törölt nick (23707)
pimre Creative Commons License 2014.01.09 0 0 23724

Nem szokásom a sértődés, de itt különösen rám nézve lenne (alaptalanul) hízelgő:-)

Előzmény: Fferi50 (23719)
tbando Creative Commons License 2014.01.09 0 0 23723

Kösz.  Így első olvasásra nem igen értem, de majd foglalkozom vele. Ha elakadok, jelentkezem. 

Előzmény: Fferi50 (23715)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23722

Aha, így már értem.

Előzmény: tbando (23721)
tbando Creative Commons License 2014.01.09 0 0 23721

Természetesen a munkafüzetben 9-t adok hozzá. Itt csak jelezni akartam, hogy a kezdőcellától függ hogy mennyi legyen az a 9. 

Előzmény: Sánta Kutya (SK) (23714)
Fferi50 Creative Commons License 2014.01.09 0 0 23720

Szia!

 

Én is ezt mondtam, csak nem olyan direkt módon. (A keresés megőrzi az utolsó beállításokat.)

 

Üdv.

 

 

Előzmény: pimre (23711)
Fferi50 Creative Commons License 2014.01.09 0 0 23719

PImre! Jimmy!

 

Ezer bocsánat, hogy összekevertelek benneteket!  Meg nem sértődjön egyikőtök se!

 

Üdv. 

Előzmény: Fferi50 (23718)
Fferi50 Creative Commons License 2014.01.09 0 0 23718

Szia!

 

Ennél egy kicsit bonyolultabb a helyzet. Másik topikban - de lehet, hogy itt is - volt már errő szó és majdnem késhegyre menő vita alakult ki, hogyan találjuk meg az oszlop/sor utolsó celláját, amibe már írhatunk.

 

Ha folytonos a cellák kitöltése, akkor az End(xldown), illetve End(xltoright) +1 sor/oszlop (offset) megfelelő.

De ha vannak üres cellák közben, akkor ez már nem jó, hacsak nem a "lukakba" akarunk írni.

 

Ezért sokkal jobb és minden helyzetben használható a Jimmy által leírt mód. ahol a legutolsó sorból, oszlopból indulunk ki és visszafelé nézzük az első tele cellát az End(xlUp), illetve az End(xltoleft) móddal, majd erre jön a +1 sor v. oszlop.

 

Így nem kell semmilyen függvénnyel bűvészkedni.

 

Üdv.

 

Előzmény: Sánta Kutya (SK) (23716)
Fferi50 Creative Commons License 2014.01.09 0 0 23717

Szia!

 

Szerintem azért, mert A10-től indult az oszlopban a keresés, ha nem adja hozzá, akkor beleír a nem üres cellákba.

De gondolom, ez csak egy példa volt, mert onnan indult a nem üres cellák sorozata.

 

Viszont sokkal egyszerűbb "alulról" közelíteni a meghatározáshoz, ahogy Jimmy írta.

 

Üdv.

Előzmény: Sánta Kutya (SK) (23714)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23716

Akkor ez egy sima darab2-vel is helyettesíthető.

Előzmény: Fferi50 (23715)
Fferi50 Creative Commons License 2014.01.09 0 0 23715

Szia!

 

Nem olyan bonyolult és kísérteties, mint amilyennek látszik.

A keresési feltételt úgy kell beírni, hogy "<>" & "szöveg".

Ha tehát a szöveged ="" azaz üres sztring, hogy fogod látni ezt a kifejezést: "<>" & ""? Kitaláltad: "<>". Tehát ez a két kifejezés az excelnél ugyanazt az eredményt adja, azaz nem üres feltételként értelmezi. De ugyanezt jelenti a "*" feltétel is, mivel a * a bármely karaktert helyettesítő "jóker".

Ennek ellentettje, a "=" pedig mit jelent?  "Természetesen" azt, hogy üres(!) cellákat keresel. 

 

Viszont amit te írtál be:"<>""" az a nem egyenlő két db idézőjel feltételt jelenti, olyan pedig ugye nem sok cella van/volt az oszlopban.

 

(Kísérletezéshez javaslom a függvény beírása után a szerkesztőlécen az fx-re kattintva előjövő párbeszéd ablakot, amibe beírhatod a különböző paramétereket és azonnal látod az eredményt.)

 

Üdv.

Előzmény: tbando (23713)
Sánta Kutya (SK) Creative Commons License 2014.01.09 0 0 23714

Nem értem. A sor(a10) konstans 10. Tehát hozzáadtál a darabtelihez 9-et. Miért ilyen bonyolultan?

Előzmény: tbando (23713)
tbando Creative Commons License 2014.01.09 0 0 23713

Nem egészen a te kérdésedre a válasz (arra Fferi tökéletes választ adott), de azért mégiscsak a  kérdéssel kapcsolatos. Én, ha egy táblázat utolsó sorát akarom meghatározni makró nélkül, az alábbi függvényt szoktam használni (ha a táblázat az A oszloppal kezdődik, ha a választott kezdőcellától a táblázat végéig nincs üres cella az oszlopban, utána viszont csak üres cella van):

 

=darabteli(a10:a10000;"<>")+sor(a10)-1

 

A problémám e képlettel csak annyi, hogy nem értem a "<>" feltételt. Eredetileg nem ezt akartam beírni, de véletlenül így sikerült. És müködik.  Amit meg akartam volna, azaz az  "<>""",  meg nem a táblázat utolsó sorát adja :))).

 

Megmagyarázná valaki az első feltételt? Mármint azt, hogy az excel szerint mivel nem egyenlő a nem egyenlő?

 

Előzmény: DominicWolf (23709)
pimre Creative Commons License 2014.01.09 0 0 23712

Én így szoktam megkeresni egy oszlop utolsó adatát: utolsósor = Range("A" & Rows.Count).End(xlUp).Row

A következő sor értelemszerűen 1-el nagyobb: Range("A" & Rows.Count).End(xlUp).Row+1

 

Az "A" helyén természetesen a keresett oszlop betűjelének kell állnia.

Előzmény: DominicWolf (23709)
pimre Creative Commons License 2014.01.09 0 0 23711

Most fogtam csak fel, mi történt. Engem a keresési beállításoknak a makrós keresés utáni megmaradása zavart meg kézi üzemmódban. És ezt most ki is próbáltam, és tudtam reprodukálni a jelenséget. Amikor a programom utoljára olyan keresést hajtott végre, ami pontos kifejezésre keresett, és a program leállítása után az Excelt nem kapcsoltam ki, megmaradt a program beállitása, sőt, még az utoljára használt keresőkifejezés is.

És a program leállítása után is bármely fájl megnyitásakor ezt a beállítást találom, amig ki ne lépek magából az excelből. Nagy reveláció volt:-) Köszönöm. 

Előzmény: Törölt nick (23708)
Fferi50 Creative Commons License 2014.01.09 0 0 23710

Szia!

 

cells(utolsócella.row+1,utolsócella.oszlop)   vagy  utolsócella.offset(1,0)

 

Üdv.

Előzmény: DominicWolf (23709)
DominicWolf Creative Commons License 2014.01.09 0 0 23709

Sziasztok!

 

Kérném a segítséget a következőben:

 

Akarok egy macrot írni. Egy lapon akarom megtalálni egy oszlopban az utolsó elem alatti cellát. A ctrl lenyillal megtalálom az utolsót, de még egyet lejjebb szeretnék lépni. Hogy tegyem?

Törölt nick Creative Commons License 2014.01.09 0 0 23708

Ez azt is jelenti, hogy a kézi keresés utolsó beállításai szabják meg a következő makrós keresés alapértelmezett beállításait, és visszafelé is igaz.

Előzmény: Törölt nick (23707)
Törölt nick Creative Commons License 2014.01.09 0 0 23707

A "teljes cellatartalomra való keresés" beállítás nem mentődik munkafüzettel. Lásd a súgót (Range object, Find method):

 

The settings for LookIn, LookAt, SearchOrder, and MatchByte are saved each time you use this method. If you don’t specify values for these arguments the next time you call the method, the saved values are used. Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. To avoid problems, set these arguments explicitly each time you use this method.

Előzmény: pimre (23706)
pimre Creative Commons License 2014.01.09 0 0 23706

Köszönöm. A problémám nem a makróval, csak a kézi kereséssel volt. Megnyitottam egy üres excelt, ott nem volt beállítva a teljes cellatartalom keresése. Akkor viszont lehetséges, hogy a most épp használt fájlomat én mentettem el így, csak nem foglalkoztam azzal, hogy mentés előtt legyen kikapcsolva ez a beállítás. Ezért jelent meg újra, és újra. Most mentettem jó beállítással, újraindítottam a gépet, és most jónak tűnik.

 

Előzmény: Fferi50 (23704)
Fferi50 Creative Commons License 2014.01.09 0 0 23705

Szia!

 

Még valami:  makróban a find-hez tartozó lookat paramétert kell xlPart értékre beállítani.

Ezt is elég egyszer, ha nem változtatod közben a rész - egész keresést.

 

Üdv.

Előzmény: pimre (23703)
Fferi50 Creative Commons License 2014.01.09 0 0 23704

Szia!

 

A keresés megőrzi az utolsó beállításokat. Nincs más teendőd, a megnyitott üres excelnél  a keresés egyebeknél kiveszed a teljes cellatartalomra vonatkozó jelölést. Ezután mindaddig amíg nem keresel másként, ez a beállítás fog érvényesülni. De a biztonság kedvéért zárd be az Excelt, majd indítsd újra. Ha most keresni akarsz, akkor az a jelölőnégyzet már üres kell legyen.

 

Üdv.

Előzmény: pimre (23703)
pimre Creative Commons License 2014.01.09 0 0 23703

Egy egészen az alapokat érintő kérdésem van, amit illenék már tudnom ennyi év használat óta. Szóval néhány hete dolgoztam egy adatállománnyal, ahol többször szükségem volt arra, hogy a keresésnél bejelöljem a 'Ha ez a cella teljes tartalma' melletti négyzetet.

 

Azóta viszont képtelen vagyok megszabadulni tőle. És mivel az a gyakoribb eset, hogy nem a teljes tartalomra keresek, mindig bosszúságot jelent, hogy ezzel az alapértelmezéssel indul a keresés. És nem találom, hogy hol tudnám kikapcsolni.

Fferi50 Creative Commons License 2014.01.09 0 0 23702

Szia!

 

"Csak" annyi a probléma, hogy a számok angol formátumban vannak a szövegben, ígya amikor az érték függvény átalakítja, akkor a pontok miatt minden olyan számot, amit lehet dátumként értelmezni, dátumnak vesz (pl. 1.20 = január 20-a folyó évben), amit meg nem tud dátumnak értelmezni, arra mondja, hogy értékhiba.

 

Ugye akkor tudunk igazán segíteni, ha leírod, milyen excelt használsz és kis mintát teszel fel a problémából.

 

Próbáld meg Delila javaslatát.

 

Ha angol verziód van, akkor nincs tippem se, mert annak a viselkedését nem ismerem.

 

Üdv.

 

A #Value hiba csak a Skydrive-on lett angol??

Előzmény: onezoli (23699)
Delila10 Creative Commons License 2014.01.09 0 0 23701

Kevesebb munkával:

 

1. Cseréld a pontokat vesszőkre a csere funkcióval.

 

Ha ettől nem váltak az adatok számokká, akkor

2. Írj egy üres cellába egy egyest.

3. Másold Ctrl+c-vel.

4. Jelöld ki a módodítandó tartományt.

5. Jobb klikk, irányított beillesztés, szorzás.

 

Előzmény: onezoli (23698)
tbando Creative Commons License 2014.01.09 0 0 23700

Hát azt még elképzelni sem tudom, hogyan lesz 1.20-ból , 41659, de az 1.20 miatt arra gyanakszom, hogyha az exceled tizedesvesszős számábrázolású, akkor az ÉRTÉK függvény nem fog boldogulni a tizedespontos számokkal.  Ezért elötte az összes pontot cseréld ki vesszőre. A 2007-es excelben Kezdőlap/Szerkresztés/Keresés/Csere.   És utána jöhet az ÉRTÉK. Bár az az igazság, hogy az excel2007-től már el is hagyható.

Előzmény: onezoli (23699)
onezoli Creative Commons License 2014.01.09 0 0 23699

Valamiért nem tudok képet beilleszteni... 

Szóval ezt kaptam: 

https://skydrive.live.com/redir?resid=A8E6F07A27780305!164&authkey=!ABmo2WRKVoM4m2U&ithint=file%2c.xlsx

Előzmény: onezoli (23698)
onezoli Creative Commons License 2014.01.09 0 0 23698

1.Szúrj be egy üres munkalapot.

2.A munkalap első olyan cellájába, amelyben az eredeti munkalap számot tartalmaz, írd be a következő képletet:=Érték(Régimunkalap!cella)

 3. Ezt a képletet húzd végig következetesen minden sorra és oszlopra, amelyben az eredeti munkalapon a számok vannak.

 

4. Ezután az így keletkezett területet jelöld ki. Másolás, irányított beillesztés - értékek.

Ezzel megszűnik a képlet eredeti munkalaphoz kötése.

 

5. Így a most keletkezett számokat újra kijelölve, másolás - eredeti munkalapra beillesztés. Ezután a beszúr munkalapot akár törölheted is.  

Nos a..3. lépés után már ezt kaptam ..kép mellékelve 

Ami bár azt mutatja hogy számformátummá alakította , ám pont ez a problémám bármilyen módon szeretném mindig pld.  1.20 szövegformátumból , 41659 számformátumot csinál

 

Előzmény: Fferi50 (23697)
Fferi50 Creative Commons License 2014.01.08 0 0 23697

Szia!

 

Szúrj be egy üres munkalapot.

A munkalap első olyan cellájába, amelyben az eredeti munkalap számot tartalmaz, írd be a következő képletet:

 

=Érték(Régimunkalap!cella)

 

Ezt a képletet húzd végig következetesen minden sorra és oszlopra, amelyben az eredeti munkalapon a számok vannak.

 

Ezután az így keletkezett területet jelöld ki. Másolás, irányított beillesztés - értékek.

Ezzel megszűnik a képlet eredeti munkalaphoz kötése.

 

Így a most keletkezett számokat újra kijelölve, másolás - eredeti munkalapra beillesztés. Ezután a beszúr munkalapot akár törölheted is.

 

Biztonságból azért másold le az eredeti munkalapot, ha valamit elrontottál volna, legyen miből visszaállítani.

 

Remélem sikerül.

 

Üdv.

 

Előzmény: onezoli (23695)
pimre Creative Commons License 2014.01.08 0 0 23696

Annyiban nem, hogy akkor viszont nem illenék ráállnia és futásidejű hibát jelezni, ha ki akarja a program olvasni az értékét. Más tulajdonságoknál meg tudták oldani, hogy bizonyos beállítási hibákat, ellentmondásokat ignorál a program. Ez is fejfájás a program írójának, de legalább nem a felhasználó szembesül vele. Most még szerencse, hogy most jelentkezett, és nem egy-két év múlva a használatban.

Előzmény: Fferi50 (23694)
onezoli Creative Commons License 2014.01.08 0 0 23695

Sziasztok! 

Formátum átalakítási problémám lenne... 

Elég nagy mennyiségű tizedes számok vannak egy munkalapon , amik szöveg formátumban kerültek a táblázatba , ám így persze semmilyen számítást nem lehet végezni velük.
Lehet-e valahogy egyszerre szám formátumra alakítani ezeket? 

Gugli a barátom de ami leírásokat találtam nem müködnek nekem.. 

 

Fferi50 Creative Commons License 2014.01.08 0 0 23694

Tulajdonképpen logikus, hiszen ha nincs karakter, akkor a sor még nem kezdődött el :)

 

Előzmény: pimre (23693)
pimre Creative Commons License 2014.01.08 0 0 23693

És azt sem szereti, ha nincs még egy karakter sem abban a sorban, ahol egyébként a cursor éppen áll. Nemcsak a nulladikban.

Előzmény: Fferi50 (23692)
Fferi50 Creative Commons License 2014.01.08 0 0 23692

Szia!

 

Örülök, hogy megoldódott a probléma. Ezek szerint a curline nem szereti, ha nincs még első(azaz) nulladik sor (vagyis egy  karakter sem) a textboxban vagy másban. Hát ezt azért beírhatták volna a Help-be is.

 

Üdv.

Előzmény: pimre (23691)
pimre Creative Commons License 2014.01.08 0 0 23691

Természetesen én is a form inicializálásába tettem, nem eseményhez kötve. Betettem a debug.print parancsot is, és találtam egy érdekes bugot, merthogy ez nem lehet más: Az Excel hibát jelzett, már a curline olvasásakor is, amikor olyan sorra hivatkozott curline, ami üres volt. Tehát, amikor egyetlen soros volt a szöveg, és a curline hivatkozásnak 2-est kellett volna adnia, akkor hibát jelzett. Viszont chr(13) karakterekkel feltöltve tudta kezelni a parancsot (Innen tudom, hogy a 2-es az értéke) 

 

Viszont az interneten rákerestem, és pontosan ugyanezt panaszolta valaki: http://www.xtremevbtalk.com/showthread.php?t=324383 

És a válaszban a curline helyett a textBox1.selstart=0 parancsot javasolták. Kipróbáltam, és bejött.

 

De neked is köszönöm, mert a javaslatod vezetett rá, hogy megtaláljam a megoldást.

 

Előzmény: Fferi50 (23690)
Fferi50 Creative Commons License 2014.01.08 0 0 23690

Szia!

 

A help szerint a curline itt is 0 -nál kezdődik. Na mindegy. Nálam 2003-ban is megy a 0.

 

Szerintem nézzük meg debuggal az eredményt:

 

txtSzovegDoboz.text = szöveg

txtSzovegDoboz.SetFocus

debug.print txtSzovegDoboz.curline

txtSzovegDoboz.CurLine = 1

 

Milyen esemény keretében töltöd a textboxot? Mert a setfocus kényes jószág.

 

Próbaként betenném a form inicializálásába a fenti kódot - persze a többi szükségessel együtt - ott vajon mit csinál.

 

Nálam az inicializálásban és a textbox change-ben is működött rendesen.

 

Üdv.

Előzmény: pimre (23689)
pimre Creative Commons License 2014.01.08 0 0 23689

A verzió pár napig még 2003-as.

 

A sorrend:

 

txtSzovegDoboz.text = szöveg

txtSzovegDoboz.SetFocus
txtSzovegDoboz.CurLine = 1

Előzmény: Fferi50 (23688)
Fferi50 Creative Commons License 2014.01.08 0 0 23688

Szia!

 

Ugye figyeltél a sorrendre? A curline-t csak azután állítsd be, ha a szöveget már beleírtad és a fókuszt is visszatetted a textboxra!

 

Üdv.

Előzmény: pimre (23686)
Fferi50 Creative Commons License 2014.01.08 0 0 23687

Szia!

 

Excel verzió szám?

 

Üdv.

Előzmény: pimre (23686)
pimre Creative Commons License 2014.01.08 0 0 23686

Sajnos nem egészen jött be. A CurLine 0 értékkel azonnal hibát jelzett (Unexpected call to method or property access), de 1-el ráállt a 2. (0-tól számitva 1.) sorra. Csakhogy amikor a dobozba egyetlen sornyi szöveg kerül csak (ami feltehetően a 0. sorban van), akkor unspecified error hibával áll le.

 

Viszont nem oldja meg az eredeti problémát. Ugyanis ha már scrollozott lefelé, akkor nem megy vissza, hanem csak az ablak látható tartományában áll annak a tetejére. 

 

Előzmény: Fferi50 (23685)
Fferi50 Creative Commons License 2014.01.08 0 0 23685

Szia!

 

Szerintem egészítsd ki a következőkkel:

 

    TextBox1.Text = Text 'itt írod bele a szöveget 

    TextBox1.SetFocus 'ezt gondolom nem kell magyarázni
    TextBox1.CurLine = 0 'ez az első sorra állítja a cursort, de csak akkor érvényes, ha rajta van a fókusz a texboxon.

 

Ezek legyenek az utolsó sorok.

 

Remélem segít.

 

Üdv.

Előzmény: pimre (23683)
Delila10 Creative Commons License 2014.01.08 0 0 23684

Köszönöm!

 

Nekem nem ez a kedvenc olvasmányom, mert nem értjük egymás nyelvét.

Előzmény: Fferi50 (23682)
pimre Creative Commons License 2014.01.08 0 0 23683

Nagyon köszönöm. Ezek alapján meg tudtam csinálni.

 

Most már csak egy problémám maradt. Amikor sok a szöveg, és megjelenik a függőleges Scrollbar, az rögtöm a doboz aljára lép. Én meg azt szeretném, hogy alapesetben a beleírt szöveg teteje lássék, és a továbbolvasáshoz kelljen lefelé görgetni. De erre nem látok kapcsolót.

 

Van valami ötleted?

 

 

Előzmény: Fferi50 (23667)
Fferi50 Creative Commons License 2014.01.08 0 0 23682

Szia!

 

Akkor az eljárás belsejében megnézed, hogy az a bizonyos cella ki van-e töltve. Ha igen, akkor mehet a bezárás, ha nem, akkor cancel=true és nem fogja bezárni a füzetet:

"expression.BeforeClose(Cancel)

expression A variable that represents a Workbook object.

Parameters

Name Required/Optional Data Type Description Cancel Required Boolean False when the event occurs. If the event procedure sets this argument to True, the close operation stops and the workbook is left open."

Forrás: "kedvenc olvasmányom" a VBA help.

 

Üdv.

 

Előzmény: Delila10 (23681)
Delila10 Creative Commons License 2014.01.08 0 0 23681

Addig Ok, hogy ezzel az eseménnyel, de itt megállt a tudományom.

Ha egy bizonyos cella nincs kitöltve, ne zárja, vagy mentse a füzetet.

Előzmény: Fferi50 (23680)
Fferi50 Creative Commons License 2014.01.08 0 0 23680

Szia!

 

Szerintem itt:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

 

A Cancel meghatározza, hogy bezárja-e az eljárás végén a munkafüzetet, vagy ne.

 

Üdv.

Előzmény: Delila10 (23679)
Delila10 Creative Commons License 2014.01.08 0 0 23679

Hogy lehet egy füzet bezárását letiltani egy feltételtől függően?

Fferi50 Creative Commons License 2014.01.08 0 0 23678

Szia!

 

Teljesen igazad van, de azért megoldható, ha kissé bonyolultabban is:

 

Beszúrsz egy szövegdobozt.

Jobb egérgomb, méret és tulajdonságok.

Kitöltés - kitöltés képpel vagy anyagmintával   beszúrás fájl kiválasztása

Utána átlátszóság állítása kb. 66 %-ra.

Ezután leformázod a kívánt méretre és helyre.

 

Elnevezed - ez fontos, hogy később is tudj vele dolgozni.

 

Kinyomtatod  a lapot.

 

Miután most a szövegdoboz van felül, nem tudsz hozzáférni a munkalaphoz (illetve programból igen), ezért a szövegdobozt "el kell tüntetni".

 

Ez egy kis makróval mehet, amit hozzárendelsz egy billentyűkombinációhoz.

sub valtoztat

activesheet.shapes("Szövegdoboz 1").visible=not activesheet.shapes("Szövegdoboz 1").visible

end sub

 

Valahányszor meghívod ezt a makrót, megjeleníti, vagy eltünteti a képet.

 

A "Szövegdoboz 1" nevet az általad adottra változtasd meg lsz.

 

Egyenlőre ennyi jutott eszembe, lehet más okosabbat is tud javasolni.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23676)
Delila10 Creative Commons License 2014.01.08 0 0 23677

A teljes oszlop kijelölése esetén nem a G3-ra, hanem a G1-re kell hivatkoznod a feltételes formázásnál.

Előzmény: hokuszpokusz99 (23669)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.08 0 0 23676

Nem teszi hátra sem a hátraküldés parancsra sem pedig a hátrébbküldés parancsra:(

 

 

Előzmény: Fferi50 (23675)
Fferi50 Creative Commons License 2014.01.08 0 0 23675

Szia!

 

Miért ne lehetne?

Beillesztés - kép - fájlból. Azután kijelölöd a képet és méretre igazítod, hogy lefedje a tartományt. Utána pedig "elküldöd" hátra.

 

Szerintem menni fog.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23673)
Fferi50 Creative Commons License 2014.01.08 0 0 23674

Szia!

 

Visszatérve a 0.00 és a - esetére: Az adott egyedi cellaformázásban a 0 helyére - jel van rendelve. Nézd meg a cellára ráállva a cellaformázás-szám, egyéni formátumot. Ott látni fogod, hogy a negatív szám zárójeles, a 0 pedig - jel.

(az egyéni formázások helpje segít jobban megérteni a témát).

 

Üdv.

Előzmény: hokuszpokusz99 (23670)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.08 0 0 23673

Ilyen lett a lekérdezés rész amelyet tudok használni árajánlatban De egy képeffekt azért jó lenne ehelyett a silány kékszín helyett. Be lehet illeszteni tartományba háttérképet?

Amennyiben a válasz igen akkor a hogyanja érdekelne:)

 

Előzmény: Fferi50 (23667)
Fferi50 Creative Commons License 2014.01.08 0 0 23672

Szia!

 

Feltételes formázás, új szabály :formázandó cellák kijelölése képlettel - részt válaszd a legfelső lenyílóból (szabálytípus kiválasztása)!

 

Üdv.

Előzmény: hokuszpokusz99 (23670)
Fferi50 Creative Commons License 2014.01.08 0 0 23671

Szia!

 

Excel verzió?

 

Ha 2010, akkor kijelölöd az oszlopot majd  kezdőlap, feltételes formázás, szabályok kezelése, aktuális kijelölésre érvényes, szabály szerkesztése.

Szerintem az abszolut érték függvény jobb.

A szabály szerkesztésénél hajlamos magát a szabályt az egyenlőségjel után idézőjelbe tenni, azokat ki kell onnan venni és működni fog.

 

A 0 vs. - ra  ötletem: valamilyen táblázatformázási szabály miatt lehet.

 

Üdv.

Előzmény: hokuszpokusz99 (23668)
hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23670

Bocsi, hulyesegeket irtam (reszben), meg rossz kepeket tettem be, most akkor a tenyleges kerdesek / jo kepek:

 

Sziasztok!

 

Felteteles formazassal kapcsolatban lenne kerdesem. Azt szeretnem, ha egy adott oszlopban azokat a cellakat szinezne be, amelyek erteke 0.01-nel nagyobb VAGY -0.01-nel kisebb. Tehat a 0.00-t es a 0.01-et, illetve -0.01-et NEM kellene beszineznie. Kiprobaltam 2 felekeppen is, de egyik sem mukodik tokeletesen, mert a 0.01-es / -0.01-es cellakat is beszinezi (a 0.00-t nem). Kijeloltem sargaval azokat a sorokat, ahol nem mukodik a formazas.

 

1. megoldas: =OR($G2>0.01,$G2<-0.01)

 

2. megoldas: abszolut ertek fuggveny es aztan nagyobb, mint 0.01

 

 

Mit csinalok rosszul? Kiprobaltam 0.02-vel is, de ugyanaz az eredmeny :(

 

A G7-es / H7-es cellaban miert - (minusz) es nem 0.00 jelenik meg? elvileg ugyanaz a formatuma az osszes cellanak (ecsettel "lehuztam" az elso sor formatumat).

 

koszi szepen a segitseget!!

Előzmény: hokuszpokusz99 (23668)
hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23669

hokuszpokusz99 Creative Commons License 2014.01.08 0 0 23668

Sziasztok!

 

Felteteles formazassal kapcsolatban lenne kerdesem. Azt szeretnem, ha egy adott oszlopban azokat a cellakat szinezne be, amelyek erteke 0.01-nel nagyobb VAGY -0.01-nel kisebb.

 

Kiprobaltam 2 felekeppen is, de egyik sem mukodik tokeletesen, mert a 0.01-es / -0.01-es cellakat is beszinezi. Kijeloltem sargaval azokat a sorokat, ahol nem mukodik a formazas. A harmadik sorban az egesz sor sarga lett, a hatodikban viszont a G es H oszlopokban nem szinezte at sargara a cellakat, ennek mi lehet az oka?

 

1. megoldas: =OR($G2>0.01,$G2<-0.01)

 

2. megoldas: abszolut ertek fuggveny es aztan nagyobb, mint 0.01

 

Mit csinalok rosszul? Kiprobaltam 0.02-vel is, de ugyanaz az eredmeny :(

 

A G7-es / H7-es cellaban miert - (minusz) es nem 0.00 jelenik meg? elvileg ugyanaz a formatuma az osszes cellanak (ecsettel "lehuztam" az elso sor formatumat).

 

koszi szepen a segitseget!!

Fferi50 Creative Commons License 2014.01.08 0 0 23667

Szia!

 

A probléma oka a következő:

 

Az AutoSize és a Scrollbars, valamint a WordWrap befolyásolja egymás működését.

Ha a Textbox mérete fix, akkor mindkét scrollbar működik, ha a szövegek vízszintesen vagy függőleges túlmennének a textboxon (és persze a scrollbarok be vannak kapcsolva). Kivéve Wordwrap!

Az AutoSize on esetében a scrollbar nem működik akkor sem, ha be van kapcsolva, ami tulajdonképpen érthető, hiszen a textbox mérete ilyen esetben mindig felveszi a szöveg méretét. Képes "kimászni" a formról is a textbox és akkor nem látod a végét!

A WordWrap on esetében a vizszintes scrollbar nem működik, mivel a szöveget az adott szélességben töri bele a textboxba a rendszer (ilyenkor Autosize On esetén is változatlan a textbox szélessége!).

 

Tehát az Autosize on-off állapotot programból kezelni kell, attól függően, hogy milyen hosszú szöveget írsz bele.

Mivel a hosszabb szöveg és fix méret esetén a scrollbar működik, az jól mutat. Viszont ugyanakkora textboxban egy rövidebb szöveg már "csúful" néz ki. Így bekapcsolt WordWrap mellett kell a rövidebb szövegre az AutoSize bekapcsolása, hosszabb szöveg esetén pedig egy előre meghatározott fix magasság megadása. Ezzel elérheted, hogy mindkét esetben "szépen" nézzen ki a textbox. (A scrollbar legyen bekapcsolva, és nem kell hozzányúlni, az magától eltűnik és visszajön, ha szükséges a szöveg mérete miatt.)

 

Üdv.

Előzmény: pimre (23666)
pimre Creative Commons License 2014.01.07 0 0 23666

A bállításokat a Userform inicializálásánál próbáltam. Valahogy így:

 

Private Sub UserForm_Initialize()
Dim text As String
text = "Itt olvas be adatállományból egy hosszabb" & Chr(13) & "előre összeállított" & Chr(13) & Chr(13) & _
"szöveget ahol a sorok elválasztására néha egy, vagy két bekezdésjel szolgál" & Chr(13) & Chr(13) & _
"Végül még felteszi a kérdést, hogy véggezzen-e el valamilyen műveletet, vagy sem."
SzovegDoboz.Value = text
SzovegDoboz.MultiLine = True
SzovegDoboz.ScrollBars = fmScrollBarsHorizontal
SzovegDoboz.WordWrap = True
SzovegDoboz.AutoSize = True
End Sub

 

Miközben ugyanezt a feladatot a következő sorokkal könnyedén megoldom:

 

Set uzenetdoboz = CreateObject("Wscript.Shell")
valasz = uzenetdoboz.Popup(text, 0, cimszoveg, 4)

 

Ahol a valasz értéke 6, ha az Igen, 7 ha a Nem gomot választotta.

Előzmény: Fferi50 (23665)
Fferi50 Creative Commons License 2014.01.07 0 0 23665

Szia!

 

Mutatnál valamilyen kódrészletet a texbox ügyében, mert az autosize és a scrollbar kellene, hogy érvényesüljön, hacsak nem gátolod meg valamivel (pl. Te adsz neki értéket: "If you manually change the size of a control while AutoSize is True, the manual change overrides the size previously set by AutoSize.")

 

Lehet, hogy valami ilyesmi játszik veled "ördögöt".

 

Üdv.

Előzmény: pimre (23663)
tbando Creative Commons License 2014.01.07 0 0 23664

Kösz a makrónévadási szabályokat. Az persze nincs köztük, amit nekem sikerült roppant kreativan megszegni :))). Vagy legalábbis nem látom köztük, hogy a cellahivatkozásként is szóbajöhető betű + szám kombinációk használata sem igazán szerencsés. 

Előzmény: Fferi50 (23649)
pimre Creative Commons License 2014.01.07 0 0 23663

Viszont sajnos valamiért nálam nem működik az AutoSize. Azt tapasztalom, hogy az egyébként megadott Width és Heigth adatot 1-1.5 értékkel (azt hiszem pixel) módosítja, de nem látom, hogy köze lenne a benne szereplő szöveg méretéhez.

És úgy látom, hogy a ScrollBars beállítás sem eredményez Scroll Bar-t akkor sem, ha szükség lenne rá.

 

Szóval nem tudom, mit bénázok el, de most hogy a napom nagy része elment vele szégyenszemre átmenetileg feladom, mert holnapra szeretnék eredményt produkálni.

 

Ezért visszatérek a Popup technikához, ami egyetlen parancssorral egy MsgBox-ra emlékeztető képet ad. Amig ki nem derül, hogy valami gond van vele.

Próbálgatással kiderítettem, hogy miként tudom a konstansokkal befolyásolni a működését. Például azt, hogy OK, OK/Mégse, Igen/Nem, Igen/Nem/Mégse stb válaszra várjon (7 féle van), valamint azt, hogy a válasz hiányában elkapja-e a képernyőt, vagy sem, és ha igen, mennyi idő után. Ráadásul függvényként használva visszaadja a választott gombnak megfelelő konstans értékét (Igen=6, Nem = 7 stb.). És eddig nem találtam meg azt a hibát, amire az MrExelbeli válaszadó azt írja, hogy "AutoDismiss sometimes dosen't work ?". Lehet, hogy csak arra gondolt, hogy az adott konstans bizonyos értékek megadását nem fogadja el.  Én mindenesetre csak a 0 értékkel használom, amivel vár a program a válaszra. Nyomjon már gombot az a fránya felhasználó:-)

 

Szóval köszönöm a segítő szándékot, de nekem most nem jött össze az alternatív (talán szabályosabb?) megoldás.

Előzmény: Delila10 (23662)
Delila10 Creative Commons License 2014.01.07 0 0 23662

Nincs mit. :)

Előzmény: pimre (23661)
pimre Creative Commons License 2014.01.07 0 0 23661

Köszönöm, ezt nem ismertem.

Előzmény: Delila10 (23657)
Fferi50 Creative Commons License 2014.01.07 0 0 23660

Szia!

 

Ne tedd!

 

Néha a legkézenfekvőbb dolgok kerülik el az ember figyelmét - de sokszor jártam így én is.

 

Másrészt, ha a képek tulajdonságai részben azt állítod be az objektum elhelyezésénél, hogy az objektum helye és mérete nem változik, akkor rendezheted akárhogy, mindig ugyanott marad.

 

Tehát a rendezés csak akkor működik így, ha az objektum elhelyezése : áthelyezés a cellákkal de a méret marad, vagy áthelyezés és méretezés a cellákkal együtt.

Mertem remélni, hogy nem az első verzió van nálad.

 

Üdv.

 

Előzmény: GrundfosUPS2560eladó15000 (23658)
Törölt nick Creative Commons License 2014.01.07 0 0 23659

Hacsak úgy nem :)

Előzmény: Delila10 (23657)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.07 0 0 23658

Szégyellem magam hogy feltettem ezt a kérdést:(

 

Előzmény: Fferi50 (23655)
Delila10 Creative Commons License 2014.01.07 0 0 23657

Na és a textbox AutoSize tulajdonságának True-ra állítása?

Előzmény: Törölt nick (23656)
Törölt nick Creative Commons License 2014.01.07 0 0 23656

Ha én lennék a helyedben, kábé annyit foglalkoznék a textbox méretével, hogy felállítanék 3 esetet a szöveg karakterszám értékére:

 

Ha a karakterek száma <=100, akkor texbox-> 1-es méret

ha a karakterek száma >100 és <=500, akkor texbox-> 2-es méret

ha a karakterek száma >500, akkor texbox-> 3-as méret

 

Ha ennél alaposabb akarnék lenni, akkor előbb be kéne iratkoznom egy esztétika tanfolyamra, ahol megmondják, hogy mitől néz ki jól egy szövegdoboz.

Előzmény: pimre (23653)
Fferi50 Creative Commons License 2014.01.07 0 0 23655

Szia!

 

Azt próbáltad már, hogy az A:B oszlopot együtt jelölöd ki és úgy rendezel?

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23654)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.07 0 0 23654

Üdv!

 

Gyors leszek. A-Z rendezés esetén a képek ugyanott maradnak. Lehetséges hogy rendezés során adott szöveg mellé adott eredeti kép kerüljön? Ha igen hogyan? 

 

Köszönöm

pimre Creative Commons License 2014.01.07 0 0 23653

Kösz. Azt tudom, hogy a textbox méretét tudom szabályozni, csak az a nehézségem, hogy a szöveg leghosszabb sora alapján megadjam a szélességet, és a sorok száma alapján a magasságot. Egyszer már bütyköltem a szélesség beállítással egy többoszlopos listboxnál, és úgy emlékszem, hogy gondjaim voltak vele. De majd előszedem, hogy végül mire is jutottam.

 

Az idézett mondatot olvastam, de őszintén szólva nem tudtam mit kezdeni vele. Különösen, hogy még ő maga sem biztos a dolgában, hiszen kérdőjelet tett a megjegyzés végére.

Előzmény: Törölt nick (23652)
Törölt nick Creative Commons License 2014.01.07 0 0 23652

Szerintem külön userform kellene a textboxnak. Akár még úgy is nézhet ki, mint egy MsgBox. A form méretét, rajta a textbox méretét szabadon változtathatod runtime a Height és Width tulajdonságokkal, és a textbox tartalmazhat görgetősávot.

 

A scriptinges megoldásban van egy sor, amire felhívnám a figyelmedet:

'// Scripting MsgBox, AutoDismiss sometimes dosen't work ?

 

Ha már a javaslattevő is ezt mondja...

Előzmény: pimre (23651)
pimre Creative Commons License 2014.01.07 0 0 23651

És még valami. Úgy láttam, hogy a popup ablak dinamikusan méreteződik, azaz alkalmazkodik a benne lévő szöveg méretéhez, úgy a sorok hosszát, mint az ablak magasságát illetően. Nem vagyok biztos abban, hogy ezt a textboxnál is meg tudom-e valósítani. Mert a kevés szöveg egy nagy ablakban nem mutat jól, a sok szöveg túl kis ablakban szintén kényelmetlen, ha sokat kell scrollozni.

De majd próbálkozom.

Előzmény: pimre (23650)
pimre Creative Commons License 2014.01.07 0 0 23650

Át sem gondoltam. Az újdonság varázsa, és az egysoros parancs lehetősége miatt csak ezt próbálgattam. De akkor majd megnézem textbox-al is.  Úgyis egy userformról hívom meg a programrészletet, ahol használni akartam.

Előzmény: Törölt nick (23648)
Fferi50 Creative Commons License 2014.01.07 0 0 23649

Szia!

 

Miért kérdezed? Láttál már név nélküli makrót? Legalább egy karaktar kell és az betű legyen. Bővebben idézet a VBA helpből (már megint, de én is innen szoktam okos(k)odni...):

" Visual Basic Naming Rules

Use the following rules when you name procedures, constants, variables, and arguments in a Visual Basic module:

  • You must use a letter as the first character.
  • You can't use a space, period (.), exclamation mark (!), or the characters @, &, $, # in the name.
  • Name can't exceed 255 characters in length.
  • Generally, you shouldn't use any names that are the same as the functions, statements, and methods in Visual Basic. You end up shadowing the same keywords in the language. To use an intrinsic language function, statement, or method that conflicts with an assigned name, you must explicitly identify it. Precede the intrinsic function, statement, or method name with the name of the associated type library. "

Üdv.

Előzmény: tbando (23647)
Törölt nick Creative Commons License 2014.01.07 0 0 23648

A textbox-userform ötletet elvetetted? Szerintem az jobb.

Előzmény: pimre (23646)
tbando Creative Commons License 2014.01.07 0 0 23647

Van olyan kritérium, hogy egy makrónév hány karakters legyen minimum?

pimre Creative Commons License 2014.01.06 0 0 23646

Sziasztok, beleütköztem a következő problémába: Változó mennyiségű üzenetet szeretnék a felhasználóhoz eljuttatni. Ehhez az MsgBox nem alkalmas, mert benne korlátozott az elhelyezhető szöveg mennyisége, és egyes esetekben még a választ lehetővé tévő gombok sem látszanak.

 

Találtam az interneten egy megoldást (http://www.mrexcel.com/forum/excel-questions/383208-scroll-bar-message-box.html), ahol a scriptinget ajánlja a válaszadó. Kipróbáltam, de nem találok a paramétereiről használható leírást. A megadott konkrét példával pár másodperc múlva eltűnik a doboz a képernyőről, miközben én választ várnék a felhasználótól.

 

Két kérdésem lenne. Az egyik az, hogy egyáltalán használható-e ez a technika a környezettől némiképp függetlenül. Mert úgy látom, hogy talán nem az Excel, hanem a Windows szolgáltatása.

 

A másik, hogy hol találok egy kicsit részletesebb leírást ennek a technikának a használatáról? Mert próbálgatással már sikerült ugyan megállítanom a képet az OK megnyomásáig, de azért jobb lenne ezt elolvasni. 

GrundfosUPS2560eladó15000 Creative Commons License 2014.01.05 0 0 23645

Köszönöm megoldva a probléma szuperek vagytok.

Előzmény: Fferi50 (23644)
Fferi50 Creative Commons License 2014.01.05 0 0 23644

Szia!

 

Itt egy rövid példa rá:

[URL=http://data.hu/get/7276949/Legordulo.xlsm]http://data.hu/get/7276949/Legordulo.xlsm[/URL] 

vagy

 

http://data.hu/get/7276949/Legordulo.xlsm

 

Ebben láthatod, hogyan működik együtt a két munkalap.

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23643)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.05 0 0 23643

Közben beletettem egy munkalapra így megoldottam:) Köszönöm a segítséget. Bár ha van megoldás továbbra is érdekel már csak a megértése miatt is. 

 

tbando Creative Commons License 2014.01.05 0 0 23642

Sajnos változatlanul nem értem, hogy miért nem lehet ezt az egész procedurát 1 legördülő listával megcsinálni.

De  hát nem is nekem kell érteni. Így hát nem filózok rajta tovább.

Előzmény: Fferi50 (23641)
Fferi50 Creative Commons License 2014.01.04 0 0 23641

Szia!

 

Azért kell két munkalap, mert az egyiken kiválasztja az összetevőket, a másikon pedig a finomhangolást végzi (gondolom).

A szinkron arról szól, hogy mindkét lapon ugyanaz az listaelem legyen kiválasztva. Ez azért kell, mert ennek az állása határozza meg, hogy milyen adatok kerülnek át az egyik lapról a másikra.

Vagyis, ha a már kiválasztott listaelemet az árajánlaton megváltoztatom, annak megfelelő elemek kell,hogy odakerüljenek erre a lapra - de azt a másik lapon levő kiválasztó determinálja.

Amíg nincs árajánlata, addig viszont az áras munkalapon "játszik" a legördülő listával. Emiatt kell mindkét lapon ugyanaz.

 

Üdv.

Előzmény: tbando (23640)
tbando Creative Commons License 2014.01.04 0 0 23640

És tulajdonképpen mit kell szinkronizálni? 

Előzmény: tbando (23639)
tbando Creative Commons License 2014.01.04 0 0 23639

 Én azt nem értem, hogy miért kell 2 munkalapon kiválasztani, miért nem elég az árajánlaton. 

Előzmény: Fferi50 (23638)
Fferi50 Creative Commons License 2014.01.04 0 0 23638

Szia!

 

Ez igaz, de a két munkalap kiválasztott elemei nem szinkronizálódnak automatikusan!

 

És az árazások miatt neki ezt át kell vinni a másik lapra.

 

Üdv.

Előzmény: tbando (23637)
tbando Creative Commons License 2014.01.04 0 0 23637

Utána néztem, jól emlékeztem.  A különböző lapokon, füzetekben levő legördülő listák minden további nélkül hivatkozhatnak ugyanarra forrástartományra, tehát felesleges az azonos listaelemeket tartalmazó egyedi forrástarományok létesítése, majd azok szinkronizálása. 

Előzmény: GrundfosUPS2560eladó15000 (23634)
Fferi50 Creative Commons License 2014.01.04 0 0 23636

Szia!

 

Ha mindkét munkalapon kell, akkor nem úszod meg makró nélkül, mivel a legördülő lista értékét át kell adni a másik munkalapra.

Az érvényesítés tartománya lehet ugyanaz mindkét lapon (úgy a legegyszerűbb, ha elnevezed a listatartományt és névvel hivatkozol rá az érvényesítésben).

 

A munkalap (mindkettő) change eseményéhez kell írni a kis makrót amivel az egyikben bekövetkezett változást a másikba átmásolod.

pl.:

Az árajánlatban:

    if not intersect(target,range("B8")) is nothing then

         application.enableevents=false

         munkalap(árlista).range(megfelelőcella).value=target.value

         application.enableevents=true

      endif

Az árlistában ugyanez fordított felállásban.

Ezzel elvileg mindkét helyen változtathatod a legördülőt. (A munkafüzet,munkalap elnevezéseket pontosítsd lsz.)

 

Az eseményt megtalálod a worksheet kódlapjának jobb oldalán.

 

 

Üdv.

 

Előzmény: GrundfosUPS2560eladó15000 (23634)
tbando Creative Commons License 2014.01.04 0 0 23635

Nem igen értem, miért kell 2 füzet és 2 legördülő lista. Miért nem jó az, ha az árajánlat füzet tartalmazza az árlistát is?  

 

Mivel csak érintőlegesen foglalkoztam a legördülő listázással, nem vagyok benne biztos, de nekem úgy dereng, hogy egy legördülő lista hivatkozhat egy másik füzet tartományára is.

 

Ha bármelyik eset teljesülhet, egy árajánlatos legördülő listával megoldhatod a problémádat. 

Előzmény: GrundfosUPS2560eladó15000 (23634)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.04 0 0 23634

Szia!

 

Igen mindkét munkalapon kellene ugyanaz a legördülő lista és mindkét lapról változtatni kellene tudni de ha az egyiken megváltoztatom a másikon is szinkronban kell változnia mivel a legördülő listában szereplő adat alapján kalkulálódik ki az ár.

 

 

 

Előzmény: Fferi50 (23633)
Fferi50 Creative Commons License 2014.01.04 0 0 23633

Szia!

 

Ha jól értem a kérdést, akkor mindkét munkalapon kellene ugyanaz a legördülő lista és mindkét lapról változtatni kellene tudni. Ráadásul a legördülő lista az árlista munkafüzetben külön is változik? Vagy ott mindig ugyanaz a lista?

 

Üdv.

Előzmény: GrundfosUPS2560eladó15000 (23631)
tbando Creative Commons License 2014.01.04 0 0 23632

Tulajdonképpen nem értem a problémát. Mivel  amit elmondtál abban szerintem semmi sem problémás.  Kell hozzá egy 2 vagy 3 oszlopos táblázat: 

 

A: termék (kód:1 vagy 2 )  (erre a példa megadásod szerint nincs is szükség)

B: alapanyag (kód: 1 vagy 2)

C: Alapanyag felhasználás (naturális vagy pénzügyi adat)

 

Majd az alapanyagfelhasználásra szumha, szumhatöbb  vagy kimutatás.

 

A táblázat tetszés szerint bővíthető további oszlopokkal, Pl. termék mennyiség, hétNo, NapNo stb. Az értékelésbevonásuk meg  a megadott kaptafára.

 

 

Előzmény: djmorphy (23630)
GrundfosUPS2560eladó15000 Creative Commons License 2014.01.04 0 0 23631

Megoldódott köszönöm! Egy szinttel előrébb vagyok leszerkesztettem mindent

 

Van két munkafüzetem egy Árlista "1.jpg" és egy Árajánlat munkafüzet "2.jpg"

 

Az Árajánlat munkalap B8 cellája hivatkozik az Árlista_hun adott cellájára az alábbiak szerint ="'" & (Árlista_hun!$R$25). Az árajánlatban szerepl B8 cella tehát egy lekérdezett hivatkozott adat. A lekérdezett adat pedig egy legördülő listából kiválasztott adat.  Próbáltam másolni az Árlista celláját viszont beillesztés után a legördülő liosta nem jelenik meg így minden esetben vissza kell mennem Árlista oldalra majd a legördülő lista adatai ugyan megjelennek Árajánlat munkalapon de a lépkedést szerintem ki lehetne váltani ha valahogy be tudnám illeszteni a legördülő listát. Azaz ha jól teszem fel a kérdést akkor szinkronban kellene működnie a két legördülő listának. Ha egyik helyen változtatom akkor a másik munkalapon is változnia kell az adatnak. Lehetséges ez?

 

Előzmény: Fferi50 (23613)
djmorphy Creative Commons License 2014.01.04 0 0 23630

Sziasztok!

Kellene egy kis segítség mert még elrendezés szempontjából sincs ötletem nemhogy függvényekkel manipuláljak :)


Van kettő termék. Ami kettő különböző alapanyagból készül. Ezek az alapanyagok több forrásból is származinak
Annyi csak a különbség, hogy más az ára de nekem meg kell különböztetnem készlet szempontjából.

Az igazgató megmondja hogy tárgyhéten melyiket használjuk. Ezt kellene valahogy definiálnom hogy melyiket csökkentse.


Alapelmélet az, hogy (beérkezett alapanyag)-(legyártott termék)=késztermék. A problémám az, hogy melyik árú terméket csökkentsem.

 

Példa:
1 termék
alapanyag1 (1$)
alapanyag2(2$)
2 termék
alapanyag1 (3$)
alapanyag2(4$)

 

Igazgató utasítása:

Week1
1 termék 2 alapanyaggal (2$)
2 termék 1 alapanyaggal (3$)
Week2
1 temék 1 alapanyaggal(1$)
1 termék 2 alapanyaggal(2$)
weel3
2 termék 1 alapannyaggal (3$)
2 termék 2 alapanyaggal (4$)

stb...


Valami olyasmin gondolkozok hogy napi intervallumok között vagy heti szinten definiálnám, hogy melyiket használja. A napinál gondolom igencsak macerás lenne.

A heti lenne a jó de úgy hogy megadom melyik alapanyagot vegye figyelembe. Ha használjuk akkor csökkenti ha nem akkor nem foglalkozik vele mert éppen azon a héten csak az 1 terméket 1 alapanyaggal gyártottuk. De ugye megeshet hogy minden nap más a forrás...

 

Van ötletetek merre induljak el?

Matyi82 Creative Commons License 2014.01.03 0 0 23629

Köszönöm!

 

Sikerült! :)

Előzmény: Fferi50 (23628)
Fferi50 Creative Commons License 2014.01.03 0 0 23628

Szia!

 

Mondjuk a D1 cellába írd be a következő képletet:

 

=szumha(C:C;"";"A:A")

 

Ez összesíti az A oszlop olyan adatát, amelyhez nincs a C oszlop megfelelő cellájában adat. (Vigyázat, bármit írsz a C oszlop cellájába, az már nem üres, tehát arra, hogy oda dátum kerül, neked kell figyelned).

 

Üdv.

Előzmény: Matyi82 (23627)
Matyi82 Creative Commons License 2014.01.03 0 0 23627

Sziasztok!

Egy szerintem egyszerű problémára keresnék megoldást, hátha tudtok segíteni...

A oszlop tartalmaz összegeket
B oszlop tartalmaz fizetési határidő dátumokat
C oszlop pedig tartalmazza az összeg tényleges beérkezési dátumát

Szeretnék egy olyan cellát ami a kintlévőségek végösszegét tartalmazza. Ha a C oszlop egyik sorába beírnám a dátumot, akkor a kintlévőségek végösszege a sor összegével csökkenne.

Előre is köszönöm a segítséget

Delila10 Creative Commons License 2014.01.03 0 0 23626

Szívesen.

 

FFeri: igen, valakinek jeleznie kellene.

Előzmény: Alkesz_ (23625)
Alkesz_ Creative Commons License 2014.01.03 0 0 23625

Köszi a makrót.

Müxik szépen :-)

Előzmény: Delila10 (23623)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!