Keresés

Részletes keresés
Így működik

Bővebben az új keresőről

wawabagus 2010.10.26 Creative Commons License 13117
És sorrendbe rendezheted előtte az adatokat?
Előzmény: czipike (13116)
czipike 2010.10.26 Creative Commons License 13116
lehet erre is tudsz válaszolni:

sziasztok


van egy számhalmazom, mondjuk:
2,5,8,9,1,2,3,5

ezt szeretném rangsorolni csökkenő sorba
de sajnos en múgy mint a sorszám függvény, mert az így rangsorolja
9 - 1
8 - 2
5 - 3
5 - 3
3 - 5
2 - 6
2 - 6
1 - 8
hanem úgy hogy ne hagyjon ki helyet vagyis
9 - 1
8 - 2
5 - 3
5 - 3
3 - 4
2 - 5
2 - 5
1 - 6

köszi
wawabagus 2010.10.26 Creative Commons License 13115

Nagyon szívesen!

;-)

Előzmény: czipike (13114)
czipike 2010.10.26 Creative Commons License 13114
köszi :)
Előzmény: wawabagus (13113)
wawabagus 2010.10.26 Creative Commons License 13113

Írd a C1-es cellába ezt:

=INDIRECT("A"&B1)

 

:-)

Előzmény: czipike (13112)
czipike 2010.10.26 Creative Commons License 13112
sziasztok


Adott:
az A1 helyen 2
az A2 helyen 8
az A3 helyen 5 van
és a
a B1 helyen 1

Olyan függvényt keresek, amely az A oszlop azon értékét adná vissza, amelyre a B1 hivatkozik?
Vagyis valami olyasmi, hogy =A(B1) esetén 2 lenne, de ha megváltoztatnám a B1-t kettőre, akkor már 8-at adna vissza.
Valamilyen duplahivatkozás... talán...
Remélem érthető!

köszi
ktk224 2010.10.24 Creative Commons License 13111
KÖSZÖNÖM!

Megoldva! (tényleg egy zseni!)

Üdv: Ktk224
Előzmény: SQLkerdes (13110)
SQLkerdes 2010.10.23 Creative Commons License 13110
Előzmény: SQLkerdes (13109)
SQLkerdes 2010.10.23 Creative Commons License 13109
Ez a legjobb, ezt nézd meg

A csóka egy zseni...
Előzmény: SQLkerdes (13108)
SQLkerdes 2010.10.23 Creative Commons License 13108
Előzmény: SQLkerdes (13107)
SQLkerdes 2010.10.23 Creative Commons License 13107
Csak megismételni tudom: Pivottable
Előzmény: ktk224 (13105)
Jimmy the Hand 2010.10.23 Creative Commons License 13106
Hát sztem ez körkörös hivatkozás...
Előzmény: Tibee83 (13103)
ktk224 2010.10.23 Creative Commons License 13105
Elnézést, a kép az imént lemaradt!
MINTA
Előzmény: SQLkerdes (13100)
ktk224 2010.10.23 Creative Commons License 13104
Szia SQL!

Megpróbálkoztam szinte mindennel, de valahogy nem jártam sikerrel.
Annyit sikerült megcsinálnom, hogy leegyszerűsítettem a problémám.
A mellékelt képen látható mit szeretnék még nem tudom hogyan elérni.
A mátrixot szeretném előállítani az első két oszlop adataiból!
Bárkinek lenne bármi ötlete szívesen venném!
Az éles adattáblából kb 1500 soros és kb 1000 oszlopos mátrix lesz, tehát valahogy automatizálni szeretném a mintapéldában látható probléma megoldását.

Köszönöm a segítséget!

Üdv: Ktk224
Előzmény: SQLkerdes (13100)
Tibee83 2010.10.23 Creative Commons License 13103
Köszi!

Egy másik kérdés:

Ezt be lehet 1 képletbe írni:
Legyen E = (11*G+20+Z-X) mod 30
Ha E = 25 és G > 11 vagy E = 24, akkor E-t növeljük meg 1-gyel!


üdv, Tibor
Előzmény: Jimmy the Hand (13102)
Jimmy the Hand 2010.10.23 Creative Commons License 13102
11 nappal ezelőtt volt pont ugyanez a kérdés. Egy suliba jártok?
A válasz: 933
Előzmény: Tibee83 (13101)
Tibee83 2010.10.23 Creative Commons License 13101
Sziasztok!

Az alábbi feladatot kaptam amivel nem jutok dűlőre:
A B4 cellába készítsen képletet, amely a B2 és B3 cellák értékei közül a kisebbik értéket adja vissza.
Nem használhat függvényeket a képlet megírásához, csakis műveleti jeleket és zárójelet.


A segítséget előre is köszönöm!

Üdv, Tibor
SQLkerdes 2010.10.22 Creative Commons License 13100
Egyébként most ismét végiggondolva, a PIVOTTABLE működhet, szal azzal is kisérletezgess 1 kicsit ha időd engedi.
Előzmény: ktk224 (13099)
ktk224 2010.10.22 Creative Commons License 13099
Köszönöm szépen!

Holnap megpróbálkozom vele, bár látok benne kihívást!
Lehet majd még értetlenkedek egy sort, előre is bocsi, de igyekszem!:)

Üdv: Ktk224
Előzmény: SQLkerdes (13098)
SQLkerdes 2010.10.22 Creative Commons License 13098
A teendő a következő:
- másold át az 1. workbook-ból a releváns sheet-et a másodikba
- az első workbook A oszlopát (azt a tartományt, ahol adat van, pld A2:A60000) nevezd el 'Szervezetek'-nek
- a B oszlopot 'Munkakorok'-nek
- a C oszlopot 'Szerepkorok'-nek
- a "mátrix" C1-es cellájába (Szervezet1/Munkakör1/Szerepkör1) írd be a következő képletet:
=SUMPRODUCT(--($A2=Szervezetek),--($B2=Munkakorok),--(C$1=szerepkorok))

Ezt a képletet copy-paste-tel másold be a mátrix minden releváns cellájába.

- a mátrix belsejének tartalmát alakítsd át képletből számmá (Copy, majd ugyanitt Paste Special/Value)
- másold át a mátrix-ot a kívánt workbook-ba.

(Ha nem akarod a sheet-eket másolgatni ide meg oda, akkor a képletben használatok a =SUMPRODUCT(--($A2=[Book]Sheet1!$A$2:$A$60000),--($B2=[Book]Sheet1!$B$2:$B$60000),--(C$1=[Book]Sheet1!$C$2:$C$60000)) tipusú képletet is, csak vigyázz, hogy mindegyik terület azonos nagyságú legyen (pld 2:60000)
Előzmény: ktk224 (13095)
SQLkerdes 2010.10.22 Creative Commons License 13097
Most látom erre a Pivot nem jó, akkor marad az excel titkos csodafegyvere a SUMPRODUCT.

Majd mindjárt ki is ötlöm, hogy hogy kéne kinézzen.
SQLkerdes 2010.10.22 Creative Commons License 13096
A 2. munkafüzetből csinálj egy PIVOTTABLE-t, majd az első munkafüzetet rakd tele GETPIVOTDATA függvénnyel, ami a PIVOTTABLE-re mutat.
Előzmény: ktk224 (13095)
ktk224 2010.10.22 Creative Commons License 13095
Sziasztok!

Lenne egy sürgősen megoldandó problémám.
Ha valaki tudna segíteni , megköszönném!


probléma:

Adott 2 munkafüzet, ahol az adattartalom ugyanaz.

1. munkafüzet a következőkből áll:
A1-Szervezet (majd felsorolva a szervezetek egymás alá )
B1-Munkakör (majd felsorolva a szervezeteken belüli munkakörök egymás alá (természetesen azonos szervezetek annyiszor jelennek meg, ahány különböző munkakör van az adott szervezetnél)
C1-től ZK1-ig felsorolva a szerepkörök.
Így adott egy hatalmas mátrix, amit ki kellene tölteni.

2. Munkafüzet a következőkből áll:
A1-Szervezet (majd felsorolva a szervezetek egymás alá )
B1-Munkakör (majd felsorolva a szervezeteken belüli munkakörök egymás alá (természetesen azonos szervezetek annyiszor jelennek meg, ahány különböző munkakör van az adott szervezetnél)
C1-Szerepkörök felsorolva egymás alá olyan felosztásban, hogy milyen szervezet milyen munkaköréhez milyen szerepkörök tartoznak (minden egyes ilyen összerendelés külön sorként jelenik meg, így a sorok száma kb 60000.

Problémám: Hogyan tudnám a második munkafüzetből nyert összerendeléseket (mint egy dimenziós adatbázis) átvinni az 1. munkafüzet be, (mint két dimenziós adatbázis), kitöltve a mátrixot?

Előre is köszönöm a segítséget!

Üdv!
nanemáraaaaaa 2010.10.21 Creative Commons License 13094

Az a helyzet hogy ha a daru az Y és a Hónapok az X tengelyen van akkor nem hiszem hogy ki tudom vele iratni hogy melyik honapban melyik hiba volt melyik darunál

Pedig jo lett volna:)

SQLkerdes 2010.10.21 Creative Commons License 13093
A GR2&"*" helyett használd a TEXT függvényt, a COUNTIF helyett pedig a COUNTIFS fgvnyt és akkor egyedül is meg tudod oldani a problémát.
Előzmény: p_vik (13068)
O. Kán 2010.10.21 Creative Commons License 13092
A #Hiányzik értéket nem tudom megmondani, de a feladatot meg lehetne oldani a vkeres függvénnyel, ha a visszaadandó érték a keresendő sor alatt van.
Előzmény: keeper2 (13077)
SQLkerdes 2010.10.21 Creative Commons License 13091
Azt gondolnám, hogy ennek működnie kéne:
=SUMPRODUCT(TEXT($A$2:$A$100,"YYYY. MM.")=$B$2:$B$100,$C$2:$C$100=ROW(C2)-1)

A D2-be másold be a fenti képletet és kopi-pészteld le D11-ig, így mutatja 1-10-ig a számokat.

Amit csinál:
- összehasonlítja, hogy az A oszlopban lévő dátum év és hónap adata megegyezik-e a B oszlopban lévő (szövegként rögzített) év és hónap adattal,
- ha igen, akkor kigyűjti, hogy milyen számból mennyi van a C oszlopban

Mi van ha a két dátum-rész nem egyezik meg (pld. A2= 2010. 10. 21. de B2= 2010. 09.? Azokat az eseteket direkt hagyjuk ki?
Előzmény: p_vik (13083)
Törölt nick 2010.10.21 Creative Commons License 13090
Amúgy megy simán képlettel is: DARABTELI($A$2:$A$10;C2)
A: hónap
B: dátum
C: számok 1-10-ig
Előzmény: Törölt nick (13088)
wawabagus 2010.10.21 Creative Commons License 13089
Szia!
Köszi szépen!
Tök igazad van. Ilyesmire nem gondoltam, hogy új meg régi verzió. Tök jogos.
Ez gondot jelenthet. De milyen jó sok minden lehetséges problémát megtanul az ember egy ilyen tök egyszerű makro elkészítése közben :-).

Olyan egyszerűnek tűnik, de közben annyi minden potenciális dologra figyelni kell :-)...
Más csak annyit lát, hogy a makró megcsinál egy tök egyszerűnek tűnő feladatot :-D
Pedig kell egy kis trükközés :-)

Köszi a tippet!
Előzmény: Jimmy the Hand (13069)
Törölt nick 2010.10.21 Creative Commons License 13088
Előzmény: Törölt nick (13087)
Törölt nick 2010.10.21 Creative Commons License 13087
Ez excel 2007, de ugyanez megy 2003-ban is, csak máshogy néz ki
Előzmény: Törölt nick (13086)
Törölt nick 2010.10.21 Creative Commons License 13086
ja, előtte tegyél be egy oszlopot ami megmondja a dátum hónapját a HÓNAP() függvénnyel
Előzmény: Törölt nick (13085)
Törölt nick 2010.10.21 Creative Commons License 13085
1. AB.DARAB függvény
2. de a legegyszerűbb: pivottábla (A számokat oszlopmezőbe és adatmezőbe, a hónapokat sormezőbe) Adatösszegzési szempontnak pedig DARAB-ot adsz meg.
Előzmény: p_vik (13073)
keeper2 2010.10.21 Creative Commons License 13084
Jaja, teljesen megegyezik. Sőt, elég csak az A5-D5 cellák értékét átírni. Ha A5 vagy B5 a legkisebb, akkor jól működik, ha C5 vagy D5, akkor hibás. A 2-es sorban nincs semmi különös, csak szimplán a, b, c, d betűk az értékei, mind ugyanolyan típusú cella. (Jelen pillanatban még csak tesztként írtam meg, hogy jól megcsinálja, ha működik, akkor fogom beilleszteni a tényleges táblázatba.
Előzmény: SQLkerdes (13081)
p_vik 2010.10.21 Creative Commons License 13083
A oszlop B oszlop C oszlop D oszlop
2009. 09. 02. 2009. 10. 2 1-es értékelése
2009. 10. 15. 2009. 11. 1 2-es értékelése
2009. 10. 22. 2009. 12. 2 3-as értékelése
2009. 11. 06. 2010. 01. 4 4-es értékelése
stb. stb. stb. 10-ig


A oszlop dátumként, B általánosként.
Előzmény: SQLkerdes (13082)
SQLkerdes 2010.10.21 Creative Commons License 13082
Az év és hó (korábbi AG2) milyen formátumban van megadva? Szám, dátumként kijelezve?

A legegyszerűbb, ha két sort kézzel bepötyögsz ide (csúnya lesz, fórum motor monyon le, de a célnak meg fog felelni).
Előzmény: p_vik (13080)
SQLkerdes 2010.10.21 Creative Commons License 13081
Ezt néztem én is, de az A5:d5 és az a2:d2 vektor mérete megegyezik, nem?
Előzmény: Törölt nick (13079)
p_vik 2010.10.21 Creative Commons License 13080
Az AG2, pontosabban mondva az AG most a B oszlop. De talan egyszerubb lenne, ha fel tudnam tolteni vhova az xls file-t neked.
Előzmény: SQLkerdes (13078)
Törölt nick 2010.10.21 Creative Commons License 13079
a keresési és eredmény vektor méretének egyeznie kell
Előzmény: keeper2 (13077)
SQLkerdes 2010.10.21 Creative Commons License 13078
És mi az AG2?
Előzmény: p_vik (13076)
keeper2 2010.10.21 Creative Commons License 13077
Helló!

Meg tudnátok mondani, miért ad #Hiányzik értéket vissza ez a függvény: =KERES(MIN(A5:D5);A5:D5;A$2:D$2), ha mondjuk az A5-től D5-ig terjedő sor elemei a következők: 23 22 10 555, míg pl. a 23 22 30 555 sorra jól működik.
p_vik 2010.10.21 Creative Commons License 13076
Akkor ez lenne:
A oszlop: teljes dátum (év,hó,nap)
B oszlop: év és hó
C oszlop: számok 1-10-ig
D1-D10: kiértékelése 1-10-nek
Előzmény: SQLkerdes (13075)
SQLkerdes 2010.10.21 Creative Commons License 13075
Akkor az AG2-ben valami év, hó adat van?
Ird már le lécci konkrét oszlop nevekkel, valami ilyen stílusban:
- K oszlopban vannak a dátumok, ezeknek AG2-ben lévő "yy.mm" adattal kell megegyezzenek
- 18 oszloppal arréb meg van egy szám 1-10-ig, ezeket kell kigyűjteni

Az eredmény legyen a C1:C9-ig tartományban (C1 ha a 18. oszlop adata 1, C2 ha 2, etc.).
Előzmény: p_vik (13074)
p_vik 2010.10.21 Creative Commons License 13074
Igen, pontosan ez lenne. Jelen esetünkben csak az 1-es értékkel. :)
Előzmény: Jimmy the Hand (13072)
p_vik 2010.10.21 Creative Commons License 13073
Van egy oszlopom, ami dátumokat (év,hó,nap) tartalmaz és van egy ami számokat 1-10-ig. Azt szeretném, ha az excel kiszámolná egy 3. oszlopba, hogy havonta az egyes számok hányszor szerepelnek.
És mindezt képletekkel, mivel sajnos a makrózáshoz nem értek.. :(
Előzmény: Jimmy the Hand (13070)
Jimmy the Hand 2010.10.21 Creative Commons License 13072
Szerintem az, hogy össze kell számolni azokat a cellákat, ahol a K oszlopban AG2-vel kezdődő sztring van, 18 oszloppal odébb meg 1-es érték. De nem biztos, majd kiderül.
Előzmény: SQLkerdes (13071)
SQLkerdes 2010.10.21 Creative Commons License 13071
Itt vagyok már, csak még nem értem, hogy mi a feladat.
Bár akármi is a feladat, a SUMPRODUCT alkalmas a megoldásra :-)
Előzmény: Jimmy the Hand (13070)
Jimmy the Hand 2010.10.21 Creative Commons License 13070
Szerintem megoldható, csak írd le pontosan, mi a feladat.
(Aztán várj egy kicsit, míg megérkezik SQLkerdes egy jó szaftos SUMPRODUCT képlettel ;-) )
Előzmény: p_vik (13068)
Jimmy the Hand 2010.10.21 Creative Commons License 13069
Javaslom ezt a megoldást:

Dim FName, WBNew As Workbook
Dim Hely, UjNev, Sor

FName = Application.GetOpenFilename("Excel workbooks (*.xls), *.xls", , "Open the file you want to transform!", , False)
If FName = False Then
'a user Cancel-t nyomott
Exit Sub
End If
Set WBNew = Workbooks.Open(FName)
Hely = WBNew.Path & "\"
UjNev = Left(WBNew.Name, InStrRev(WBNew.Name, ".") - 1)

A GetOpenFilename függvény visszaadja a kiválasztott fájl teljes elérési útvonalát, ezáltal nem lehet kérdés, hogy melyik fájlt kell megnyitni és átalakítani. Ha a user a Cancel gombra kattint, a függvény False értékkel tér vissza, ami egy If-fel kezelhető.

Az UjNev meghatározásakor pedig a fájlnévben lévő utolsó pont helyzetét célszerű figyelembe venni, mert Excel 2003-ban a kiterjesztése 3 betű, Excel 2007-ben viszont 4 betű. Ha fix számú karaktert veszel le a fájlnév jobb oldaláról, akkor az valamelyik verziónál nem azt kapod, amit szeretnél.
Előzmény: wawabagus (13065)
p_vik 2010.10.21 Creative Commons License 13068
Igen, de sajnos nem veszi figyelembe a megadott szűrő feltételt, vagyis az AG2&"*"-t. Megoldható ez egyáltalán valahogy?
Előzmény: Jimmy the Hand (13067)
Jimmy the Hand 2010.10.21 Creative Commons License 13067
A képleted alábbi része pontosan ezt csinálja:

COUNTIF(OFFSET($K$2:$K$65000,0,18),1)

Előzmény: p_vik (13066)
p_vik 2010.10.21 Creative Commons License 13066
És akkor elvileg hogyan lehetne megoldani ezt a problémát, vagyis hogy az eltolt oszlopban összeszámolja azokat a cellákat, amik 1-et tartalmaznak?
Előzmény: Jimmy the Hand (13064)
wawabagus 2010.10.21 Creative Commons License 13065
Szia!
Így:


MsgBox "Open the file you want to transform!"
Application.Dialogs(xlDialogOpen).Show

a = Workbooks.Count

Dim Hely, UjNev, Sor
Hely = Workbooks(a).Path & ""
Nev = Workbooks(a).Name
UjNev = Left(Nev, (Len(Nev) - 4))

stb stb
Előzmény: Jimmy the Hand (13062)
Jimmy the Hand 2010.10.21 Creative Commons License 13064
A COUNTIF elvileg egyetlen egész számot ad eredményül. A SUMIF harmadik paramétere pedig cellatartomány kell legyen. A kettő nem kompatibilis egymással.
Előzmény: p_vik (13063)
p_vik 2010.10.21 Creative Commons License 13063
Sziasztok!

Meg tudnatok mondani, hogy ez a keplet miert nem mukodik? Hianyzo zarojelet ker, de elvileg meg van mindegyik:

=SUMIF($K$2:$K$65000,AG2&"*",COUNTIF(OFFSET($K$2:$K$65000,0,18),1))

Csak sejtesem van, hogy esetleg nem lehet kombinalni a sumit-et es countif-et?
Jimmy the Hand 2010.10.21 Creative Commons License 13062
Hogyan választja ki a fájlt?
Előzmény: wawabagus (13061)
wawabagus 2010.10.21 Creative Commons License 13061

Szia!

Végig gondoltam és arra jutottam hogy nem generál ilyen jellegű hibát, mert:

 

1. A felhasználó elindítja a makró munkafüzetből a makrót

2. Kiugrik a fájl kiválasztós ablak

3. Csak miután megnyitotta a fájlt számolja össze hány excel fájl van nyitva egyszerre

4. Felhasználó pislog egyet és kész a fájl 

 

Közben viszont így rájöttem hogy hibát generál az, ha meggondolja magát és nem választ ki fájlt...kiugrik a debug ablak, amivel feltételezhetően nem fog tudni mit kezdeni :-DDD. Majd segítségért kiált :-DDD...és jövök.

 

Utólag ezt még kijavítanám, de már szétküldtem a makrot aztán nem bonyolítom a dolgokat.

:-)

 

Előzmény: O. Kán (13057)
SQLkerdes 2010.10.21 Creative Commons License 13060
Már mérne már?
A darunak is van száma, meg a hibának is van kódja. Egyik X, másik Y.
Vagy most félreértek valamit?
Előzmény: nanemáraaaaaa (13058)
Jimmy the Hand 2010.10.20 Creative Commons License 13059
"A kérdésem az lenne, hogy lehet-e olyan globál változót definiálni - és aztán értéket megadni - az egyik munkafüzetben, ami a másik munkafüzetben is az előző munkafüzetben megadott értékkel bír? "

Nem tudom. Azt viszont biztosan lehet, hogy minden e szempontból lényeges szubrutinnak legyen egy olyan bemenő paramétere, amelyik a bőbeszédűségét hivatott szabályozni. Aztán a főprogramban kell feltenni a kérdést, és a válasznak megfelelő paraméterezéssel meghívni a többi szubrutinokat.

A másik lehetőség, hogy valami .cfg vagy .ini fájlt hozni létre, és abban tárolni a mindenkire vonatkozó adatokat. Ez a bonyolultabb megoldás szerintem.
Előzmény: O. Kán (13053)
nanemáraaaaaa 2010.10.20 Creative Commons License 13058
Lehet ilyet egyáltalán? s.o.s
O. Kán 2010.10.20 Creative Commons License 13057

Ennek a megoldásnak van hibája. (Pl. akkor, ha menet közben becsuk egy fájlt a felhasználó).

 

Ezért inkább én a következőt javaslom.

 

Amikor a felhasználó kinyitja az ominózus fájlt, akkor ezt add meg:

 

a=ActiveWorkbook.Name

 

Utána ugyanúgy tudsz hivatkozni az adott fájlra, mint ahogy Te is megadtad :

 

Workbooks(a) 

 

Előzmény: wawabagus (13043)
nanemáraaaaaa 2010.10.20 Creative Commons License 13056
Hát ezt nem lehet:(
nanemáraaaaaa 2010.10.20 Creative Commons License 13055
megprobálom...kössz
SQLkerdes 2010.10.20 Creative Commons License 13054
Én az XY chart-tal próbálkoznék a helyedben.
Előzmény: nanemáraaaaaa (13052)
O. Kán 2010.10.20 Creative Commons License 13053
Több munkafüzetben vannak, igen. (Az egyikben van az az összesítő program, amiből meghívom a - különböző helyeken lévő - szubrutinokat, a másikban -harmadikban, stb. - a szubrutin.) A kérdésem az lenne, hogy lehet-e olyan globál változót definiálni - és aztán értéket megadni - az egyik munkafüzetben, ami a másik munkafüzetben is az előző munkafüzetben megadott értékkel bír? 
Előzmény: Jimmy the Hand (13042)
nanemáraaaaaa 2010.10.20 Creative Commons License 13052

Üdv mindenkinek!

Tudna valaki segíteni nekem?!!

Az a  helyzet hogy csináltam egy adattáblát és egy olyan diagrammot  kellene csinálnom amiben a meghibásodások vannak az idő függvényében. tehát hogy melyik daru mikor milyen hibákat szenvedett.( a számok a hibakódokat jelölik)

Delila_1 2010.10.20 Creative Commons License 13051
Szívesen.
Előzmény: wawabagus (13049)
Delila_1 2010.10.20 Creative Commons License 13050
:)
Előzmény: Jimmy the Hand (13047)
wawabagus 2010.10.20 Creative Commons License 13049

Delila_1!

Visszaszívtam a kérdést.

Minden működik jól, csak én gondoltam rosszul, hogy "" közé kell tenni a címeket.

:-(..:-D....

Nagyon köszönöm a megoldást!!!!!

 

Előzmény: wawabagus (13048)
wawabagus 2010.10.20 Creative Commons License 13048

Szia Delila_1!

 

Próbálgatom a makrót, amit írtál...

És valahogy nem működik, de nem tudok rájönni mi hibázik.

 

Úgy írja, minth a Find részben lenne hiba...de ha külön az "immadiate" ablakban nézem, akkor tökjól működik a kód. Arra még rájöttem, hogy az oszlopok neveit "" közé kell tennem...

 

Szerinted mi lehet a baja?

Elfogytak a tippjem, pedig sokat próbálgattam...

Nem lehet, hogy a find nem tudja melyik sheet-en keressen?

 

Köszi az ötleteklet!

:-) 

 

Sub DeleteColumns()


Dim sor As Integer
Dim oszlopnev As String

Sheets("Sheet1").Select
  
sor = 1

Do While Sheets("Sheet2").Cells(sor, 1) <> ""
    oszlopnev = Sheets("Sheet2").Cells(sor, 1).Value
   
Cells.Find(what:=oszlopnev, after:=ActiveCell, LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).Activate
Columns(ActiveCell.Column).Delete
   
sor = sor + 1
Loop

End Sub

Előzmény: Delila_1 (12963)
Jimmy the Hand 2010.10.20 Creative Commons License 13047
(UTC+01:00) Budapest, Belgrád, Ljubljana, Pozsony, Prága

Delilát váltottam, aki éjfélkor végzett a 24 órás ügyelettel ;)
Előzmény: SQLkerdes (13045)
wawabagus 2010.10.20 Creative Commons License 13046

:-)

Köszi!

Felvillanyozta az ötlet a tegnapi napomat :-).

Ki hinné, hogy ilyennek lehet örülni :-DDD.

Előzmény: SQLkerdes (13044)
SQLkerdes 2010.10.20 Creative Commons License 13045
Jimmy, te milyen időzónában vagy, hogy hajnal egykor post-olgatsz?
Előzmény: Jimmy the Hand (13042)
SQLkerdes 2010.10.20 Creative Commons License 13044
Szép megoldás! Innen is látszik, hogy a programozás egy nagyon logikus dolog és egy jó ötlet gyakran fontosabb mint az utasítások teljes ismerete (ami persze nem nélkülözhető, sajnos).
Előzmény: wawabagus (13043)
wawabagus 2010.10.20 Creative Commons License 13043

Szia!

csak el szeretném mesélni, hogy kitaláltam egy még jobb megoldást a makró átadására.

 

A macrót egy munkafüzethez fűztem, amit simán lehet továbbítani...onnan a felhasználó maga választja ki a kívánt fájlt. Így nem kell Personal-ba másolgatni.

 

És amivel annyit szenvedtem...rájöttem, hogy ez a workbooks(1) stb...bekavart amiatt, ha nekem volt Personal file-om a gépem, de másnak nem...az 1 néha a Personal volt, néha meg a megnyitott fájl.

 

Az is gondot jelentett, ha már volt megnyitott munkafüzet.

 

De mindezt kiküszöböltem ezzel az egy sorral :-):

 

Miután kinyitotta a felhasználó a kívánt fájlt:

 

a = Workbooks.Count

 

Onnantól úgy tudok hivatkozni rá, hogy

 

Workbooks(a)

 

:-)

 

Tökjó megoldásnak tűnik, eddig nem generált hibát.../remélem nem is fog/

 

Ezt találtam ki.

 

Előzmény: SQLkerdes (13029)
Jimmy the Hand 2010.10.20 Creative Commons License 13042
Ezt nem egészen értem. Amúgy igen, a (bármelyik) makrólap elején Public utasítással definiált változóra gondoltam. De mi az, hogy "több munkafüzetre érvényesen megadni"? Erre akkor lenne szükség, ha a makrók különböző munkafüzetekben lennének. Egy adott munkafüzetben definiált Public változó (tudomásom szerint) tartja az értékét mindaddig, amíg egy End utasítás végre nem hajtódik, vagy be nem zárod a munkafüzetet.

Ha az összes programkód ugyanabban a munkafüzetben van, akkor bármelyik szubrutin bármikor látja a változó értékét. Függetlenül attól, hogy a programkódot tartalmazó munkafüzet mellett még milyen egyéb munkafüzetek vannak nyitva, és éppen melyik az aktív.

Előzmény: O. Kán (13041)
O. Kán 2010.10.19 Creative Commons License 13041
Oké, így csinálom. A globál változót (gondolom a makrólap elején public utasítással definiált változóra utalsz) viszont nem tudom több munkafüzetre érvényesen megadni. Ezt lehet-e, ha igen hogyan megadni?
Előzmény: Jimmy the Hand (13040)
Jimmy the Hand 2010.10.19 Creative Commons License 13040
Szerintem kellene a globál változó, hogy kell-e az emelt szintű szolgáltatás, vagy nem. A program elején feltenni a kérdést, aztán a választól függően jeleníteni meg a továbbiakban az msgbox-okat.
Előzmény: O. Kán (13037)
SQLkerdes 2010.10.19 Creative Commons License 13039
Vagyis bele kell nyúlni az eredeti programba.

Ha a kérdésed az volt, hogy egy makró mellett futhat-e egy másik makró, ami automatikusan kiválasztja pld a Yes válaszokat, akkor ilyen ésszerű munkaráfordítással nem gondolom, hogy készíthető.
Előzmény: SQLkerdes (13038)
SQLkerdes 2010.10.19 Creative Commons License 13038
Nos, ha a msgbox kiolvas valami választ (OK, Cancel, Yes, bármi) akkor a kódból ki kell hagyni a Msgbox részt és a feltételezett-kézi-választ be kell írni (hardcoding) a makróba.

Ekkor nem áll meg megkérdezni, hogy "Ízlett-e a kávé, user Úr" (Yes/No) hanem a kódban a változó a Yes értéket kapja és következő lépésként megsimogatja a titkárnő buksi fejét.
Előzmény: O. Kán (13037)
O. Kán 2010.10.19 Creative Commons License 13037
Mert alapesetben ez egy user-friendly program, szépen megkérdezi a felhasználótól, hogy hogy tetszik lenni, hogy szolgál az egészsége, akar-e egy picit klikk(el)eskedni, hogy megkapja a napi betevő információt, stb.stb. így szépen sorban. Nade nekem, mint programírónak és főszerkesztő úrnak nincs szükségem ilyen emelt szintű kiszolgálásra, nem kell a fenekem alá tenni mindent, jó nekem egy mezei "yes" válasz is, egyből, bele a közepibe.
Előzmény: SQLkerdes (13036)
SQLkerdes 2010.10.19 Creative Commons License 13036
Ha makróból kezeled akkor nem kell a msgbox-ból kiválasztani a lehetőségeket. Ilyen esetben miért használnál msgbox-ot egyáltalán?
Előzmény: O. Kán (13035)
O. Kán 2010.10.19 Creative Commons License 13035

Ehhez a problémakörhöz tartozik még egy kérdés: egy programban felbukkanó msgbox üzenetet lehet-e kézi beavatkozás (az üzenet ok gombjára való rákkantítás nélkül) nélkül, makróból lekezelni egy megfelelő utasítással? Ha igen, akkor hogyan?

 

Köszönöm előre is a választ.

Előzmény: Jimmy the Hand (13008)
Delila_1 2010.10.19 Creative Commons License 13034
Ennek örülök. Szívesen.
Előzmény: repuleskepekben (13033)
repuleskepekben 2010.10.18 Creative Commons License 13033
Köszönöm szépen, erre gondoltam! Nagyon jól működik!
Előzmény: Delila_1 (13017)
SQLkerdes 2010.10.18 Creative Commons License 13032
Akkor alaposan át lett gondolva az a 10 soros kód :-)
Előzmény: Törölt nick (13030)
Delila_1 2010.10.18 Creative Commons License 13031
Makrót írok. :)
Előzmény: SQLkerdes (13021)
Törölt nick 2010.10.18 Creative Commons License 13030
Hát este meglátta, aztán eddig gondolkodott rajta ;)
Előzmény: SQLkerdes (13021)
SQLkerdes 2010.10.18 Creative Commons License 13029
Nos, ha meg tudod oldani, akkor másold be a Personal-jukba.
Vannak más megoldások is, de ha a Personal-juk elérhető, akkor lehet az a legegyszerűbb.

A segítséget meg nincs mit.
Előzmény: wawabagus (13028)
wawabagus 2010.10.18 Creative Commons License 13028
Képzeld magamtól is rájöttem erre és átírtam /hihetetlen :-DDDDDDDDDD/
És tök szuperul működik :-)!!!!!!!!!!

Amit írtál a több oszlop/sor beszúrásról is szuperul működik.

És egyébként is úgy csináltam meg hogy kiválasztja a fájlt, ahogy mondtad.
Annyira klassz :-)!!!Nagyon profinak tűnik a makróm. Mégy egy csomó tök fölösleges sort kidobtam a kódból.

Ha most én ezt szeretném másokkal megosztani akkor egész konkrétan mindenkinek be kell másolnom az ő Personal-jukba?

Nagyon köszönöm az összes segítséget!!Örök hálám komolyan.
Mindig annyit segítetek :-)

:-)
Előzmény: SQLkerdes (13027)
SQLkerdes 2010.10.18 Creative Commons License 13027
Próbáld meg Workbook(2)-vel
Előzmény: wawabagus (13026)
wawabagus 2010.10.18 Creative Commons License 13026
Szia!
Köszi!
Kipróbálom a beszúrást...

Sajnos, ha personalban írom a macrot továbbra is a Personal neki a Workbooks(1) és azt mentegeti...
Szerintem ez olyan fura. Használtam már tök sok fájlban, igaz az mind templét volt..

Megőrülök :-DDD...

Megpróbálom azt a hiválasztásos módszert.
:-)
Köszi
Előzmény: SQLkerdes (13025)
SQLkerdes 2010.10.18 Creative Commons License 13025
Ha az excel-t lecsukod a makró futása után, akkor a következő indulás után a megnyitott excel workbook megint Workbooks(1)-el hivatkozható.

Lehet a te esetedben meg kéne próbálni, úgy megírni a kódot, hogy a kód futása egy felnyíló ablakkal kezdődjön, ahol a forrás workbook-ot a felhasználó kézzel választhatná ki.

Most nem tudom kipróbálni, de szerintem a
Columns("B:D").Insert shift:=xltoright
3 oszlopot szúr be.
Előzmény: wawabagus (13024)
wawabagus 2010.10.18 Creative Commons License 13024
Szia!
Köszi a válaszod! Nagyon sokat tanulok belőle!
Igen, mondtátok nekem többször is, hogy ne használjan a selectet ennyire...látszik, hogy felvett makróból dolgozom.

Át is írom ahogy mondtad...

A helyzet az, hogy én nem tudom a munkafüzet nevét, mert az partnerenként változó lesz...és rengeteg partner van, tehát ki kéne olvasnia.

Akkor megpróbálom amit írtál, hogy Workbook(1)...az lesz eleve megnyitva /csak és kizárólak/....aztán gondolom Workbook(2), lesz az új munkfüzet.

Azt szeretném még kérdezni, hogy esetleg ezt is le lehet rövidíteni?:

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Columns("G:G").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown

Tehát mondhatom valami egyszerűbb kóddal, hogy a B oszlop után 3db új oszlopot hozzon létre stb?
Nagyon köszönöm a segítségedet!!!


Előzmény: SQLkerdes (13023)
SQLkerdes 2010.10.18 Creative Commons License 13023
Ott a baj!
A ThisWorkbook object az mindíg az, amiben a makró "ül".

A Hely, Nev es Ujnev nálad mind a ThisWorkbook-ból olvassa ki a megfelelő tartalmat.

Javaslat:
- használd a Workbook object index-ét névvel. Ha tehát tudod a "forrás" workbook nevét, akkor így hivatkozz rá: Workbooks("ForrasWorkbookNeve"). Igy tuti, hogy a jó workbookot használod. Mondjuk ebben az esetben, nem kell a Nev változót kiolvasni, mert tudod. Ha nem tudod, akkor csukj be minden más workbook-ot amikor a makró fut és használd az index-számos workbook hivatkozást: Workbboks(1).

A legjobb ha definiálsz egy ForrásWorkbook workbook objectet, megfelelteted a megfelelő workbooknak és utána arra hivatkozol, pld
Dim ForrasWorkbook as workbook
Set forrasworkbook = workbooks("forrasworkbookneve")
Hely = forrasworkbook.Path & "\"

- Dim Hely, Nev, UjNev, Sor HELYETT Dim Hely, Nev, Ujnev as String (új sor) Dim Sor as Long (azért jobb így, mert ezzel is hibákat azonosíthatsz)

- NE használj Select-et, nézz utána a With ... End With struktúrának.
Ha valahol a With ... End With nem műxik, használj mást, pld

Sheets("Partner Pricing Details").Range("A65500").Select
Selection.End(xlUp).Select
Sor = (ActiveCell.Row) + 1

HELYETT

Sor = Sheets("Partner Pricing Details").Range("A65500").End(xlUp).Row +1

Vagy:

Rows("1:1").Select
Selection.Insert Shift:=xlDown

HELYETT

Rows("1:1").Insert Shift:=xlDown

Gondolom látod, hogy hogy műxik a dolog.

A Select csak lassítja és bonyolítja a kódodat.

- Használd a változóidat! Pld: Mivel a Thisworkbook.Name tartalmát már kiolvastad a Nev változóba (most tekintsünk el attól, hogy nem a Thisworkbook object-et kellett volna használni) megfontolandó a következő változtatás a kódban:

UjNev = Left(ThisWorkbook.Name, (Len(ThisWorkbook.Name) - 4))

HELYETT

UjNev = Left(Nev, (Len(Nev) - 4))

Nem csak olvashatóbb a kódod, hanem gyorsabb is, mert az xl-nek nem kell háromszor kiolvasnia a file nevét, elég egyszer, és utána már "csak" a Név változót használja.
Előzmény: wawabagus (13022)
wawabagus 2010.10.18 Creative Commons License 13022
Szia!
Beteszem az egészet:
Personalként menti :-DDD...
Köszi, hogy segítesz!!!

Dim Hely, Nev, UjNev, Sor
Hely = ThisWorkbook.Path & ""
Nev = ThisWorkbook.Name
UjNev = Left(ThisWorkbook.Name, (Len(ThisWorkbook.Name) - 4))


Sheets("Partner Pricing Details").Range("A65500").Select
Selection.End(xlUp).Select
Sor = (ActiveCell.Row) + 1

Sheets("Partner Pricing Details").Copy After:=Sheets(3)
Sheets("Partner Pricing Details (2)").Name = "CSV"
Sheets("CSV").Activate
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Columns("G:G").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown

'Új oszlop nevek létrehozása
Range("A1").Value = "# LXK UP PriceList"
Range("A2") = "#PriceList.Name"
Range("B2") = "PriceList.Currency"
Range("C2") = "PriceList.Organization"
Range("D2") = "PriceList.EffFromDate"
Range("E2") = "PriceList.PartnerProd"
Range("F2") = "PriceList.ProductLine"
Range("G2") = "PriceList.CoveredMTM"
Range("H2") = "PriceList.DistributionType"
Range("I2") = "PriceList.Product"
Range("J2") = "PriceList.LaborPrice"
Range("K2") = "PriceList.PartsPrice"
Rows("3").Delete

'Új oszlopok feltöltése
Range("B3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'Price List Header'!C[-1]:C,2,0)"
Selection.AutoFill Destination:=Range("B3:B" & Sor)
Range("B3:B" & Sor).Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],'Price List Header'!C[-2]:C[1],3,0)"
Selection.AutoFill Destination:=Range("C3:C" & Sor)
Range("C3:C" & Sor).Select
Range("D3").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'Price List Header'!C[-3]:C,4,0)"
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],'Price List Header'!C[-3]:C,4,0)"
Range("D3").Select
Selection.AutoFill Destination:=Range("D3:D" & Sor)
Range("D3:D" & Sor).Select

'Helyes dátumformátum
Range("D:D").NumberFormat = "dd/mm/yyyy"
Cells.Select
Selection.Copy

'Új munkafüzet létrehozása és mentése a régi nevén
Set WBN = Workbooks.Add(xlWBATWorksheet)
Set WSR = WBN.Worksheets(1)

Sheets("Sheet1").Activate
ActiveSheet.Paste

Range("A1").Select

WBN.SaveAs Filename:= _
Hely & UjNev & ".csv", FileFormat:=xlCSV, _
CreateBackup:=False

End Sub
Előzmény: SQLkerdes (13020)
SQLkerdes 2010.10.18 Creative Commons License 13021
Delila, te meg mit csinálsz hajnali fél hétkor az excel topikban?
Részvétem!
Előzmény: Delila_1 (13017)
SQLkerdes 2010.10.18 Creative Commons License 13020
Hmm...
Tuti, hogy a Personal-t menti csv formában, nem pedig a jót menti, de Personal név alatt? Mert nagyon nem mindegy!

Ha csak a név rossz, akkor azt kell ellenőrizni, ahol a név-sztringer kiolvasod, ha a Personal-t menti, akkor meg azt a részt ahol lemented a filet (mert a lementendő object van rosszul megadva).

Sokat segítene, ha betennék a kódot de legalább a megfelelő részét.
Előzmény: wawabagus (13018)
wawabagus 2010.10.18 Creative Commons License 13019
Szia Delila_1!
Igen, elvileg már sokat használtam makrót úgy hogy Personal-ba volt lementve...
De a gondom az, amit leírtam SQL-nek...

Hogy ha Personalba mentem akkor az Új fájl helyett a personalt mentegeti nekem.
Ha viszont a munkafüzethez kapcsolom a macrót, akkor meg jól működik...

Totál nem értem :-))..

Előzmény: Delila_1 (13001)
wawabagus 2010.10.18 Creative Commons License 13018
Szia!
Köszi még egyszer a segítséget!
Van valami amit én totál nem értek.

Megírtam a makrót, ami remekül működik, ha az adott munkafüzetben tárolom

DE

ahogy Personal-ba mentem, már nem jó munkafüzetet ment el csv formátumba.
Konrétan a macro munkafüzetet mentegeti /Personal.csv/.

Ez okozta eddig is problémát, de totál nem értem mit kezdjek ezzel.
Nekem Personal-ba mentve kell a macró, de akkor félreérti a dolgokat....

Pedig úgy hivatkoztam, ahogy írtad: definiáltam egy nevet az létrehozott munkafüzetnek...

Van valami tipped mi lehet a baja?

Köszi előre is
Előzmény: SQLkerdes (12990)
Delila_1 2010.10.18 Creative Commons License 13017
Sub mm()
    Dim sz As Integer
   
    For sz = 1 To 1500
        Range("DL2") = sz
        If Range("DK1") = 1 Then
            MsgBox "Megvan: " & sz: Exit Sub
        End If
    Next
    MsgBox "Nincs meg"
End Sub
Előzmény: repuleskepekben (13016)
repuleskepekben 2010.10.17 Creative Commons License 13016
És makróval hogy lehetne azt megoldani, hogy mondjuk egy nyomógombbal indítom el a cellában lévő értéket, mondjuk 1-el kezdödjön, és mondjuk 1500-ig helyettesítse be a számokat, amik csak pozitív egész számok lehetnek, és növekvő sorrendben 1,2,3,4,5....1498,1499,1500 és ha a behelyettesítéskor mondjuk a C2-es cella értéke 1-re változik, akkor álljon le a számok behelyettesítése?

Van egy munkalapom, ahol a DL2 cellába kellene behelyettesíteni a számokat 1-1500-ik, és van a DK1 cella amiben bizonyos feltételek teljesülése esetén 0-ról 1-re változik.Azt szeretném, hogy az 1-el inditott behelyettesítés addig menjen, mig a DK1 cella értéke 0-ról 1-re nem változik.Az 1500 számig terjedő behelyettesítésre akár 3 ilyen is előfordulhat, hogy a DK1 cella 0-ról 1-re változik, de van olyan is amikor csak 1-szer, meg olyan is, amikor egyszer sem, ezért nem jó nekem a célértékkeresés.A DK1 cella egyébként egy HA függvényt tartalmaz, ami sok cella értékét figyeli, és ennek csak 0 vagy 1 az értéke.

Ezt hogy lehetne megoldani?
Előzmény: Törölt nick (13015)
Törölt nick 2010.10.17 Creative Commons License 13015
megmeg
Előzmény: repuleskepekben (13014)
repuleskepekben 2010.10.17 Creative Commons License 13014
A Solver-nél ott meg lehet adni, hogy a behelyettesített értékek mondjuk egész számok legyenek, és mondjuk 1-től 500 ig terjedjen?
Előzmény: Törölt nick (13012)
Törölt nick 2010.10.17 Creative Commons License 13013
B2 helyett B1 természetesen
Előzmény: Törölt nick (13012)
Törölt nick 2010.10.17 Creative Commons License 13012
Nem értem. Ebben az esetben egy sima összeadás/kivonással ki lehet számolni a B2 cella értékét - hogy a C2=1 legyen
=J1-H1-G1-F1

vagy:
1. Célérték keresés
vagy
2. Solver (A bővítményeknél be kell kapcsolni)
vagy
3. Makró számolós ciklussal
4. Makró, aminek kivanja a J1-H1-G1-F1 cellák értékét egymásból és visszaadja a B2 cellának :)





Előzmény: repuleskepekben (13011)
repuleskepekben 2010.10.17 Creative Commons License 13011
Sziasztok!

A következő megoldására kérném a segítségetek.

Van egy munkalap, ahol van egy léptető. A léptető 1-től több ezerig terjedhet.Ez a léptető a B1 cellához van rendelve.

F1 cella 112
G1 cella 21
H1 cella 33 értékekkel rendelkezik.

J1 cella a 281-es értékkel rendelkezik

C1 cellában a képlet : =SZUM(B1;F1;G1;H1)
C2 cellában a képlet : =HA(C1=J1;1;0)

A munkalap:

A kérdésem az lenne, hogy hogyan lehet azt megoldani, hogy a léptető, vagy esetleg nyomógombbal elinditani a B2-es cellát 1-től, és addig léptetné magától, mig a C2 cella értéke 1-re nem változik.És ennek hatására megállna a léptető.Vagy esetleg nyomógomb hatására indulna el a léptető álltal vezérelt cella, és a C2 értékének 1-re váltása hatására állna meg. Ezt meg lehet oldani?

O. Kán 2010.10.16 Creative Commons License 13010

Fantasztikus! Hogy Te miket tudsz...:)

 

(A public-ra már én is rájöttem korábban, de erre a paraméterezésre...Köszi!)

Előzmény: Jimmy the Hand (13008)
Törölt nick 2010.10.16 Creative Commons License 13009
ha egy képletet tartalmazó cellára szeretnél adatérvényesítést, akkor pl. az adatérvényesítésben ugyanazt a képletet kell megadnod, ami a cellában van. (Adatérvényesítés --> "Egyéni")
Előzmény: repuleskepekben (13005)
Jimmy the Hand 2010.10.16 Creative Commons License 13008
"ez a szubrutin egy "...beforedoubleclick" eseménykezelőben van, amit nem tudok a szokásos call paranccsal meghívni."

Nem biztos, hogy nem tudod. Ha például

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'kód
End Sub

helyett az eseménykezelőd így néz ki:

Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'kód
End Sub

akkor simán meghívható például így:

Sub hívás
Munka1.Worksheet_BeforeDoubleClick Range("A1"), False
End Sub

Feltéve, hogy a Munka1 kódnevű munkalaphoz tartozik. A szubrutin belsejétől függően fontos lehet, hogy a Range("A1"), False paraméterek helyén mit adsz meg.
Előzmény: O. Kán (13007)
O. Kán 2010.10.16 Creative Commons License 13007

"...és egyszerűen meg kellene hívni az XYZ szubrutint"

 

Bocsánat, erre még nem reagáltam: azt is megpróbáltam, hogy meghívom, de ez a szubrutin egy "...beforedoubleclick" eseménykezelőben van, amit nem tudok a szokásos call paranccsal meghívni.

Előzmény: Jimmy the Hand (13003)
O. Kán 2010.10.16 Creative Commons License 13006

Azért szeretném (szerettem volna) meghívni makróból a szubrutint, mert az egy többlépcsős makró lett volna, összesítve a különböző, egyébként önállóan működni képes szubrutinokat. Így nem marad más hátra, mint a "...beforedoubleclick"-be írt szubrutint átmásolom egy sima, nem eseménykezelős makróba (amit sajnos még át kell szerkesztenem, hogy így is futni tudjon), és ezt hívom meg az összesítőbe.

 

Köszönöm a választ mindenkinek. :)

Előzmény: Jimmy the Hand (13003)
repuleskepekben 2010.10.16 Creative Commons License 13005
Az a bajom, közben rájöttem, hogyha egy cellába csak beírom az adott értéket, amire adatérvényesítést kérek, akkor minden jól működik.Da ha egy olyan cellára kérem, ami több más cellából ad ki eredményt, azaz képletet tartalmaz, akkor már nem müködik az adatérvényesítés.Nekem erre a cellára kellene.Azaz ha a cella értéke több másik cellával összefüggésben olyanra változik amelyre szeretném, akkor az adatérvényesítés figyelmeztessen.
repuleskepekben 2010.10.16 Creative Commons License 13004
Az adatérvényesítést próbálgatom, de nem tudom beállítani.Ha ott bejönne egy ablak, az jó lenne, de nem tudtam megcsinálni adatérvényesítéssel.
Hogy kell azt beállítani?
Előzmény: Törölt nick (12985)
Jimmy the Hand 2010.10.16 Creative Commons License 13003
Igazad van, az Application.DoubleClick tényleg nem csinál semmit (legalábbis semmi láthatót). A kérdés inkább az, miért akarod VBA kóddal emulálni a dupla kattintást. Mert ez most így néz ki (ha jól értem):

1) emulálod kóddal a duplakattintást,
2) erre a DoubleClick eseménykezelő lefut,
3) és meghívja az XYZ szubrutint.

Az első két lépés simán kihagyható lenne, és egyszerűen meg kellene hívni az XYZ szubrutint.
Előzmény: O. Kán (12999)
boraka 2010.10.16 Creative Commons License 13002

"Másrészt, ehhez a munkafüzethez beszúrok egy modul lapot, amire a következő makrót írom

 

Sub dlck()
Sheets("munka1").Select
Application.DoubleClick
End Sub"

 

Szerintem, ez felesleges.

 

"Egyrészt, egy munkalaphoz (a neve mondjuk "munka1") odateszem azt a makrót, amit írsz"

 

Javaslom, hogy ezt így tedd meg:

 

 

Előzmény: O. Kán (12999)
Delila_1 2010.10.16 Creative Commons License 13001
A Personal.xls úgy jött létre, hogy egy makrórögzítésnél a makró helyénél az "Egyéni makró-munkafüzetben" opciót választottad. Amelyik makrót a personalba írod, az minden megnyitott füzetben futtatható, mert ezt a fájlt az Excel indításkor betölti, háttérben. Ez kiválóan alkalmazható, pl. arra, hogy egy kijelölt területet bármelyik füzetben egy kattintással a kedvenc formátumodra alakítsd.

Ha a modullapon a makrók fölött beállítod az SQL által említett Option Explicit-et, futtatáskor azonnal kapsz egy üzenetet, ha dimenzionálás nélküli változót akarsz alkalmazni (UjNeve).
Előzmény: wawabagus (12996)
Törölt nick 2010.10.15 Creative Commons License 13000
De működik.
A modullapra rakott makród teljesen független a munkalap eseménykezelőjében lévőtől.

Az Application.DoubleClick lövésem nincs mire való, de szerintem nem erre amire te akarod használni. Valaki leírhatná mie való...
Előzmény: O. Kán (12999)
O. Kán 2010.10.15 Creative Commons License 12999

Köszi, de nem működik.

 

Egyrészt, egy munkalaphoz (a neve mondjuk "munka1") odateszem azt a makrót, amit írsz

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox "Dupla klikk"
  Cancel = True
End Sub

 

 

Másrészt, ehhez a munkafüzethez beszúrok egy modul lapot, amire a következő makrót írom

 

Sub dlck()
Sheets("munka1").Select
Application.DoubleClick
End Sub

 

Amikor aztán elínditom ez utóbbi makrót, akkor nem fog a msgbox megjelenni (és egyébként sem történik semmi a makró következtében). 

Előzmény: boraka (12957)
Herold 2010.10.15 Creative Commons License 12998
Sikerült, köszönöm.
Előzmény: Törölt nick (12994)
Törölt nick 2010.10.15 Creative Commons License 12997
spec alighanem azárt szürke, mert jelszóval védve.
Előzmény: Herold (12993)
wawabagus 2010.10.15 Creative Commons License 12996
Szia!
:-))))...igenigen, ezt én is észrevettem már :-DDD.
Köszi a sasszemet!
:-)
Előzmény: Delila_1 (12991)
wawabagus 2010.10.15 Creative Commons License 12995
Szia!
Nagyon köszönöm a válaszod!
Az a jel ott volt a macroban, nem is értem hogyan sikerült ezt rosszul bekopiznom.
Viszont nagyon köszönöm ezt az tippert használni fogom.

Igazánból valami nagyon fura dolgot műveltem a makróval, amit abszolút nem értem.
Létrehoztam egy PERSONAL nevű fájlt a próbálgatásaim során...de én nem akartam...:-D
Szóval szerintem az excel tényleg nem értte mi az aktív munkafüzet.

Azt szeretném még kérdezni, hogy ha ezt a makrót szeretném több ember számára hozzáférhetővé tenni azt hogyan tudom.

A makróm, ami egyébként 99%-ban kész /nagyon éleveztem :-D/ úgy kéne működnie, hogy külön gépeken te tudják futtatni...

Ezt hogyan tudom praktikusan megoldani? Lehetne template-tel, de itt ez nem jöhet szóba.

Hova kell bemásolniuk?

Köszi az infót és még egyszer a segítséget!
:-)
Előzmény: SQLkerdes (12990)
Törölt nick 2010.10.15 Creative Commons License 12994
ALT+F11

Itt alapban a bal oldalon látható felületen keresd meg a "Modul" lapokat, amelyekre dupla kattintással megnyílik egy szkript, amit kézzel ki tudsz törölni.
(Ha nincs levédve jellszóval...)
Előzmény: Herold (12993)
Herold 2010.10.15 Creative Commons License 12993
A makrót hogy tudom kitörölni egy dokukmentumból? (Office XP-t használok).
Az Eszközök/Makrók/Makró menüpontban ha kijelölöm a makró nevét, a Törlés gomb szürke, nem lehet törölni.
SQLkerdes 2010.10.15 Creative Commons License 12992
Szép találat!

Ezért kell használni az OPTION EXPLICIT-et!
Előzmény: Delila_1 (12991)
Delila_1 2010.10.15 Creative Commons License 12991
A fájlnév megadásakor UjNev a változód neve (helyfoglaláskor is), mentéskor UjNeve.
Mivel az UjNeve értéke üres string, nem tudja elmenteni.
Egy betű ilyen galibát okozhat.
Előzmény: wawabagus (12986)
SQLkerdes 2010.10.15 Creative Commons License 12990
A ThisWorkbook mindíg az a workbook, ami a kódot tartalmazza, szóval a definiálással nincs gond.

A probléma az lehet, hogy utána az ActiveWorkbook object-tel akarsz valamit csinálni, de lehet, hogy az új Workbook-ot nem activáltad.

Az új workbook-ot a kód futása közben hozod létre, mert akkor a következő technikát ajánlom:

Dim UjWorkbook as workbook (itt csak definiálsz egy object-et amit később fogunk használni)
Set UjWorkbook = workbooks.add (innentől az új workbook-ra bármikor hivatkozhatsz, mint 'ujworkbook', igy sose keveredsz bele, hogy éppen melyik workbook-kal csinálsz dolgokat
... (kód többi része)
ujworkbook.saveas ... (innen az jön amit eddig is csináltál, csak a bizonytalan Activeworkbook helyett a tuti ujworkbook object-et hivatkozod a kódban).


Előzmény: wawabagus (12986)
SQLkerdes 2010.10.15 Creative Commons License 12989
Szerintem a Hely változóddal van gond, mert amikor a kódod kiolvassa, akkor "csupasz" a vége.
Igy nézhez ki, pld: C:\probaFolder
Ha ezt összefűzöd a filenévvel (valami.xls), akkor egy hibás filenevet generálsz, mert a filenév és az elérési út között kellene legyen egy \.

Szóval próbáld ki ezt:
Hely = ThisWorkbook.Path & "\"

Előzmény: wawabagus (12986)
SQLkerdes 2010.10.15 Creative Commons License 12988
Hát fejsze, hogy létezik!

Amit keresel az az INDIRECT függvény, ami egy szöveges referenciát excel referenciává alakít át.

Vagyis az =INDIRECT("A1") megfelel annak, mintha azt írtad volna be, hogy =A1. Az INDIRECT elfogad cella értéket is, ha a cella tartalma értelmezhető referenciaként (esetedben ez a helyzet), ilyenkor természetesen nem kell idézőjelek közé tenni az INDIRECT "bemenő" adatát.

Esetedben a =SUM(INDIRECT(B1):INDIRECT(B2)) a megoldás. (Magyar excelben ez =SZUM(INDIREKT(B1):INDIREKT(B2))
Előzmény: pickkick (12987)
pickkick 2010.10.15 Creative Commons License 12987
Sziasztok!

Felmerült még egy probléma. A részleteket nem írom le, hogy ne bonyolítsam a történetet, csak azt, hogy mit kellene, hogy csináljon a program. A könnyebb megértés kedvéért írok egy példát, cella azonosító -> cella tartalom elrendezésben.

A1 -> 1; A2 -> 2; A3 -> 3; A4 -> 4; A5 -> 5; A6 -> 6; A7 -> 7; A8 -> 8; B1 -> A1; B2 -> A8. Tehát az A1-től A8-ig terjedő oszlopokban számok vannak 1-8-ig. A B1 oszlopban az van szövegesen beleírva, hogy: A1, a B2 oszlopba pedig az van szövegesen beleírva, hogy A8.

A feladat az lenne, hogy Az A1-től A8-ig tartó cellákban a számokat összeadjam. Ez idáig még egyszerű, mert a SZUM(A1:A8)-al könnyen megoldható.
Csakhogy nekem úgy kellene összeadni, hogy az excel a B1 cellában található hivatkozást vegye alapul, valamint a B2 cellában találhatót. Tehát, azt akarom megoldani, hogy ha beírom, hogy SZUM(B1:B2), ugyan azt az értéket kapjam, mint a SZUM(A1:A8)-ra.

Itt csak arra kellene rájönni, hogy hogyan kell függvénybe megadni hivatkozást "kézzel". Próbálgattam ilyeneket, hogy SZUM([B1]:[B2]), hátha így az adott cella értékét helyettesíti be, de nem jött össze.

Létezik erre valamilyen megoldás?

Üdvözlettel:
Kiss László
wawabagus 2010.10.15 Creative Commons License 12986

Sziasztok!

Megint lenne egy problémám, amire tuti triviális a megoldás, de persze nem értem mi a baj.

 

Az "A" munkafüzetben definiálom ezeket:

 

Dim Hely, Nev, UjNev, Sor
Hely = ThisWorkbook.Path & ""
Nev = ThisWorkbook.Name
UjNev = Left(ThisWorkbook.Name, (Len(ThisWorkbook.Name) - 4))

 

Aztán az "A" munkafüzetből átmásolok egy új munkafüzetbe valamit, majd szeretném elmenteni ezt az új munkafüzetet így:

 

 ActiveWorkbook.SaveAs Filename:=Hely & UjNeve & ".csv" _
        , FileFormat:=xlCSV, CreateBackup:=False
    ActiveWorkbook.Save

 

Tehetséges, hogy ez azért nem megy, mert ő az új munkafüzetnél újraértelmezi a Hely, Nev, UjNev stb értékét?

 

Már megvan az egész makró és minden meg is csinál, csak ez a rész szerencsétlenkedik /pontosabban én.

 

MI baja van? Én csak erre tudok gondolni, hogy újradefiniálja ezeket a változókat.

Létezik ez?

Köszi a választ.

:-)

 

 

 

Törölt nick 2010.10.15 Creative Commons License 12985
Nem tudomhatom miért pont hangjelzés kell, de szerintem simán elég egy adatérvényesítés által generált üzenetablak:

Ha a windows úgy van beállítva, szerintem még hangot is ad az üzenetablak (msgbox) típusának megfelelően.

És makró sem kell.
Előzmény: repuleskepekben (12980)
pickkick 2010.10.15 Creative Commons License 12984
Ez az, köszönöm, megoldódott a probléma.

Így már azt csinálja, amit akarok.

Köszönöm.
SQLkerdes 2010.10.15 Creative Commons License 12983
Klikk ide

Mivel ez almás gépekre van írva, a billentyűkombinációkat ne használd, de a menü elérések (Tools/...) működnek.

Sajnos angolul van, remélem nem gond.
Előzmény: repuleskepekben (12980)
SQLkerdes 2010.10.15 Creative Commons License 12982
Próbáltam native függvényekkel megcsinálni, de nem hajlandó :-)

Én UDF-et használnék, itt találtam is egyet erre a célra:

klikk ide
Előzmény: pickkick (12981)
pickkick 2010.10.15 Creative Commons License 12981
Nem vagyok telhetetlen :)

Csak az a problémám, hogy nem mindig fixen 5 sort kell összefűzni, hanem változó, hogy épp mennyit. Egy HA és egy SOR függvénnyel meghatározom, hogy melyik az első cella ahonnét össze kell fűzni, és melyik az utolsó. Az első és az utolsó cella között kellene összefűzni az adatokat, ezt meg csak úgy lehet, ha ki tudok jelöltetni az excellel egy tartományt, hogy mettől meddig fűzze össze a cellákat.
Előzmény: wawabagus (12975)
repuleskepekben 2010.10.15 Creative Commons License 12980
Még nem csináltam makrót. kérhetnék egy kis segítséget? Mert nem tudom mi, és hol van az eseménykezelő, meg modullap...
Előzmény: Törölt nick (12973)
wawabagus 2010.10.15 Creative Commons License 12979

 

Szia!

 

Szuper,szuper. Köszi szépen!

Nem tudtam, hogy itt is lehet szinte tök ugyanúgy használni a függvényeket.

 

 

 

Előzmény: Delila_1 (12978)
Delila_1 2010.10.15 Creative Commons License 12978
ÚjNév=left(RégiNév(len(RégiNév)-4)

vagy
ÚjNév=left(RégiNév(len(RégiNév)-3) & "csv"

Szívesen az előző választ. :)
Előzmény: wawabagus (12976)
Törölt nick 2010.10.15 Creative Commons License 12977
De lehet csipogni is:
If Range("A1") = 1 Then Beep
Mondjuk régebben próbáltam, nálam vmiért nem szólt - talán nincs is bekötve a szpíker
Előzmény: Törölt nick (12973)
wawabagus 2010.10.15 Creative Commons License 12976

Sziasztok!

 

Hogyan tudom eltüntetni az alábbi parancs eredményéből a "xls" végződést?

 

Neve = ThisWorkbook.Name

 

Csv-ként szeretném elmenteni a fájlt amin futtatom a makrót, de úgy hogy megmarad az eredi neve és nem xls.

 

Függvénnyel Biztos valami Left/right/len-t használnék.

VBA-ban hogyan lehet ezt lenyisszantani a lerövidebb úton?

 

Köszi!

 

wawabagus 2010.10.15 Creative Commons License 12975

Hát ezt passzolom, nekem ezt nem sikerült lerövidíteni.

 

De, ha egyszer beírod, hogy ÖSSZEFŰZ(A1;A2;A3;A4;A5), akkor többször nem kell.

 

Ha máshol szeretnéd használni sem kell, mert elég kopiznod a függvényt.

 

Miért szeretnéd rövidebben?

 

/Telhetetlen vagy? :-DDDD...csak viccelek :-D!/

Előzmény: pickkick (12972)
wawabagus 2010.10.15 Creative Commons License 12974

:-)

Szívesen!

Előzmény: pickkick (12969)
Törölt nick 2010.10.15 Creative Commons License 12973
Makró pl.:

Pl.: Ha az a1 cella = 1, akkor 1x lejátsza a hangot.

Modullapra:
Declare Function sndPlaySound32 Lib "winmm.dll" Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Munkalap Eseménykezelőbe pl.:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 Then Call sndPlaySound32("c:arnie.wav", 0)
End Sub

az elérési út lehet akár egy internetes hivatkozás is. (bár lehet nem ebben a formában)
Előzmény: Törölt nick (12971)
pickkick 2010.10.15 Creative Commons License 12972
Sziasztok!

Hogyan lehet excelben úgy szöveget összefűzni, hogy ne egyesével kelljen megadni a cellákat, hanem ki tudjak jelölni egy tartományt, amit össze kell fűzni? Tehát ez helyett: ÖSSZEFŰZ(A1;A2;A3;A4;A5) ezt akarom: ÖSSZEFŰZ(A1:A5), de ezt így nem fogadja el az excel. Ez helyett van valami megoldás, ami ilyen módon összefűzi a cella tartalmakat?

Üdvözlettel:
Kiss László
Törölt nick 2010.10.15 Creative Commons License 12971
1. Használd a feltételes formázást az excelben. (sikíthatsz örömödben, ha a cella ennek hatására megváltozik)

2. Adatérvényesítés alkalmazása a cellára, így üzenetablakot (MsgBox) kapsz, ha eltér az igényeidtől a cella értéke. (megint sikíthatsz)

3. Makró, ami a cella megfelelő értékére üzenetablakot küld és a windowsos beállításnak megfelelően ezt hang kíséri

4. Makró, ami egy wav file-t lejtászik a gépedről

5. Fentiek kombinálása
Előzmény: repuleskepekben (12970)
repuleskepekben 2010.10.15 Creative Commons License 12970
Üdv mindenkinek!

Olyat szeretnék készíteni az excelben, hogy ha egy táblázatban egy cella értéke annyi, amit szeretnék, akkor valami hangot, vagy figyelmeztetést adjon nekem.

Több cella értéke folyamatosan változtatható, és egy cellában adja ki az eredményt.Nos ennek az egy cellának a figyelése, vagy figyelmeztetésének a megoldására lennék kíváncsi, hogy ha hanggal ezt meg lehetne oldani.
pickkick 2010.10.15 Creative Commons License 12969
Bocsánat, átgondoltam még egyszer és jó amit írtál, tényleg működik.

Köszönöm
Előzmény: wawabagus (12966)
pickkick 2010.10.15 Creative Commons License 12968
Szia!

Köszönöm, csak így nem jó, mert nem "statikusan" akarom beírni, hogy az A41;A42;A43-at fűzze össze, hanem azt akarom, ha pl. az A41 értéke IGAZ, akkor az A41;A42;A43-at fűzze össze. De ha az A105 értéke IGAZ, akkor az A105,A106,A107-et fűzze össze. Tehát nem konkrét cellaazonosítókat kell megadni, hanem azt, hogy fűzze össze azokat a cellákat, amik értéke IGAZ, az IGAZ alatt van egy sorral és az IGAZ alatt van két sorral. Tehát valahogy az excel tudtára kellene adni, hogy ha pl. Az A105-ös cella értéke igaz, akkor fűzze össze az A105;A105+1; A105+2 cellék tartalmát. A105+1 alatt A106-ot értem, A105+2 alatt pedig A107-et értem.

Ahogy Te írtad le úgy én is meg tudom csinálni, csak azzal az a baj, hogy csak az adott cellákra lesz jó, de én azt akarom, hogy ha az excel valahol IGAZ értéket talál, akkor az alatta lévő 2 cellát fűzze össze az IGAZ értéket adó cella tartalmával.
Előzmény: wawabagus (12966)
wawabagus 2010.10.15 Creative Commons License 12967
Nagyon köszönöm neked a segítséget!!!
Előzmény: SQLkerdes (12962)
wawabagus 2010.10.15 Creative Commons License 12966

Szia!

Szerintem ennek működnie kell, ha jól értem a problémád:

 

Ha(A1="Teljesítve";A1&A2&A3&A4;"")

 

A függvény indig relíve fogj amegnézni a Ha függvény igaz-e, thea, ha ezt a füügvényt lehúzod, akkor az A 41-es cell mellé már automatikus ezt fogja írni az excel:

 

Ha(A41="Teljesítve";A41&A42&A43&A44;"")

 

 

Előzmény: pickkick (12964)
wawabagus 2010.10.15 Creative Commons License 12965

Szia!

Ez pontosan az a lépés, ami hiányzott :-)!

Köszi szépen!!

És értem, amit mondotok, hogy hibát okoz, ha nem talál címet...de valahogy biztos ki lehet küszöbölni...

 

Nagyon köszön a segítséget!

 

Előzmény: Delila_1 (12963)
pickkick 2010.10.15 Creative Commons License 12964
Sziasztok!

Olyat szeretnék csinálni, hogy miután megkerestem az egyik cellában lévő értéket, így: HA("Teljesítve"=A1;IGAZ;""). Az IGAZ helyére egy összefűz képletet akarok beilleszteni, de úgy, hogy fűzze össze az A1,A2,A3,A4 cellák tartalmát. Ezt így próbáltam megoldani: ÖSSZEFŰZ(A1;A1+1;A1+2), csak, hogy ilyen argumentumot nem ismer az excel. Hogyan tudom megoldani ezt a problémát. Ha a következő alkalommal pl. az A41 cellában kap IGAZ értéket a HA függvény, akkor az A41,A42,A43-as cellákat kell összefűzni.

Hogyan lehet ezt megoldani? A megoldás az lenne, hogy ÖSSZEFŰZ(A1;A2;A3) csak ez így ebben az esetben nem jó, tehát ez helyett valahogy tudatni kell az excel-el, hogy az adott cella, és az az alatti cellákat akarom összefűzni.

Üdvözlettel:
Kiss László
Delila_1 2010.10.14 Creative Commons License 12963

Némi magyarázattal a makró:

 

    Dim sor As Integer
    Dim OszlopNév As String
   
    Sheets("Sheet1").Select
    sor = 1
   
    'Itt adod meg, hogy addig tartson a ciklus, míg a Sheet2
    'lap A oszlopában nem talál üres cellát
    Do While Sheets("Sheet2").Cells(sor, 1) <> ""
        'Az OszlopNév változóba betöltöd a cella értékét.
        'A .Value elhagyható, mert ez az alapértelmezés
        OszlopNév = Sheets("Sheet2").Cells(sor, 1).Value
       
        'Keresés és törlés, ahogy előbb írtad
        Cells.Find(What:=OszlopNév, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
        Columns(ActiveCell.Column).Delete
       
        'A "sor" változó növelése
        sor = sor + 1
    Loop

SQL-nek igaza van, hibát okozhat az elgépelés. Egy hibakezeléssel ki lehet lőni (a hibát, nem SQL-t).

Előzmény: wawabagus (12961)
SQLkerdes 2010.10.14 Creative Commons License 12962
Létrehozol egy String változót:

Dim OszlopNev as String

Utána a változó megkapja, pld a sheeet2-n az A1 cella értékét

OszlopNev = Range("A1").Value

Megkeresed a sheet1-es a fenti szöveget:

Cells.Find(what:=OszlopNev, after:=[A1], LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).Activate

Látható, hogy bárhol használhatsz változót, csak vigyázzni kell, hgoy a változó olyan fajta legyen, amire az adott környezetben szükség van. Itt pld. az OszlopNev String kell legyen.

Én lebeszélnélek a Find használatáról, mert mi van ha nem talál meg valamit (pld elgépelés a Sheet2-n)? Akkor még simán továbblép a következő makro sorra és próbál törölni, de valszeg rosszat fog törölni.

wawabagus 2010.10.14 Creative Commons License 12961

Örülök, hogy sikerült érthetően leírni a dologot :-D.

 

Egyedül szeretném megoldani /egy kis segtséggel :-d/ a makrót. Van egy kis időm és gondoltam elszórakozom vele. Igazából ez amit most kitaláltam csak egy szépítés már. Senki sem kért rá, csak magamat szórakoztatom :-)...

 

Ha jól értelmezem Delila_1 makrója az első sor első oszlopával kezd, de nekem ez pont mindig labilis, hoyg hol kezdődik...ezért is használtam ezt a FIND-os parancsot, ami mindig megtalálja bárhol is van a fejléc....

 

Azt valahogy én nis érzem, hoyg valami ciklusban kéne kiovasnom egy virtuális "memóriába" egymás után a törlendő neveket a listából...csak ez az amit nem tudom hoyg kell és hogyan kell behelyettesíteni a FIND után, nem konkrét oszlopcímként, hanem "virtuális változókén"...

 

Elég kezdő vagyok makróból...még sosem írtam ciklust....főleg olyat nem ami működöt :-DDDD...

 

De kísérletezgetek még egy kicsit...:-D

Köszi!!!

 

Előzmény: SQLkerdes (12960)
SQLkerdes 2010.10.14 Creative Commons License 12960
Na, ez már érthető!

Mi a terved? Szeretnéd ha valaki készen megírná neked a kódot, vagy segítség kell ott ahol elakadsz?

Én személy szerint a másodikat javasolnám, mert arra aminek magad kutatsz utána, tuti emlékezni fogsz. Nyilván az első mellett szól ha sürgős a dolog.

A második szellemében:
- csinálni kell egy loop-ot (lásd Delila kódját), ami a Sheet2 összes releváns celláján végigmegy, hogy egyenként kiolvassa a törölni kívánt oszlopok nevét.
- ezt a nevet eltároljuk egy String tipusú változóban
- ezen a loop-on belül írunk vagy egy másik loop-ot vagy egy For/Next ciklust, ami végigmegy a Sheet1 összes releváns celláján és kiértékeli (If) hogy a két név megegyezik-e.
- ha igen, törlés
- ha nem, akkor tövábblép a ciklusban.

Előzmény: wawabagus (12959)
wawabagus 2010.10.14 Creative Commons License 12959

:-) Szia Delila_1!!

Tetszik a megoldásod. Köszönöm szépenem.

Azért lenne praktikusabb nem kérdezgetni, mert nagyon sok oszlop van, majdnem 60...jobb lenne, ha magátol megcsinálná :-)....

De maga a törlés nem is gond már. Arra találtam tök jó kereső parancsot.

Jobb lenne, ha kiolvasná egy fix helyről és lehetne bővíteni/javítani a listát, hogy ne kelljen sokat gondolkodni a felhasználónak :-)...Ez egy fix template-ben lenne.

Köszi a segítséget!!

Y

Előzmény: Delila_1 (12956)
wawabagus 2010.10.14 Creative Commons License 12958

Szia!

Nem kv hiány okozza:-).

Igazad van. Tök érthetetlen, amit írtam. Akkor megpróbálom kicsit érthetőbben :-D:

 

Sheet1 - egy adatbázis, aminek 3 oszlopát törölni kell, de változó melyik sorban kezdődnek a fejlécek és hogy milyen sorrendben.

 

Sheet2 - Lenne egy felsorolás egymás alatt azokkal az oszlopnevekkel, amiket törölni kell. Ha esetleg felmerül új oszlop név, amit törölni kell akkor elég ide beírni és a makro már azt is felhasználja. /A lényeg, ha változik az oszlopnév, akkor idegen ne turkáljon a makrómban...tehát hogy rugalmas is legyen a makró a felhasználó számára, mert nem csak én fogom használni/

 

Amit eddig sikerült megcsinálnom:

Makro, ami megkeresi a konkrét oszlopcímet és törli az oszlopot.

 

Sub DeleteColumns()
Cells.Find(what:="Time To Resolve (Discontd 3/08)", after:=[A1], LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).Activate
Columns(ActiveCell.Column).delete
End Sub

 

Amit nem tudok hogy csináljak:

Hogyan oldjam meg, hogy a makróba ne közvetlenül kelljen beírni az olszlopnevet, hanem pl a sheet2-n lennének felsorolva /akár bővíthető listában/. Tehát a makro addig törölgetne adott oszlopokat a Sheet2-n megjelenő listában, míg talál ott nevet. Tehát maga a név helyett, egy változó lenne a makróban. Addig helyettesítgetné be a nevet egy ciklusban pl, míg talál törlendő oszlopnevet.

 

Remélem sikerül érthetőbben megfogalmaznom a dolgot :-D!!

Köszi a tippeket!!

Y

 

 

Előzmény: SQLkerdes (12951)
boraka 2010.10.14 Creative Commons License 12957

Az adott munkalap eseménykezelőjét kellene használnod pl. így:

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox "Dupla klikk"
  Cancel = True
End Sub

Előzmény: O. Kán (12933)
Delila_1 2010.10.14 Creative Commons License 12956

Ha a kérdés az, amit a #948-ban írtam, a

 

Sub ColumsDelete()
    Dim oszlop As Integer
    Dim v As Variant
    Dim sz As String
   
    oszlop = 1
    Do While Cells(1, oszlop) <> ""
        sz = "Törli a(z) " & Cells(1, oszlop) & " című oszlopot?"
        v = MsgBox(sz, vbYesNo)
        If v = vbYes Then
            Columns(oszlop).Delete
            oszlop = oszlop - 1
        End If
        oszlop = oszlop + 1
    Loop
End Sub

segédlap nélkül megoldja.

Előzmény: wawabagus (12949)
Törölt nick 2010.10.13 Creative Commons License 12955
Egyébként Jogos.
Előzmény: tagore72 (12954)
tagore72 2010.10.13 Creative Commons License 12954
Sziasztok!

Én viszont szeretem kontrollálni, hogy mit is frissítek,
no meg vannak olyan esetek (elég gyakran), hogy nem
kell a fájlban lévő összes kimutatást egyszerre frissíteni,
hanem csak azok egy csoportját.

Nem kötekszem ám, csak én így látom.

Józsi
Előzmény: Törölt nick (12944)
tagore72 2010.10.13 Creative Commons License 12953
Sziasztok!

Szerintem elbeszélünk egymás mellett, mert ez működik.

A c terméket átírtam 3-ról és 30-ra és frissítettem a kim1
kimutatást és frissült a kim2 is.

A 2 db kép a kim2 kimutatás beállítása a kimutatás-varázsló segítségével.



Józsi
Előzmény: SQLkerdes (12943)
Delila_1 2010.10.13 Creative Commons License 12952
Azt akarod megoldani, hogy a makró dobjon fel egy üzenetet, amiben egymás után felsorolja az oszlopok neveit, és a felhasználó mindegyiknél választhasson, hogy törli-e, vagy nem?
Törli az x nevű oszlopot, IGEN, NEM formában?
Előzmény: wawabagus (12949)
SQLkerdes 2010.10.13 Creative Commons License 12951
Lehet elmúlt a reggeli kávé hatása, de én nem vélem érteni a megoldandó problémát.

De ez a name range már lapon lenne.
Ezt itt nem értem biztos, hogy jól használod a name range kifejezést? Egy name range nem tud más lapon lenni, mert a name range nem más, mint egy excel tábla olyan része, aminek a könnyebb hivakozás miatt nevet adtunk.

Tegyük fel a Sheet1-en az A1 cellában van az első oszlopnév...ha nem üres, akkor helyettesítse be.

Mit helyettesítsen be? És hova? Hisz azt írod előtte, hogy nem üres (gondolom itt az A1 cellára gondoltál).
Előzmény: wawabagus (12949)
SQLkerdes 2010.10.13 Creative Commons License 12950
Nem vagyok számfetisiszta (jobban mint az excel fórumok átlagos látogatói), de enyém a 12000-ik hozzászólás :-)
Előzmény: SQLkerdes (12943)
wawabagus 2010.10.13 Creative Commons License 12949

Huh...:-)

Köszi.

Igazából lenne még egy kérdésem.

Leírom a szitut. Van egy adatbázis, ami nem mindig az első sorban kezdődik és 3 vagy több oszlopot ki kell belőle törölni.

 

Azt már szuperul megcsináltam, hogy kitörölje a nem kellő oszlopot.

 

Sub DeleteColumns()
Cells.Find(what:="Time To Resolve (Discontd 3/08)", after:=[A1], LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).Activate
Columns(ActiveCell.Column).delete
End Sub

 

Viszont arra gondoltam, hogy jobb lenn, ha a felhasználó által látható felületen lenne a name range stb,ha esetleg változik az oszlop neve, vagy új jön hozzás.

De ez a name range már lapon lenne.

 

Azt kéne megoldanom, hogy amíg talál kitörölendő oszlopnevet addig helyettesítgesse be a fento macróba az oszlopnevet.

 

Jelenleg ezen gondolkozom ezt hogyan tudnám megoldani.

Tegyük fel a Sheet1-en az A1 cellában van az első oszlopnév...ha nem üres, akkor helyettesítse be. Aztán, ha lejebb megy és ott sem üres a cella, akkor azt is helyettesítse be...

 

Sub rangeteszt()
Sheets("Sheet2").Activate
range("torol").Select
If ActiveCell.Offset(-1, 0) <> "" Then
    a = ActiveCell.Offset(-1, 0).Value
    Sheets("Sheet1").Activate
    Cells.Find(what:="a", after:=[A1], LookIn:=xlFormulas, lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False).Activate
Columns(ActiveCell.Column).delete
End Sub

 

Itt tartok, de persze ez nem nagyon működik meg még nincs is kész...de valami ilyen vonalon kén indulnom :-)...

Van valami javaslatotok?

:-)

Köszi!

 

Előzmény: Törölt nick (12947)
rabko 2010.10.13 Creative Commons License 12948
Köszi a segítséget
Előzmény: E.Istvan (12935)
Törölt nick 2010.10.13 Creative Commons License 12947
Lehet h érdekes, de a Range-nak van egy Address metódusa is:

MsgBox Range("A1:A3").Address
Az Address paraméterezhető is:

by helpl:
Set mc = Worksheets("Sheet1").Cells(1, 1)
MsgBox mc.Address() ' $A$1
MsgBox mc.Address(RowAbsolute:=False) ' $A1
MsgBox mc.Address(ReferenceStyle:=xlR1C1) ' R1C1
MsgBox mc.Address(ReferenceStyle:=xlR1C1, _
RowAbsolute:=False, _
ColumnAbsolute:=False, _
RelativeTo:=Worksheets(1).Cells(3, 3)) ' R[-2]C[-2]
Előzmény: wawabagus (12936)
Törölt nick 2010.10.13 Creative Commons License 12946
Egy segédtábla kell hozzáa tól-ig dátumokkal. Ebből keres egy fkeres, aminek az utolsó argumentuma = 1 (IGAZ)
(A segédtábla nem is annyira fontos, meg lehet oldani anélkül is)
Ez az fkeres kell egy külön oszlopba és végighúzni a dátumok mellé.
Erre rá egy pivottábla és azt már úgy húzod össze magadnak ahogy akarod.
Előzmény: Törölt nick (12945)
Törölt nick 2010.10.13 Creative Commons License 12945
Tök egyszerűen lehet. Leírjam?
Előzmény: deny79 (12918)
Törölt nick 2010.10.13 Creative Commons License 12944
Ahogy SQL mondja.
Egyébként meg használd az "Összes Frissítése" funkciót :)
(2007-ben az "Adatok" menüpont alatt van.)
Makróban Application.RefreshAll - vagy valami ilyesmi.
Előzmény: tagore72 (12941)
SQLkerdes 2010.10.13 Creative Commons License 12943
Szerintem a frissüléstől független a kimutatás forrása.
Más szóval, hiába ugyanaz a forrás, ha az egyiket frissíted, a másik nem fog frissülni magától.
Előzmény: tagore72 (12941)
wawabagus 2010.10.13 Creative Commons License 12942

Szia!

Istenem

Megőrülök mindig, hogy mindig olyan egyszerűnek tűnik a megoldás, én meg nem tudok rájönnni .-D...

Ezer köszönet!!!

:-)

Előzmény: SQLkerdes (12940)
tagore72 2010.10.13 Creative Commons License 12941
Szia!

Egy fájlban vannak külön füleken a kimutatások és azt szerettem volna elérni, hogy ha az egyik fülön frissítek, a többin is frissüljön.

Józsi
Előzmény: Törölt nick (12932)
SQLkerdes 2010.10.13 Creative Commons License 12940
A Columns(4).Delete kitörli a D oszlopot.

Szóval a te esetedben: Columns(oszlop).delete a megoldás.

Javaslat: ne használd a Select-et, mert csak feleslegesen belassítja a kódodat, VBA-ban ritkán van szükség a Select utasításra, főleg akkor látni ha valaki makró rekorder-ből csinál kódot, mert ott a rekorder felvesz mindent akár kell akár nem.
Előzmény: wawabagus (12938)
SQLkerdes 2010.10.13 Creative Commons License 12939
Hát, Delila a Change tipusú kódok guruja, de nekem nem világos a kérdés.

Normál makróban használod ezt a parancsot? Mert szerintem egy adott munkalap kódlapján kellene.

Másold be ide a teljes kódot, hogy láthassuk mit akarsz csinálni.
Előzmény: O. Kán (12933)
wawabagus 2010.10.13 Creative Commons License 12938

Most arra nem tudok rájönni, hogy ha egyszer kiszámoltam melyik oszlopot kell törölnöm, akkor nevet adva neki hoygan tudom kitörölni...

 

oszlop = ActiveCell.Column

 

innentől ez az az oszlopszám, amit törölni szeretnék.

 

Normálisan ez így nézne ki:

 

Columns("BC:BC").Select
Selection.delete

 

Hogyan tudom behelyettesíteni az "oszlop" változót a fenti sorokba?

Remélem értitek mire gondolok.

Köszi szépen!!

Y

wawabagus 2010.10.13 Creative Commons License 12937

Már tudom :-)

 

MsgBox oszlop & "," & sor

 

 

Előzmény: wawabagus (12936)
wawabagus 2010.10.13 Creative Commons License 12936

Sziasztok!

hogyan tudok 2 db nameranget berakni Msgbox-ba?

 

sor = ActiveCell.Row
oszlop = ActiveCell.Column

 

msgbox sor

 

Ez így működik, de mellé szeretném tenni az oszlopo is, az már valamiért nem akar menni.

 

Mit csinálok rosszul?

 

Köszi a tippet!

y

E.Istvan 2010.10.13 Creative Commons License 12935
Ha egyéni formátumnak három db pontosvesszőt ;;; adsz meg akkor rejti a tartalmat.
Előzmény: rabko (12920)
tt65 2010.10.13 Creative Commons License 12934
Szerintem az lenne egy elegáns megoldás, hogy a két összehasonlítandótátadod a word alkalmazásba, az elvégzi , és az eredményt a kívánt módon az excelben megjeleníted.
Előzmény: tb79 (12888)
O. Kán 2010.10.13 Creative Commons License 12933

Sziasztok!

 

Egy egyszerű doubleclick-kel gyűlt meg a bajom...

 

Az "Applicaton.DoubleClick" parancsor nekem nem akar működni.

 

Azt írja a help, hogy ez egy "equivalent to double-clicking the active cell" parancs, de ha kiadom makróban, akkor semmit nem csinál (legfőképpen nem azt, ami akkor következik be, amikor a munkafüzetlapon csinálok egy doubleclick-et egy adott cellában).

 

Mi lehet a porbléma, tudtok valami ötletet adni?

Törölt nick 2010.10.13 Creative Commons License 12932
de hogy raksz több kimutatást egybe?? illetve ahogy írtad "összekapcsolni" őket. Ilyet szerintem nem lehet adattábla relációk nélkül felépíteni.
Előzmény: tagore72 (12931)
tagore72 2010.10.13 Creative Commons License 12931
Szia! Szuper, köszi, a kimutatás-varázsló ikon tényleg jó, kár hogy ezt is úgy eldugták, mint annyi minden mást. Le is vettem a kimutatás beszúrása ikont (pláne, h ugyanaz az ikonja). Szerintem nagyon hasznos a kimutatások összekapcsolása, mert én pl. gyakran dolgozom olyan fájlokkal, ahol sok kimutatás van, csak más elrendezésekkel, szűrésekkel, ilyenkor fontos, h egyszerre frissüljenek + a fájl mérete is sokkal kisebb így. Köszönöm a tippet. Józsi
Előzmény: Törölt nick (12929)
Sztai 2010.10.13 Creative Commons License 12930

Lehet.

1. tábla  pl.   kor       ffi       nő

                    0-20   -29%  27%

                  21-40   -30%  29%

                  41-60   -26%  26%

                  61-80   -12%  14%

                  81+      -3%      4%

2. készíts egy sáv/bar diagramot

3. A függőleges kategóriatengelyt formázd meg:

-fő és kis lépték nincs/major and minor tick mark None,

-felirat/axis labels kicsi?/Low (nem tudom a magyar verzióban mi a megnevezés). Ezután a feliratok a grafikon bal szélére kerülnek.

4. A vízszintes, értéktengelyen formázd meg a számokat, hogy ne mutassák a minusz jelet (egyéni számformátum 0%;0%)

5. Valamelyik adatsort jelöld ki pl. ffi és formázd meg:

-átfedés/overlapped 100%

-térköz?/gap width  tetszés szerinti értékre állítsd

6. jelmagyarázatot eltávolíthatod és helyette szövegdobozokba írod a kívánt helyre, hogy ffi és nő

Remélem segítettem

Üdv

 

 

Előzmény: deny79 (12918)
Törölt nick 2010.10.12 Creative Commons License 12929
Ja, jut eszembe - dehogynincs!
Fel kell rakni a gyorselérési eszköztárra a 2003-ban megszokott kimutatásvarázslót.
Ott megvan minden.
Előzmény: tagore72 (12927)
Törölt nick 2010.10.12 Creative Commons License 12928
Lövésem nincs, de nekem olybá tűnik, hogy a 2007-esben ez nincs benne ilyen közvetlen módon. Esetleg ha az új kimutatástábla tartományáűnak megadod a másikat.

Én amúgy a 2003-masban sem nagyon használtam ezt - csak próbáltam - de nem igazán láttam benne rációt.
Előzmény: tagore72 (12927)
tagore72 2010.10.12 Creative Commons License 12927
Szia!

Igen, erre gondoltam:
"Egy kimutatás tábla állhat egy másik kimutatástáblából, ha erre gondolsz."

Pontosan:
- Excel 2003-ban a kimutatáson jobb egérgomb
- Kimutatás varázsló menüpont
- Vissza, Vissza
- A kimutatás forrása: Másik kimutatás vagy kimutatásdiagram

Vagy új kimutatás készítésekor
- A kimutatás forrása: Másik kimutatás vagy kimutatásdiagram

Szóval ezt a lehetőséget keresem Excel 2007-ben.

Köszi
Előzmény: Törölt nick (12926)
Törölt nick 2010.10.12 Creative Commons License 12926
nem egyértelmú hogy mire gondolsz.
Ezt hol kellett 2003-ban beállítani? Mert szerintem sehol.

Egy kimutatás tábla állhat egy másik kimutatástáblából, ha erre gondolsz.
Előzmény: tagore72 (12925)
tagore72 2010.10.12 Creative Commons License 12925
Sziasztok! Bocs, hogy még egyszer utoljára rákérdezek: Van néhány kérdésem az Excel 2007-tel kapcsolatban. Ha egy fájlban több kimutatás is van, hogy lehet beállítani, hogy a kimutatások összefüggjenek? Excel 2003-ban ez simán ment, de itt nem találom ezen a csodás, szép új felületen. Jól látom, hogy nem lehet egyéni ikont beállítani a beépített műveletekhez, makrókhoz? Hacsak nem sikerül a felajánlott ikongyűjteményhez (valamely fájlba) hozzáadni új ikonokat. Köszönöm. Joe
Előzmény: tagore72 (12905)
Delila_1 2010.10.12 Creative Commons License 12924
Az nem volt a kérdés része, de íme:

=(A1<B1)*A1+(A1>B1)*B1+(A1=B1)*A1
Előzmény: SQLkerdes (12923)
SQLkerdes 2010.10.12 Creative Commons License 12923
Én is pont ezt gondoltam ki! Kimaradt az az eset amikor egyenlő a két szám.
Előzmény: Delila_1 (12922)
Delila_1 2010.10.12 Creative Commons License 12922
A második kérdésedre, a C1 képlete:

=(A1<B1)*A1+(A1>B1)*B1
Előzmény: rabko (12920)
Delila_1 2010.10.12 Creative Commons License 12921
Az első kérdésre: az egyéni formátum legyen [Fehér], ill. a cella hátterének a színe.
Ha a cellaformátum 'Védelem' fülén bejelölöd a 'Rejtett' négyzetet, a lapvédelem bekapcsolásakor a szerkesztőlécen sem látszik a cella tartalma.
Előzmény: rabko (12920)
rabko 2010.10.12 Creative Commons License 12920
Sziasztok,

két dolog érdekelne, egyéni számformátummal elértem, hogy a cellában ne látszódjon a benne levő érték (számnál működik), szövegnél viszont nem, hogy tudom megoldani a szövegnél egyéni számformátummal, hogy ne látszódjon?

a másik pedig: adott két véletlen szám A1-ben és B1-ben, C1-be kéne megkapni mindig a kisebbet DE! függvény nélkül, csak zárójelet és műveleti jeleket használva
SQLkerdes 2010.10.11 Creative Commons License 12919
Nem natív dolog, de megoldható:

Peltier excel blog
Előzmény: deny79 (12918)
deny79 2010.10.10 Creative Commons License 12918
Sziasztok!

Olyan problémával fordulnék hozzátok, hogy excelben (2007-es) lehet-e, és hogyan korfát készíteni?
joe.bacsi 2010.10.09 Creative Commons License 12917
Adobe Acrobat Pro tudja (feltéve, hogy tényleg táblázat, és nem mondjuk egy szkennelt jpg pdfbe csomagolva), viszont sajnos az nem ingyenes.
Abban kijelölve a táblázatot: jobb egérgomb ->Copy Table
Előzmény: rosencrantzhu (12914)
rosencrantzhu 2010.10.09 Creative Commons License 12916
köszi!
Előzmény: SQLkerdes (12915)
SQLkerdes 2010.10.08 Creative Commons License 12915
http://www.brothersoft.com/downloads/convert-pdf-to-xls.html

Sose használtam, szóval csekkold le előszor, hogy nem valami kémcucc.
Előzmény: rosencrantzhu (12914)
rosencrantzhu 2010.10.08 Creative Commons License 12914
Sziasztok,

bocs ha már volt, de a kereső épp nem működik a fórumon:

ismertek olyan ingyenes (nem shareware) programot, ami pdf táblázatból excelt készít? mást nem is kellene neki tudni, csak ennyit.

előre is ksözi.
sheldon 2010.10.07 Creative Commons License 12913

Kipróbáltuk.

Működik.

Köszönjük.

Joe bácsinak is.

Előzmény: Jimmy the Hand (12910)
kelan 2010.10.07 Creative Commons License 12912
Azta! Ennél nem is lehet egyszerűbb. :)
Előzmény: Jimmy the Hand (12910)
sheldon 2010.10.07 Creative Commons License 12911

Így mindjárt érthető lett. :)

Köszönöm, kipróbálom.

Előzmény: Jimmy the Hand (12910)
Jimmy the Hand 2010.10.07 Creative Commons License 12910
Ne pp:mm formátumra állítsd, ne is dátum/időre, hanem egyénire, és a formátumkód mezőbe írd be azt, amit Joe bácsi javasolt.
Előzmény: sheldon (12908)
kelan 2010.10.07 Creative Commons License 12909
Talán ez segít, de a végeredménnyel nem fogsz tudni tovább számolni, a számításokat az A oszlopba írt forrásadattat kell végezned. Remélem látszani fog a beszúrt kép.

time
Előzmény: sheldon (12908)
sheldon 2010.10.07 Creative Commons License 12908

Aha.

Hát nem jó.

Ha például az van a cellában, hogy 5:25:44 és átállítom a cellát pp:mm formátumra, akkor nemes egyszerűséggel az excel lecsapja az elejéről az "5"-öt, és marad annyi, hogy 25:44. Persze a szerkesztőlécen továbbra is ott van, hogy 5:25:44, de ez lássuk be nam z a kimenet, amit én szeretnék.

Nekem annyi kellene, hogy a fenti érték számolódjon át percre, és a cellában ÉS a szerkesztőlécen is annyi látszódjék, hogy 325:44.

Van pár 100 ilyen cella, és utána még lenne vele dolog elég, tehát a kézzel számolós nem igazán megoldás.

Előzmény: Törölt nick (12906)
Törölt nick 2010.10.06 Creative Commons License 12907
hát az "értékszűrőt" elvileg csak értékekre, de van ott egy "LabelFilter" is - ami szintén inaktív nem tudom miért így látatlanban.
Előzmény: mafikám (12904)
Törölt nick 2010.10.06 Creative Commons License 12906
a szöveg egyéni formázására gondol.
(A cellaformázásnál kell beállítani, azon belül is az "egyéni"-t kiválasztva - vagy egyszerűen az időformátumot kell beállítanod a szükségesre ugyanitt
Előzmény: sheldon (12903)
tagore72 2010.10.06 Creative Commons License 12905
Sziasztok!

Van néhány kérdésem az Excel 2007-tel kapcsolatban.

Ha egy fájlban több kimutatás is van, hogy lehet
beállítani, hogy a kimutatások összefüggjenek?
Excel 2003-ban ez simán ment, de itt nem találom
ezen a csodás, szép új felületen.

Jól látom, hogy nem lehet egyéni ikont beállítani
a beépített műveletekhez, makrókhoz?
Hacsak nem sikerül a felajánlott ikongyűjteményhez (valamely fájlba)
hozzáadni új ikonokat.

Köszönöm.

Joe
mafikám 2010.10.06 Creative Commons License 12904

Köszi szépen a választ, ezt eddig nem is figyeltem!:) Ha jól látom, akkor pivot táblánál csak az értékekre lehet ezzel a módszerrel rászűrni, egyébként pedig ki kell keresni a listából azt / azokat a tételeket, amelyekre rá szeretnék szűrni, igaz?

 

Esetleg a másikra, hogy a cat-ot hogyan rendezzem emelkedő sorrendbe van valami ötleted?

 

Köszi!

Előzmény: Törölt nick (12902)
sheldon 2010.10.06 Creative Commons License 12903
Ezt most értenem kellene?
Előzmény: joe.bacsi (12900)
Törölt nick 2010.10.06 Creative Commons License 12902
mert az értékek szűrésére való és ott szöveg van.
Előzmény: mafikám (12901)
mafikám 2010.10.06 Creative Commons License 12901

Még egy kérdés: mi lehet az oka, hogy ennél a pivot táblánál miért nem engedi az "egyenlő" szűrést?

 

 

joe.bacsi 2010.10.06 Creative Commons License 12900
[p]:m
Előzmény: sheldon (12898)
mafikám 2010.10.06 Creative Commons License 12899

Sziasztok!

 

Hogyan lehet a pivot táblában beállítani azt, hogy a kategóriákat emelkedő sorrendbe mutassa, ne össze-vissza?

 

Cat         181-365 365+ 61-90 91-180 Grand Total

 

 

A képen láthatóak a szűrések:

 

 

Köszi a segítséget!

sheldon 2010.10.06 Creative Commons License 12898

Üdv!

 

A B kellene kimenetnek.

 

Előzmény: Jimmy the Hand (12897)
Jimmy the Hand 2010.10.06 Creative Commons License 12897
Ha például az érték 2ó 10p 25mp, mi legyen a kimenet?
A) 10p 25mp
B) 130p 25mp
C) egyéb?
Előzmény: sheldon (12896)
sheldon 2010.10.06 Creative Commons License 12896

Sziasztok!

 

Újabb problémám van.

Adott egy cella, amiben idő van, óra:perc:másodperc formában.

Ezt kellene nekem perc:másodperc formára átalakítani. Próbáltuk több módon is felszorozni 60-nal, meg ilyesmik, de nem megy.

 

Hogyan kellene csinálnunk?

Köszönöm!

kelan 2010.10.06 Creative Commons License 12895
Működik a kód, de nekem csak akkor, ha a fájlok a meghajtó gyökérkönyvtárába vannak elhelyezve. :)))) Köszi!!!
Előzmény: Jimmy the Hand (12878)
Rusvai Zsolti 2010.10.06 Creative Commons License 12894
Ja és még valami eszembe jutott! Értelemszerűen egy lapot egy körben csak egyszer lehessen hozzáadni, illetve ha vége a körnek egy "törlés" gombot is szeretnék, aminek megnyomásával újra üressé válnak a azok a mezők, ahová a lapokat hozzáadtam.
Rusvai Zsolti 2010.10.05 Creative Commons License 12893

Sziasztok!

A következő lenne a kérdésem: készítettem egy táblázatot az excelben, amelyben a magyar kártya lapja vannak felsorolva 4 oszlopba szedve szín szerint, emelkedő sorrendben (VII-től ászig) A magyar kártyából jól ismert piktogrammokat szúrtam be minden cellába és mellé, ugyanabba a cellába írtam a lap számát, így minden egyes lapot egy kis kép és egy mellé írt szám azonosít. Azonban az egyszerűség kedvéért egy szomszédos rejett oszlopban a szín kezdőbetűjének illetve a kártya számának kombinációjával is megjelöltem a lapot, tehát pl a makk-9 es az M9.  Minden kártyalap mellé szeretnék egy parancsgombot tenni, melynek megnyomásával az adott kártyalapot egy általam megadott cellába felhozná fel a program. Összesen 10 illetve 12 ilyen külön cella lenne, mivel az ultiban 10 ill 12 lapot kap kézhez a játékos. A legjobb az lenne, ha a piktogramm-számos jelölést hozná fel, de ha a kezdőbetű-szám kombinációt annak is nagyon örülnék, ha meg mindkettőt az egyenesen fantasztikus lenne. Szeretek kártyázni, és szeretnék egy mini kalkulátort készíteni a játékhoz....

Köszi a segítséget!

Delila_1 2010.10.05 Creative Commons License 12892

Ez a makró a cellán duplaklikk hatására a cella értékének egész számú többszöröseit tartalmazó cellákban pirosra és áthúzottra formázza a karaktereket.

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim érték As Integer
    Dim ter As Range
    Dim CV As Object
    Set ter = Range("A1:J10")
   
    If Target.Row < 11 And Target.Column < 11 Then
        érték = Target.Value
        For Each CV In ter
            If CV Mod érték = 0 Then
                CV.Font.Strikethrough = True
                CV.Font.ColorIndex = 3
            End If
        Next
    End If
End Sub

Előzmény: syrius (12889)
syrius 2010.10.04 Creative Commons License 12891

Köszi, ezt még emésztem azután ha elcsaptam vele a p(r)ocim majd jelentkezem.

Előzmény: Jimmy the Hand (12890)
Jimmy the Hand 2010.10.04 Creative Commons License 12890
Erre a munkalap eseményei, illetve az ezek kezelésére írt kódok valók.
Sima cellára kattintás nem minősül munkalapeseménynek. A SelectionChange esemény közel van hozzá, de nem ugyanaz. Ezért a dupla kattintást javaslom:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Address
Case "$B$1"
'ide jön a kód, amivel a kettő többszöröseit megbütykölöd
Case "$C$1"
'ide jön a kód, amivel a három többszöröseit megbütykölöd
End Select
Cancel = True
End Sub

Nyilván, a Case kifejezések sorát lehet bővíteni.
Vagy lehet univerzális bütykölést lekódolni, ami a duplakattintást fogadó cella értéke alapján módosítja egyéb cellák formátumát.

Elég ennyi segítség a továbblépéshez?
Előzmény: syrius (12889)
syrius 2010.10.03 Creative Commons License 12889

Atyaég miket tudol, akkor nekem is tudsz valami használható ötletet adni?

Az Eratosztenész-i szitát szeretném szemléltetni, addig még megy, hogy egy 10x10-es mezőbe beírja a számokat 1-től 100 ig.

Most valami olyan jönne, hogy rákattintok a 2-re (B1-es cella) és erre valami csinálnia kéne a 2 többszöröseivel (pl.karakterformázás, esetleg eltüntetés. Fogalmam sincs, hogy hogy lehet ilyesmit csinálni, tehát egy cellára kattintva annak tatalmától függően más cellák tartalmát megváltoztassa. Link is jó, ha van erre valami irodalom.

Előzmény: Jimmy the Hand (12878)
tb79 2010.10.02 Creative Commons License 12888
Jöhet a megoldás :))))
Előzmény: SQLkerdes (12887)
SQLkerdes 2010.10.02 Creative Commons License 12887
Szerintem függvény-alapon nincs megoldás, de makróval megoldható.
Előzmény: tb79 (12886)
tb79 2010.10.02 Creative Commons License 12886
Sziasztok!

Többnyire utánajárok a különböző függvényeknek, és igyekszem magam megalkotni őket, de most nagy fába vágtam a fejszémet, és nem találom a megoldást.

Arról van szó, hogy van két cella tetszőleges szövegget. Kicsit konkretizáljuk: az A1-ben van mondjuk az a mondat, hogy:

"Két kuka áll az utcán."

A B1-ben pedig:

"Két fekete kuka és egy autó áll a téren."

Szeretném ezt a kettőt úgy összehasonlítani, hogy a C1 cellában az A1 és a B1 közötti különbség látszik. Azaz egy az egyben kellene a Word-ből a dokumentumok összhasonlítása funkció.

A fentiek alapján a C1-ben az lenne, hogy:
- fekete
- és egy autó
- z utcán (<- ez áthúzva, vagy jelölve, hogy az eredeti szövegből kiesett)
- a téren

Lényeg tehát: látsszon mindenféle változtatás az eredeti és az új szöveg között.

Nézegettem a SZÖVEG, HASONLÍT stb. függvényeket, de alapból egyik sem ilyen okos, illetve egyszerű esetben használhatóak lennének könnyen (ha mondjuk tudjuk, hogy mindig csak a szöveg eleje változik), de a fenti, viszonylag egyszerű példában is több helyen változik a szöveg (bejönnek új szavak, ill. van, ami kiesik).

Ötlet? Előre is köszi!!
Jimmy the Hand 2010.10.01 Creative Commons License 12885
Oké, nem válaszolom meg :)
Előzmény: SQLkerdes (12883)
Jimmy the Hand 2010.10.01 Creative Commons License 12884
Ha Excel 2007, akkor bizonyára egyetlen darab .xls kiterjesztésű munkafüzeted sincs. Talán így menni fog:

FN = Dir(Folder & "*.xlsx", vbNormal)

vagy esetleg

FN = Dir(Folder & "*.xls*", vbNormal)
Előzmény: kelan (12879)
SQLkerdes 2010.10.01 Creative Commons License 12883
Ez ma egy ilyen nap, meg se válaszold, ott volt az orrom előtt a While...
Előzmény: SQLkerdes (12882)
SQLkerdes 2010.10.01 Creative Commons License 12882
Jimmy, az utolsó előtti sorban az, hogy Wend az mi?
Elgépelés vagy valami olyan parancs amivel még nem találkoztam?
Előzmény: Jimmy the Hand (12878)
SQLkerdes 2010.10.01 Creative Commons License 12881
Nem, nem az a tettes, elnéztem az object-et, bocsika...
Előzmény: SQLkerdes (12880)
SQLkerdes 2010.10.01 Creative Commons License 12880
Szerintem ez itt a tettes:

WBSrc.Close SaveChanges:=False
Előzmény: Jimmy the Hand (12878)
kelan 2010.10.01 Creative Commons License 12879
Addig működik, hogy megadom a mappát (a fájlok már nem látszanak), de utána csak egy üres új munkafüzetet hoz létre. Excel 2007.
Előzmény: Jimmy the Hand (12878)
Jimmy the Hand 2010.10.01 Creative Commons License 12878
Sub Összevon()
Dim WS As Worksheet, WBSrc As Workbook, WBDest As Workbook
Dim FN As String, Folder As String

With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Melyik mappában vannak a munkafüzetek?"
.AllowMultiSelect = False
.Show
Folder = .SelectedItems(1) & ""
End With

Set WBDest = Workbooks.Add
FN = Dir(Folder & "*.xls", vbNormal)
While Not FN = ""
Set WBSrc = Workbooks.Open(Folder & FN)
Set WS = WBSrc.Worksheets(1)
WS.Name = Left(Replace(LCase(WBSrc.Name), ".xls", ""), 30)
WS.Copy WBDest.Worksheets(1)
WBSrc.Close SaveChanges:=False
FN = Dir()
Wend
End Sub

Arról neked kell gondoskodnod, hogy ne legyen közöttük két egyforma nevű fájl (pl. "valami.xls" és "valami.xlsx"), és tényleg mindegyik munkafüzetben csak 1 munkalap legyen.
Előzmény: kelan (12877)
kelan 2010.10.01 Creative Commons License 12877
Sziasztok! Van több mint 100 db Excel fájlom, mindegyik egy munkalapból áll. Hogyan tudnék ebből a legegyszerűbben egy Excel fájlt létrehozni, hogy mondjuk a munkalapok nevei a különböző fájlok nevei legyenek?
SQLkerdes 2010.10.01 Creative Commons License 12876
Itt a megoldás, ha egy blokkban vette ki a szabadságát:
Szabi első napja:
=MAX(--(B2:B31="sz")*(A2:A31))

Szabi utolsó napja:
=MIN(IF(B2:B31="sz",1,1000000)*(A2:A31))

FONTOS:
- mindkét képletet Ctrl+Shift+Enterrel kell lezárni, NEM Enterrel! Ha jól csináltad akkor {} közé kerül a képlet
- formázd a cellákat dátum formátumúnak, egyébként csak egy számot látsz
- A ledolgozott órák a B2:B31 tartományban vannak
- a napok az A2:A31 tartományban.

Még agyalok a több blokkos szabi dolgon...
Előzmény: SQLkerdes (12871)
boraka 2010.09.30 Creative Commons License 12875
Szuper! Nagyon köszönöm! :-)
Előzmény: Jimmy the Hand (12873)
SQLkerdes 2010.09.30 Creative Commons License 12874

Szíp megoldás! A .saved property írható is nem csak olvasható.
Egyszer én is rácsodálkoztam a dologra.
Előzmény: Jimmy the Hand (12873)
Jimmy the Hand 2010.09.30 Creative Commons License 12873
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.saved = True
End Sub
Előzmény: boraka (12872)
boraka 2010.09.30 Creative Commons License 12872

Sziasztok!

 

Sehogy sem jövök rá, hogyan lehet kikapcsolni (makróból) azt, ha kilépek egy munkafüzetből ne kérdezzem rá, hogy szeretném-e menti, hanem mentés nélkül zárja be, lépjen ki.
A lényeg, hogy meg szeretném oldani azt, hogy diagramokat tartalmazó munkafüzet megnyitásakor teljes képernyőre kapcsoljon kilépéskor pedig álljon vissza az eredetire.
Az alábbi megoldással próbálkozom, de amikor be akarom zárni a munkafüzetet, állandóan menteni akar… Tudna valaki segíteni?

 

Private Sub Workbook_Activate()
 
    'Teljes képernyő bekapcsolása
    Application.DisplayFullScreen = True
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False

End Sub


Private Sub Workbook_Deactivate()
   
    'Teljes képernyő kikapcsolás
    Application.DisplayFullScreen = False
    ActiveWindow.DisplayHeadings = True
    Application.DisplayFormulaBar = True

End Sub

SQLkerdes 2010.09.30 Creative Commons License 12871
Van ötletem, de gondolkozni kell rajta.
A probléma az az, amikor több szabadságolási időszak is van egy hónapban, az bonyi...
Előzmény: RSTgila (12868)
wawabagus 2010.09.30 Creative Commons License 12870

Szia!

Lényegében kicsit csaltam. Azt tudom, hogy az adatbázisom első cellája mindig az A oszlopban van és mindig az a szöveg, hogy pl "123".

Ebből végülis ki tudom kalkulálni így:

 

=ADDRESS(MATCH(123,A:A,0),MATCH("cat",INDIRECT(MATCH(123,A:A,0)&":"&MATCH (123,A:A,0)),0))

 

Ha a cat-et keresem akkor kiadja hogy  c3.

 

/Hozzáteszem, hogy értehetőbb legyen...a szó, amit keresek a fejlécben lesz, csak ennek poziciója nem biztos, hogy az leső sorban lesz...

 

De tudom azért nem perfect a megoldás :-)

 

A       B     C

yello dog 75

123  blue cat

654894 fat  dog

Előzmény: SQLkerdes (12865)
bejgleee 2010.09.29 Creative Commons License 12869
Szóval! Hm!!!!
Nagyon szégyellem magam, mert ez nagyon triviális volt! :-)
Nem láttam a fától az erdőt! Annyira excel-esen akartam megoldani :-)
Persze, hogy 17,8 :-))))
Köszi Sztai és SQLkerdes!!!
Előzmény: Sztai (12867)
RSTgila 2010.09.29 Creative Commons License 12868

Sziasztok!

 

A következő porblémámra keresnék megoldást segítségetekkel. "A" oszlopban a napok vannak felsorolva dátum szerint. "B" oszlopban számok (ledolgozott óraszámok) és esetenként "Sz"(szabadság jelölés).

 

Azt szeretném elérni, hogy képlet keresse meg a szabadság kezdő dátumát (ez még megy is hol.van függvénnyel) és tudjam megkeresni a végző dátumát. Illetve ha az adott hónapban van még több kivett szabadság akkor azt is tudja megkeresni. Természetese negy új sorba megjelenítve.

Képlettel megoldható a dolog?

Makrózni nem tudok csak fotógéppel :-)

 

Köszi a segítséget.

Sztai 2010.09.29 Creative Commons License 12867

Ha a képlet nem változik, és mindíg az amit leírtál, akkor SQLkerdes válasza (11942) a jó.

Üdv

Előzmény: bejgleee (12858)
Sztai 2010.09.29 Creative Commons License 12866

Az alábbi makró lefut amíg van adat:

 

Sub GS()
'
' GS Macro
'
' Keyboard Shortcut: Ctrl+Shift+G
'
    Do Until IsEmpty(ActiveCell)
    ActiveCell.GoalSeek Goal:=ActiveCell.Offset(0, 1), ChangingCell:=ActiveCell.Offset(0, -1)
    ActiveCell.Offset(1, 0).Select
    Loop
End Sub

 

(tehát itt az actív cella a képletet tartalmazó SetCell, balra van a változó, jobbra pedig a célérték. Ha az oszlopok sorrendje más, úgy írd át az Offset argumentumát)

 

Remélem ez megfelel

Üdv

Előzmény: bejgleee (12857)
SQLkerdes 2010.09.29 Creative Commons License 12865
Akkor osszad meg a tömeggel izibe, hogy mi a te kombinációd!
Előzmény: wawabagus (12863)
SQLkerdes 2010.09.29 Creative Commons License 12864
Vagyis a célértéket (amit képlettel számolsz ki, te tudod hogyan) (1+12+12*0,4= )17,8-al osztod és máris megvan az A kívánt értéke.
Előzmény: bejgleee (12853)
wawabagus 2010.09.29 Creative Commons License 12863

Köszi,

Kipróbálom a tiedet is, de már közben sikerült valamit kikombinálni :-).

Előzmény: SQLkerdes (12860)
SQLkerdes 2010.09.29 Creative Commons License 12862
Ha jól látom, akkor ez egy egyismeretlenes elsőfokú egyenlet.

Nagyon formabontó megoldás lenne az, ha a C oszlopba szánt célérték adatot valamilyen képlettel kiszámolod (hisz te is utaltál rá, hogy képlettel meg tudnád határozni, csak azt nem eszi meg a célértékkereső), majd az A oszlop értékét számolnád ki szintén képlettel (a jelenleg a B oszlopban lévő képleted A-ra rendezésével)?
Előzmény: bejgleee (12858)
SQLkerdes 2010.09.29 Creative Commons License 12861
Vagy mindkét adatsor mellé odatesz egy oszlopot, ahova annyit rögzít, hogy "Alapadat" v. "másodlagos adat". Ebből aztán lehet pivottáblát csinálni v. rögtön PivotChart-ot.
Előzmény: Sztai (12854)
SQLkerdes 2010.09.29 Creative Commons License 12860
Az ilyen tipusú problémák egyik lehetséges megoldása:
=ADDRESS(SUMPRODUCT(ROW(A1:E5)*--(A1:E5="jakab pista")),SUMPRODUCT(COLUMN(A1:E5)*--(A1:E5="jakab pista")),4)

(itt az A1:E5 tartományt vizsgálja meg a függvény)

A te esetedben problémát jelenthet ha túl nagy a vizsgálandó tartomány.

Esetleg egy Find-ot alkalmazó UDF lehet még jó megoldás...
Előzmény: wawabagus (12849)
Sztai 2010.09.29 Creative Commons License 12859

Én is makróznám:

Sub GS()
'
' GS Macro
'
' Keyboard Shortcut: Ctrl+Shift+G
'
    ActiveCell.GoalSeek Goal:=ActiveCell.Offset(0, 1), ChangingCell:=ActiveCell.Offset(0, -1)
End Sub

 

Az aktív cella legyen a képlet (set cell), Jobbra van a célérték (To Value), balra pedig a Changing Cell

van shortcut (Ctrl+Shift+G), ill kirakhatsz egy makróhoz társított ikont az eszköztárra

Jelenleg ennyit tudnék javasolni

 

Előzmény: bejgleee (12857)
bejgleee 2010.09.29 Creative Commons License 12858
a képlet nem változna, csak a célérték.
Előzmény: Sztai (12856)
bejgleee 2010.09.29 Creative Commons License 12857
Megnéztem makró rögzítésével, és kicsit módosítottam:

Range("B1").GoalSeek Goal:=Range("C1"), ChangingCell:=Range("A1")
Range("B2").GoalSeek Goal:=Range("C2"), ChangingCell:=Range("A2")
...
Ez jó lenne, mert a Goal paraméternek hivatkozást adtam, és megette.
Viszont jó lenne makró nélkül vhogy, mert nem én fogom kezelni.
nem lehetne vmi függvénybe beépíteni?
mint pl az FKERES(), vagy vmi hasonló megoldás?
Ekkor a felhasználónak ne kellene a makró futtatásával bajlódnia.

Előzmény: Sztai (12848)
Sztai 2010.09.29 Creative Commons License 12856
Soronként változna a képlet és a célérték is?
Előzmény: bejgleee (12853)
bejgleee 2010.09.29 Creative Commons License 12855
és az a legnagyobb problémám, hogy a célértéknek nem lehet cellahivatkozást megadni, mert akkor a C1-be beírnám a kívánt értéket, és kiszámolná.
De az Eszközök->Célértékkeresés menüben csak Célcella és a Módosuló cella lehet hivatkozás, a célérték nem.
Na, most ez több száz sornál nagyon lassú, hogy minden soron külön-külön kelljen beállítani a célértéket.
Remélem érthető voltam a problémámmal! :-)
Előzmény: Sztai (12848)
Sztai 2010.09.29 Creative Commons License 12854
Ha egyszer már kikerested a z értékeket FKERES-sel, és azok utána nem változnak, a függvényt eltávolíthatod.
Előzmény: kelan (12851)
bejgleee 2010.09.29 Creative Commons License 12853
Ilyesmi pontosan:
Az A1 cella a változó, a B1 cella a képlet: =A1+ (A1*12) + (A1*12*0,4)
és a célérték a 20 milla, de ez soronként változna.
Előzmény: Sztai (12848)
bejgleee 2010.09.29 Creative Commons License 12852
Sztai!

Arról lenne szó, hogy van egy csomó sort tartalmazó táblám.
Ilyesmi tartalommal:

x + x*12 + x*12*40% = 20 000 000

És az x-et keresem, úgy, hogy a 20 milla a végén minden esetben változó szám. Ezt hogyan tudom megcsinálni anélkül, hogy egyesével kéne minden soron végigmennem?
Előzmény: Sztai (12848)
kelan 2010.09.29 Creative Commons License 12851
Köszönöm a válaszodat. Pontosan ezt akarom elkerülni, hogy üres értékeket tartalmazó napokat kelljen rögzítenem...
Előzmény: Sztai (12847)
kelan 2010.09.29 Creative Commons License 12850
Sajnos nem jött össze, amit írtál. Félmegoldást közben sikerült alkotnom, ami annyi csupán, hogy FKERES függvénnyel az alapadatok mellé írattam a megfelelő dátumhoz tartozó értékeket, s innen már csak hozzá kellett adnom az új adatsort a diagramhoz.

Egy dátumhoz több adatot így hozzárendelni utólag egy több ezer dátumot tartalmazó adathoz viszont nagyon sok FKERES függvénnyel lehet csak, ami belassítja sajnos a gépet, ezért is keresek alternatív megoldást. :)
Előzmény: SQLkerdes (12845)
wawabagus 2010.09.29 Creative Commons License 12849

Sziasztok!

Tudtok olyan függvényről, ami megadja a pozicióját egy keresett értéknek, de egy nagyobb területen belül?

 

pl. mondanám, hogy adja meg hol találja meg a "Jakab Pista" nevet BÁRHOL a munkalapon? A MATCH és FIND csak egy szélességű soron illetve oszlopont tud ilyet csinálni. Én pl tudom, hogy "Jakab Pista" BÁRHOL előfordulhat, de csak egyszer...

Hogy tudnám ezt kikombinálni szerintetek?

Nem találtam eddig ilyen függvényt...azt szeretném, hogy a "koordinátáit" adja meg :-).

Remélem értitek mire gondolok.

 

Köszi a tippeket előre is!

Y

Sztai 2010.09.29 Creative Commons License 12848
Konkrétan miről van szó?
Előzmény: bejgleee (12846)
Sztai 2010.09.29 Creative Commons License 12847

2. probléma:dátumok és 2 értéksor, vonal ill. pont diagram

A problémád, úgy gondolom abból adódik, hogy két különböző táblában tárolod az adatokat.

a. ha csak egy táblád van, nincs is probléma :-)

dátum          É1   É2

2010.01.01  12
2010.01.02  10    11
2010.01.03  8
2010.01.04  10
2010.01.05  11     10
2010.01.06  9
2010.01.07  7        5

 

a1, elkészíted a grafikont (beállsz a táblába és +nyomod az F11-et)

a2, módosítod a diag tipusát vonalra

a3, kijelölöd a második adatsort és beállítod, hogy ne legyen vonal, csak a markerek


b. ha 2 táblában tárolod az adataid, akkor használhatod SQLkerdes javaslatát, de a dátumok ugyan olyanok legyenek mint az első táblában (ne hagyj ki napokat)

 

Tábla 1

 

dátum          É1

2010.01.01  12
2010.01.02  10 
2010.01.03  8
2010.01.04  10
2010.01.05  11 
2010.01.06  9
2010.01.07  7

 

Tábla 2

 

dátum          É2

2010.01.01 
2010.01.02  11 
2010.01.03 
2010.01.04 
2010.01.05   10
2010.01.06 

2010.01.07  5

 

Üdv


 

Előzmény: kelan (12841)
bejgleee 2010.09.29 Creative Commons License 12846
Sziasztok!
A célérték keresés funkciót lehet másolni?
Bejglee
SQLkerdes 2010.09.29 Creative Commons License 12845
Lehet a fórummotor tud valamit, mert a megoldási javaslatom nem műxik...
Előzmény: SQLkerdes (12843)
SQLkerdes 2010.09.29 Creative Commons License 12844
Fórummotor mongyon le!
Elnyelte a megoldási javaslatomat, de úgy hogy nem rég még mutatta...
Ki érti ezt, ki érti ez, én nem (c) KFT
Előzmény: kelan (12841)
SQLkerdes 2010.09.29 Creative Commons License 12843
2. probléma

a.) Csináld meg az alap diagramodat
b.) jelöld ki a második adatsort dátumostúl, értékestűl
c.) Copy
d.) Kattints rá az alapdiagramodra
e.) Paste Special
f.) Vedd fel az adatokat mint új adatsor (new series)
g.) Alakítsd át ennek az adatsornak a diagram stílusát ízlés szerint.
h.) Jelezz itt vissza, hogy sikerült-e.

Megjegyzés a g.)-hez:
- az lehet egy megoldás, ha vonalas diagramot csinálsz, merkerokkal és a vonal színét No color-ra állítod, mer akkor eltűnik a vonal ami a markerokat összeköti és csak a markerok maradnak "lebegve" a diagramon.
Előzmény: kelan (12841)
SQLkerdes 2010.09.29 Creative Commons License 12842
Beágyazott excel formula készítő

Hasznos lehet amikor az ember már az ujjain számolja, hogy hány zárójelet nyitott meg és mennyit zárt le :-)

Személy szerint még nem próbáltam ki, de fogom mert az összetettebb beágyazott függvényeknél sorozatosan rontom el a zárójelezést (illetve ha elsőre elrontom akkor utána már nagyon nehezen találom meg, hogy hol a hiba).
kelan 2010.09.29 Creative Commons License 12841
Sziasztok! Segítségeteket kérném, hátha ti tudjátok megoldást:

1. =VÉL() függvénnyel generált véletlen számot tartalmazó cellát szereték másodpercenként frissíteni, de nem manuálisan, hanem automatikusan. Ez megoldható valahogy?

2. Van egy vonaldiagramom, az adatforrás dátumokhoz tartozó értékek, valahogy így:

2010.01.01 12
2010.01.02 10
2010.01.03 8
2010.01.04 10
2010.01.05 11
2010.01.06 9
2010.01.07 7
stb...

Erre a diagramra szeretném pontokként megjeleníttettni a dátumokhoz tartozó következő adatokat, pl.

2010.01.02 11
2010.01.05 10
2010.01.07 5

Az a problémám, hogy ezek az értékek nem a számomra megfelelő dátumnál fognak szerepelni, hanem a 2010.01.01, 2010.01.02, 2010.01.03 dátumoknál. A másodlagos vízszintes tengely alkalmazása sem oldja meg a problémát. Hogyan tudnám megoldani, hogy az értékek, valamint az újonnan felvett értékek a megfelelő dátumnál jelenjenek meg?

Köszönöm előre is a válaszaitokat! :)






tt65 2010.09.28 Creative Commons License 12840
tényleg ügyes!
Előzmény: Sztai (12837)
SQLkerdes 2010.09.27 Creative Commons License 12839
Az igazi zseni onnan ismerszik meg, hogy zseniálisan egyszerű megoldásokat talál...
:-)
Előzmény: redsw (12838)
redsw 2010.09.27 Creative Commons License 12838
ügyes.:-(
Előzmény: SQLkerdes (12833)
Sztai 2010.09.27 Creative Commons License 12837

Ha excel 2007-es verziód van, akkor a +oldás ez:

1. dupla katt egy adatra a piv.táblán belül-->új munkalap, táblaként formázva.

2. álj a táblába és a tábla tervezés stílusoknál új táblastílus létrehozása párbeszéd abl-ban az előképben egy formázatlan táblát látsz. Állíts be, hogy ez legyen az alapértelmezett (bal alsó sarok jelölő négyzet)

Ennyi

Üdv

Előzmény: O. Kán (12834)
tt65 2010.09.26 Creative Commons License 12836
Jé, én eddig nem is tudtam, hogy ilyen van!
Előzmény: O. Kán (12834)
Törölt nick 2010.09.26 Creative Commons License 12835
szritem sehogy
Előzmény: O. Kán (12834)
O. Kán 2010.09.26 Creative Commons License 12834

Sziasztok!

 

Egy formázási kérdés. A pivot táblánál egy cellára való rákattintással megjelenik egy új lapon a cella részletes tartalma. Hol és hogy lehet beállítani azt, hogy ez az új lap ne legyen automatikusan formázva, a rákattintás után (tehán ne utólag legyen kiszedve az automatikus formázás). A táblajellemzőknél, ha kiveszem az automatikus formázást, sajnos akkor is beformázza az új lapot.

 

Előre is köszönöm.

SQLkerdes 2010.09.25 Creative Commons License 12833
Meg köll változtatni a nevét.
Előzmény: redsw (12832)
redsw 2010.09.25 Creative Commons License 12832
Nem, a gond az, ha a fájl nevében magyar ékezetes betűk vannak, akkor nem magyar oprendszer alatt a fájl nem nyitható meg és nem is törölhető.:-(
Előzmény: SQLkerdes (12824)
Sztai 2010.09.23 Creative Commons License 12831

1. A hiperhivatkozás +változtatja a formátumot (színt, méretet, aláhúzást). Először hozd létre a hiperhivatkozást, és utána formázd + kisebb betűkre.

2. Ha jól értem az a cél, hogy egy nagy táblázatban (mondjuk 10 000 termék ill. sor, de csak mondjuk 20 féle termék csoport) minél gyorsabban elérd a kívánt termék csoportot.

a. az autoszűrő akkor használható hatékonyan, ha van egy külön termékcsoport meződ (oszlopod). A fenti példánál maradva, a 20 termékcsoport jelenik meg a szűrőben, amiből könnyű kiválasztani a keresettet.

 

Csoport     megnevezés       ár

TV              szines 19'            x

TV              plazma 25'           y

CD             CD-R                     z

CD             Sony CD-RW         q

 

b. Ha a termékcsoportnak nincs külön mező fentartva, tehát a csoportot a megnevezésből lehet kideríteni, akkor az irányított szűrő segíthet.

 

megnevezés       ár

TV szines 19'       x

plazma TV 25'      y

CD-R                    z

Sony CD-RW        q

 

A táblázat fölé készíts egy kritérium tartományt (mezőnév, alatta a kritérium)

 

megnevezés

*TV*

 

A kritérium legyen egy legördülő lista (adatérvényesítés lista) így könnyű módosítani a kritériumot (*CD*)

Belekattintasz az adattábládba és elindítod az irányított szűrést (a paramétereket csak egyszer kell beállítanod, hiszen azok később nem változnak) és ok a párbeszéd ablakra.

Tanács: szűrés után, ill. új szűrés előtt távolítsd el a szűrőt (mindent mutat(szűrők törlése 2007-ben), mert különben sok adat esetén kicsit lassú lesz.

 

PS: Ha pontosabban tudnám mit is kell csinálnod igazán, lehet, hogy jobb megoldást is tudnék ajánlani.

Előzmény: NeomatiK (12828)
Delila_1 2010.09.23 Creative Commons License 12830
Az adatok csoportosítása is jól jöhet a gyorsabb eléréshez, feltéve, hogy nincs túl sok különböző terméked.





Az egyes csoportokat egyenként is kibonthatod, bezárhatod, együttesen a piros körrel jelölt szinteket állíthatod be.
A csoportok fejlécébe különféle képleteket vihetsz be, itt SZUM, ÁTLAG, MIN és DARAB függvényeket tettem a B:E tartományba.
Előzmény: NeomatiK (12825)
NeomatiK 2010.09.23 Creative Commons License 12829
Na nem baszakodok tovább a rengetek fajta termékkel, inkább a szűrőt alkalmazom.
NeomatiK 2010.09.23 Creative Commons License 12828
Viszont amit nem értek....

Beszrtam egy oszlopot előre, itt lesznek a linkek. Alapból Calibri 11-es betűméret van. Átjavítottam 9-re, majd egy jó hosszú szakaszon cellabeállításban is megadtam, hogy 9-es legyen.

Ennek ellenére ahogy írom be a linkeket, mindig 11-es lesz. GRRR. Mi a büdös francért nem veszi figyelembe, hogy beállítottam azokra a cellákra a betűméretet?

NeomatiK 2010.09.23 Creative Commons License 12827
Azt hiszem rájöttem. Hiperhivatkozással működik a dolog :)
NeomatiK 2010.09.23 Creative Commons License 12826
A kérdőjelet kihagytam a kérdésnél :)
Előzmény: NeomatiK (12825)
NeomatiK 2010.09.23 Creative Commons License 12825
Sziasztok!

Abban kérek segítséget, hogy egy táblázatban termékek vannak felsorolva. Az első x sorban A fajta termék, a következő y sorban B fajta termék, az ezt követő z sorban C fajta termék stb.... Egy sorban csak egy konkrét termék van annak minden jellemzőjével, ami az oszlopokban van.

Elég sok sor van.

Meg lehet azt csinálni, hogy beszúrnék egy (vagy több) sort a táblázat tetejére, és oda beírnám, hogy milyen fajta termékek vannak. És ez kattintható link lenne, ami a táblázat megfelelő részéhez ugrana, azaz a kívánt fajta termék első sorához. Ha makró nélküli megoldás van erre az lenne a jó.

Így áttekinthetőbb lenne a táblázat, nem kell végig bogarászni fentről lefelé, hogy hol is kezdődnek a "műszálas zoknik" :)

Köszi előre is.

SQLkerdes 2010.09.20 Creative Commons License 12824
Csak az első problémához tudok hozzászólni, ahhoz sem közvetlenül...

Szerintem a magyar excel, angol win párosítás nem kellene, hogy hibát okozzon, én magyar win, angol excel párosításban dolgozom, sose volt problémám.

Viszont lehet, hogy ez a párosítás a területi beállításokon keresztül (annak mellékhatásaként) okozhat problémát. Próbálj a Control Panelen belül játszani ezzel hátha segít.

A file amit próbálsz betölteni sima excel vagy valami speckó (pld csv - comma separated value). Mert ha csv akkor tuti ez a gond.
Előzmény: redsw (12823)
redsw 2010.09.20 Creative Commons License 12823
Technikai segítséget kérnék két ékezetes hiba megoldásához.
Az egyik esetben a tanár által kiküldött feladatokat nem tudjuk megnyitni, azóta kiderült, hogy azért, mert magyar excelt angol win alatt használjuk, ahol magyar win van, ott gond nélkül megy a megnyitás.

A másik az Openoffice.org calc-ja általi konvertálási gondoknál jelentkezik, elvileg minden excel fájlt szépen kezel, viszont, ha otthon a calcban nyitom meg és módosítok a táblán, hiába mentem el excelként, az excel nem mindig nyitja meg, vagy bizonyos cellába írt kepleteknél hibát jelez.

Ezek miatt elég lutri a használat.:-(
boraka 2010.09.17 Creative Commons License 12822

Nálunk is ez a helyzet, a kollégáknál írásvédettek ezek a mappák :-(

 

Az általad készített kódot átírtam kicsit egy Timer nélküli változatra:

 

Option Explicit

Public T As Date

 

Public Function AktiválásiIdő() As Date
  AktiválásiIdő = DateValue(Format(Date + 1, "yyyy.mm.dd")) + TimeValue("04:00:00")
End Function

 

Private Sub btnExit_Click()
  T = Now
  Unload UserForm1
End Sub

 

Private Sub btnStart_Click()
  T = AktiválásiIdő
  If Now > T Then T = T + 1
 
  Do While Now <= T
    With Me
      .TextBox2 = Format(Now, "hh:mm:ss")
      .TextBox3 = Format(T - Now, "hh:mm:ss")
      .Repaint
    End With
    DoEvents
    Application.Wait (Now() + TimeValue("00:00:01"))
  Loop
 

  Unload UserForm1
  ' Éjszakai futtatás indítása
 
End Sub

 

Private Sub btnStop_Click()
  T = Now
End Sub

 

Private Sub UserForm_Activate()
  Me.TextBox1 = Format(AktiválásiIdő, "yyyy.mm.dd -> hh:mm:ss")
End Sub

 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  If CloseMode = 0 Then Cancel = True
End Sub

 

 

Előzmény: Jimmy the Hand (12821)
Jimmy the Hand 2010.09.17 Creative Commons License 12821
Pedig úgy tűnik, hogy működik az, amit mondtál. Ha bemásolom a C:\Windows\System32 mappába, akkor nem kell regisztrálni, és mégis elérhető.
Úgy tapasztalom, hogy ugyanez igaz a C:\Program Files\Microsoft Office\OFFICE11 mappára is.

Persze ott, ahol az említett mappák írásvédettek az egyszerű halandók számára, ott ez sem segít... mint például nálunk :((
Előzmény: boraka (12820)
boraka 2010.09.16 Creative Commons License 12820

Sajnos, nem tudom használni a Timert, mert a regiszrációhoz megfelelő jogosultság szükséges, és az nincs a kollégáknak.

A gépeiken próbáltam a megosztott mappában lévő .ocx-et felvenni a referenciák közé, de így sem tudtam futtatni a Timer-t tartalmazó makrót.

 

Érdekes, hogy először én sem regisztráltam és miután bemásoltam a .ocx-et a C:\WINDOWS\system32 könyvtárba, majd beállítottam referenciák között, utána egyből megjelent a Additional controls listában is.

Előzmény: Jimmy the Hand (12805)
bejgleee 2010.09.16 Creative Commons License 12819
Köszi Sztaj, és Jimmy!!!
Előzmény: Sztai (12818)
Sztai 2010.09.16 Creative Commons License 12818
Köszönöm és üdv Neked is :-)
Előzmény: Jimmy the Hand (12814)
Sztai 2010.09.16 Creative Commons License 12817

Mielőtt alkalmazod a fv-t valahol készíts egy listát az angol hónap nevekkel és ezt a tartományt add meg a MATCH függvényben (az én példámban &L&1:&L&12-ként szerepel):

Remélem segítettem

Üdv

Előzmény: bejgleee (12811)
Jimmy the Hand 2010.09.16 Creative Commons License 12816
Ec-pec-kimehecc...
Sztai 2010.09.16 Creative Commons License 12815

Az első csoportra próbáld ki ezt:

=DATE(RIGHT(A1;4);MATCH(MID(A1;FIND(" ";A1)+1;LEN(A1)-5-FIND(" ";A1));$L$1:$L$12;0);LEFT(A1;FIND(" ";A1)-3))

 

a magyar megfelelők: DATE/DÁTUM, RIGHT/JOBB, MATCH/HOL.VAN, MID/KÖZÉP, FIND/SZÖVEG.TALÁL, LEN/HOSSZ.

Üdv

Előzmény: Sztai (12813)
Jimmy the Hand 2010.09.16 Creative Commons License 12814
Üdv a fedélzeten ;-)
Előzmény: Sztai (12813)
Sztai 2010.09.16 Creative Commons License 12813

szia,

A második csoportra használd a data>text to column opciót (adatok>szövegből oszlopot) és a 3. lépésben add meg, hogy ez dátum és a formája nap-hó-év

Az első csoport bonyolultabb de arra is írok megoldást

üdv

Előzmény: bejgleee (12811)
Jimmy the Hand 2010.09.16 Creative Commons License 12812
Először is, ellenőrizd, hogy tényleg dátumértékek vannak-e a cellákban.
Ehhez egy üres oszlopba írd azt a képletet, hogy
=A1+1

feltéve, hogy az A oszlopban vannak a dátumok.

Amennyiben az #ÉRTÉK hibaüzenetet kapod, akkor a dátumaid valójában sztringek (szöveges karaktersorozatok), és ezeket nem tudod egyszerűen formázással átkonvertálni.
Előzmény: bejgleee (12811)
bejgleee 2010.09.16 Creative Commons License 12811
Sziasztok!
Dátumokat tartalmazó oszlopokat (amelyek ráadásul különböző formátumúak) szeretnék azonos formátumra konvertálni. Sajna a szokott módon a cellaformázással nem megy :-(
Példa:
A1
1st June 2007
1st July 2009
1st June 2010
1st June 2008

B1
31.12.2010
31.08.2010
31.12.2010
31.01.2010

Ezekből szeretnék azonos, mondjuk magyar formátumot elővarázsolni.
Van javaslatotok?

Üdv,
Bejglee
Törölt nick 2010.09.15 Creative Commons License 12810
A fene pakolna ennyi CommandButtont, tuti h valami mással helyettesíteném...
Előzmény: Törölt nick (12808)
Törölt nick 2010.09.15 Creative Commons License 12809
1. Tools/VbaProject Properties

2. Pl:

Dim Button As Object
For Each Button In ActiveSheet.DrawingObjects
Button.Enabled = False
Next
Előzmény: Törölt nick (12808)
Törölt nick 2010.09.15 Creative Commons License 12808
Két hülye kérdés, biztos tök egyszerű a válasz rájuk:

1. Hogyan lehet levédeni a makróimat, azaz hogy ha valaki megnyomja az altF11-et, ne lásson semmit?

2. Az egyik táblában van 28 commandbutton. Ha bizonyos feltételek nem teljesülnek, szeretném, ha mind enabled=false lenne, ha viszont ismét teljesülnek, akkor mindegyik enabled=true. Kérdés, hogy lehet-e esetleg egy for-next ciklussal mind a 28-at változtatni, vagy muszáj egyesével mindegyiket bepötyögni? 28-nál még nem nagy ügy, de tervezünk egy új táblát, ahol kb 187 commandbutton lenne.
Jimmy the Hand 2010.09.15 Creative Commons License 12807
Shell "explorer.exe /select, " & FileName, vbNormalFocus

Forrás:
http://support.microsoft.com/kb/314853

Előzmény: SQLkerdes (12806)
SQLkerdes 2010.09.15 Creative Commons License 12806
Köszönöm!
Csak morbid kiváncsiságból kérdem, hogy azt meg lehet csinálni, hogy amikor a folder felugrik, akkor a létrehozott file legyen a kiválasztot (aktív?) file?
Előzmény: Jimmy the Hand (12804)
Jimmy the Hand 2010.09.15 Creative Commons License 12805
Nem tudom.
A referenciák közé fel lehet venni az ocx-et akkor is, ha nincs regisztrálva, References ablakon lévő Browse gomb segítségével. Így tehát elég lenne csak a munkafüzet mellé a megosztott mappába betenni az ocx fájlt, és a referenciákban felvenni azzal az útvonallal.

Itt viszont van egy bökkenő. Ugyebár ahhoz, hogy a control-t rá tudjam tenni a userform-ra, előbb a Toolbox-ba fel kellene venni. Csakhogy ha nincs regisztrálva, nem jelenik meg az Additional controls listában, és ezért nem tudom kiválasztani. Erre még nem találtam megoldást, pedig már többször találkoztam a problémával, és ilyenkor mindig kutakodok egy kicsit...
Előzmény: boraka (12803)
Jimmy the Hand 2010.09.15 Creative Commons License 12804
Dim FileName As String
FileName = "D:"
Shell "explorer.exe " & FileName, vbNormalFocus
Előzmény: SQLkerdes (12801)
boraka 2010.09.15 Creative Commons License 12803
Még azt szeretném megkérdezni, ha több különböző gépről is el szeretnénk indítani a napi feldolgozást (hálózaton van az excel fájl amibe beépíteném az időzítőt), akkor előzőleg minden gépen regisztrálni kellene a Timer controlt? Ez azért probléma, mert nincs mindenkinek erre megfelelő jogosultsága és jó lenne, ha nem csak én, hanem kollégák is el tudnák indítani a napi adatfeldolgozást...
Előzmény: Jimmy the Hand (12798)
boraka 2010.09.15 Creative Commons License 12802
:-) Jó kérdés. Gondoltam, valami azért jelezze, hogy elindult a visszaszámlálás, lehet indulni haza. Sőt, az időzítőt lehet majd máshol is kisebb késleltetésekre is használni, ahol nem árt, ha látjuk meddig várakozik még... Szóval, ilyenekért gondoltam :-) 
Előzmény: SQLkerdes (12800)
SQLkerdes 2010.09.15 Creative Commons License 12801
Ha már makrózunk...

Meg tudná mondani valaki, hogy a FileName változóban elmentett elérési utvonalú foldert hogy tudnám megnyitni Excel makróból?

A probléma az, hogy grafikonokat exportálok fix helyre (C:...Documents) és szeretném ha mentés után felpattanna a folder, hogy rögtön tudjak dolgozni az exportált grafikonnal.

Előre is köszi!
SQLkerdes 2010.09.15 Creative Commons License 12800
Nos, az ilyen megoldásokért érdemes ide járni!

Csak kérdezem, hogy minek a visszaszámlálás a képernyőre, ha azt írod, hogy hazainduláskor indítod el a makrót, hogy mire reggel beérsz addigra már lefussanak a feladatok?

A takarítónőre akarod a frászt hozni, hogy hívja ki a tűzszerészeket?
boraka 2010.09.15 Creative Commons License 12799
Szenzációs vagy! Nagyon szépen köszönöm! :-))
Előzmény: Jimmy the Hand (12798)
Jimmy the Hand 2010.09.15 Creative Commons License 12798
Találtam jobb megoldást :)
Kell hozzá ez a Timer control.
Letöltöd, kicsomagolod, regisztrálod az ocx-et, felveszed a referenciák közé (IE Timer néven találod meg), aztán a Toolbox-ra felrakod mint "Addititonal Control" (itt pedig "Timer Object" néven találod meg).
Ezt aztán tudod használni időzítésre. Az intervallum ezredmásodpercekben értendő. Az Enabled property mondja meg, hogy megy, vagy nem megy.

Példaként készítettem egy Formot, amin van egy Timer, két Button meg egy Label.
Itt van hozzá a kód:

Option Explicit

Public T As Date

Private Sub btnStartTimer_Click()
T = Date + 5 / 24
If Now > T Then T = T + 1
IeTimer1.Interval = 1000
IeTimer1.Enabled = ValTrue
End Sub

Private Sub btnStopTimer_Click()
IeTimer1.Enabled = ValFalse
Label1.Caption = "Felfüggesztve"
End Sub

Private Sub IeTimer1_Timer()
If Now > T Then
Label1.Caption = "Lejárt az idő"
Főmakró
Else
Label1.Caption = Format(T - Now, "hh:mm:ss")
End If
End Sub

Sub Főmakró()
'Makro1
'Makro2
'Makro3
End Sub


Így néz ki Design és Run módban:


Előzmény: Jimmy the Hand (12797)
Jimmy the Hand 2010.09.15 Creative Commons License 12797
Sub Időzít()
Application.OnTime TimeValue("05:00:00"), "Főmakró", Schedule:=True
End Sub

Sub Főmakró()
Makro1
Makro2
Makro3
End Sub

Ez mondjuk nem írja ki a hátralévő időt. Cserébe nem fogja le a CPU 50%-át sem.
Előzmény: boraka (12796)
boraka 2010.09.15 Creative Commons License 12796
Köszönöm. A cél az, hogy mielőtt elindulok haza a mhelyről, elindítok egy makrót, ami hajnalban (egy beállított időpontban) indítja a már jól letesztelt és bevált napi adatfeldolgozó makrókat. Azért kellene hajnalban indítani, mert egy új feldogozó rész miatt már elég sokáig fut és jó lenne, ha reggelre, már friss, ropogós adatok várnának ;-)

Előzmény: Jimmy the Hand (12795)
Jimmy the Hand 2010.09.14 Creative Commons License 12795
Két dolog.
1) Az MsgBox megfogja a futást.
2) Van egy olyan, hogy Application.OnTime, szerintem nézd meg.

Amúgy mi a célod?
Előzmény: boraka (12794)
boraka 2010.09.14 Creative Commons License 12794

Sikerült egy kis fapados megoldást összeszögelni, már csak a folyamatosan csökkenő hátralévő idő kiiratása kellene

 

 

Sub Idozit()
Dim tmp As String

 

  tmp = Format(Date + 1, "yyyy.mm.dd") & " - 05:00:00"

 

  Do While Format(Now, "yyyy.mm.dd - hh:mm:ss") <> tmp
    Application.StatusBar = Format(Now, "yyyy.mm.dd - hh:mm:ss") & " -> " & tmp
    Application.Wait (Now() + TimeValue("00:00:01"))
  Loop
 
  MsgBox "futás indul"
  'Makro1
  'Makro2
  'Makro3
  '...

 

End Sub

Előzmény: boraka (12793)
boraka 2010.09.14 Creative Commons License 12793

Sziasztok!

 

Egy időzítőt szeretnék készíteni, amelyet egy állandóan bekapcsolt gépen délután vagy este indítanék és minden következő nap 05:00-ig kellene, hogy visszafogjon több makró futását.  Ami még szép lenne, valahogy kiíratni a hátralévő időt is. Tudna valaki segíteni? Előre is köszönöm.   

 

boraka 2010.09.14 Creative Commons License 12792
Szívesen, remélem, még hasznos lehet.
Előzmény: NeomatiK (12791)
NeomatiK 2010.09.13 Creative Commons License 12791
Köszönöm szépen. Közben megoldódott a téma, de azért ezt elrakom.
Előzmény: boraka (12787)
tt65 2010.09.12 Creative Commons License 12790
köszi, erre magamtól sosem jöttem volna rá!
Előzmény: Törölt nick (12789)
Törölt nick 2010.09.12 Creative Commons License 12789
De feltételes formázással is ki lehet emelni a CELLA() fgv segítségével a zárolt/nem zárolt cellákat.
Előzmény: Törölt nick (12788)
Törölt nick 2010.09.12 Creative Commons License 12788
Lehet:
Ctrl+F (Keresés és csere)
Egyebek gombra kattints.
Formátumnál vegyél mintát cellából vagy állítsd be kézzel.
"Listába mind" gombra kattints.
Az alsó listában a jelöld ki az első találatot és Shift+End-el jelöld ki az egészet.
Előzmény: tt65 (12786)
boraka 2010.09.12 Creative Commons License 12787

Az otthoni gépeden egy word dokumentumba tedd be az alábbi makrókat (persze a megfelelő értékekkel kiegészítve) és a munka befejeztével engedd rá arra a fájra, amiben dolgoztál:

 

'Title = wdPropertyTitle
'Subject = wdPropertySubject
'Author = wdPropertyAuthor
'Manager = wdPropertyManager
'Company = wdPropertyCompany
'Category = wdPropertyCategory
'Keywords = wdPropertyKeywords
'Comments = wdPropertyComments
'Hyperlink base = wdPropertyHyperlinkbase

 

'---------------------------------------------------------------

' az Adatlap adatainak lekérdezése

'---------------------------------------------------------------

 

Sub WordAdatlapInfo()
Dim dp As Object

 

  If Documents.Count > 0 Then
    Set dp = ActiveDocument.BuiltInDocumentProperties
    MsgBox dp(wdPropertyTitle) & Chr(10) & _
           dp(wdPropertySubject) & Chr(10) & _
           dp(wdPropertyAuthor) & Chr(10) & _
           dp(wdPropertyManager) & Chr(10) & _
           dp(wdPropertyCompany) & Chr(10) & _
           dp(wdPropertyCategory) & Chr(10) & _
           dp(wdPropertyKeywords) & Chr(10) & _
           dp(wdPropertyComments) & Chr(10) & _
           dp(wdPropertyHyperlinkBase)
  End If

End Sub

 

'---------------------------------------------------------------

' ezt kell kiegészíteni a céges adatokkal

'---------------------------------------------------------------

 

Sub WordAdatlapBeallitas()
Dim dp As Object

 

If Documents.Count > 0 Then
    Set dp = ActiveDocument.BuiltInDocumentProperties
    dp("Author") = "Gipsz Jakab az új szerző"
    dp("KeyWords") = "ez az új keresőszó"

    ' és így tovább...
    ActiveDocument.Save
  End If
 
End Sub

Előzmény: NeomatiK (12785)
tt65 2010.09.11 Creative Commons License 12786
Ide vágó kérdés, ki lehet e jelölni valami módon, mondjuk a zárolt cellákat?
Az Irányított kijelölés lehetőségei között nincs ilyen ...
Előzmény: nikonbarat (12783)
NeomatiK 2010.09.11 Creative Commons License 12785

Word-ös topikban is kérdeztem, de pangás van.

 

Közben azt hiszem rájöttem.

 

Szóval ha az intézőben belemész egy mappába, ahol pl doc és xls fájlok vannak és az egeret ráhúzod, akkor megjelenik a dokumentum bizonyos jellemzője:

Típus:

Szerző:

Cím:

Módosítva:

Méret:

 

bejegyzésekkel. Én most ezeket látom, lehet hogy más is megjelenik, ha olyan a beállítás..

 

Na szóval, ha megnyitsz egy word vagy excel dokumentumot a Fájl > Adatlap menüben látszik ez a csatolmány, vagyis az adatlapja a dokumentumnak. A progrma telepítésekor megadott gépnevet, címet írja be automatikusan (ha jól sejtem). És ezzel az egyéni saját bejegyzéssel lesz elmentve a dokumentum minden egyes gépen. És így látszódna, ha nem a céges gépen lett létrehozva (mentve) a fájl.

 

De rájöttem, hogy ebben a menüpontban ki is lehet törölni. Vagy mást megadni.

Továbbá a Word esetében a Eszközök > Beállítások > Mentés fül-ön belül az "Adatlap kitöltését felajánlja" kipipálásával megadható a mentéskor.

Excelnél az Általános fülön belül van ez a pipálandó.

 

Előzmény: SQLkerdes (12775)
Delila_1 2010.09.11 Creative Commons License 12784
Nincs mit.
Előzmény: nikonbarat (12783)
nikonbarat 2010.09.11 Creative Commons License 12783
Köszönöm a segítséget! Igazából akkor jöttem rá, miután írtad...

A "lapvédelem" fülön a minden felhasználó számára engedélyezett "pipáknál" a zárolt és a nem zárolt is ki volt jelölve...
Banális...
Előtte még bosszankodtam is, hogy amennyiben kiveszem a pipákat nem enged semmihez nyúlni...
Ez van.

Köszönöm!
Előzmény: Delila_1 (12782)
Delila_1 2010.09.11 Creative Commons License 12782
Alapbeállításban minden cella zárolt. A lapvédelem bekapcsolása előtt a nem védendő cellák zárolását kell megszüntetned.
Előzmény: nikonbarat (12781)
nikonbarat 2010.09.11 Creative Commons License 12781
Problémám adódott az excelben. Valószínűleg rém egyszerű, mégsem jövök rá. Tudna esetleg valaki tanácsot adni?

Egy adott munkafüzetben egy lap van (szimpla táblázat). Egyes celláit szeretném védeni a módosításoktól (beírásoktól), úgy hogy másik, adott cellák még elérhetőek legyenek. Amennyiben zárolom a védendő cellákat, de nem jelölöm be a lapvédelmet, semmi nem történik. Ugyanúgy írhatok a védett cellába is mint a többibe. Amint bekapcsolom a lapvédelmet, egyik sem lesz kijelölhető és elérhető.
MIT szúrtam el? Egyszerűnek látszó feladat, de valamiért nem megy. 2007 verzió.
boraka 2010.09.10 Creative Commons License 12780

Köszönöm szépen!

Előzmény: Jimmy the Hand (12777)
Delila_1 2010.09.10 Creative Commons License 12779
Ez nagyon szép volt, köszönöm. Ám ha körülnézel itt, meglátod, hogy nagyon "kisfiú" vagyok.
Előzmény: aulac (12778)
aulac 2010.09.10 Creative Commons License 12778
Delila 1
Nem hiába volt Delilah héber neve "Lenyűgöző".
A tudásod is az. Nagyon köszönöm.
Nem volt telepítve a bővítménykezelő.
Üdv. aulac
Előzmény: Delila_1 (12768)
Jimmy the Hand 2010.09.10 Creative Commons License 12777
Itt egy leírás:

http://en.kioskea.net/faq/1402-inserting-an-animated-gif-in-excel
Előzmény: boraka (12776)
boraka 2010.09.10 Creative Commons License 12776

Sziasztok!

 

Esetleg tudja valaki, hogyan lehet egy mozgó .gif képet rátenni egy munkalapra vagy formra úgy, hogy a mozgás is látható legyen?

SQLkerdes 2010.09.10 Creative Commons License 12775
Én szermély szerint nem tudom milyen bélyegzőre gondolsz. Meséld el, hogy hogy nézed meg a bélyeget.
Milyen Office verziód van?

Egyébként ez Excel fórum ;-)
Előzmény: NeomatiK (12774)
NeomatiK 2010.09.10 Creative Commons License 12774

Sziasztok!

 

Elhoznék melóhelyről néhány anyagot, hogy itthon dolgozzak rajta. De az itthonni word-nek más a "bélyegzője". Ha beviszem a céghez és ránéznek, akkor láthatják, hogy más gépen készült.

Hogyan lehetne ezt a bélyegzőt eltüntetni? Még az üres is jobb lenne, mintha az itthoni word lenyomata látszódna.

Gondolom, az excel-ben is hasonló lehet a megoldás ha van megoldás. Van megoldás?

E.Istvan 2010.09.10 Creative Commons License 12773

Köszi. Teljesen kézenfekvő.

Ezt a lehetőséget már el is felejtettem, pedig kb egy éve az Outlook miatt már kellett ezt használnom.

Bár nekem a 2007-es miatt 12-es van és ha ezt bekapcsolnám nem futna a program a régi Office-os gépeken, mert ott nem találja meg ezt a referenciát. De ez már legyen az eredeti programozó gondja. A tűzoltó munkát elvégeztem.

Előzmény: boraka (12772)
boraka 2010.09.10 Creative Commons License 12772

"Valamilyen parancsot, beállítást meg kellett volna adnom az elején, hogy felismerje az Excel VBA a Word változokat illetve állandókat is?"

 

Igen, a Tools -> References... -> Microsoft Word 11.0 Object Library használatának bekapcsolása után ezeket már ismeri


Előzmény: E.Istvan (12771)
E.Istvan 2010.09.10 Creative Commons License 12771

Igen ezt ismerem és használom is más programjaimban, de valamiért úgy emlékeztem, hogy elrejtett munkalapon nem lehet kiadni a copy parancsot. Most kipróbáltam és mégis lehet. Köszi.

Mindenesetre egy kicsit megnyugodtam, hogy valószínűleg nem én követtem el hibát, hanem ilyen az Excel.
Másrészt ismét nagy tanulság volt, hogy nem elegendő nagy általánosságban ellenőrizni a végeredményeket, mert egy apró látszólag egyértelmű módosítás is "katasztrofális" eredményekkel szolgálhat.
 
Ha már írok, akkor leírok egy másik esetet is. Most kellett javítanom másvalakinek a programját (2003-ról 2007-re állás miatt), ami excelből nyit wordot, létrehoz egy makrós dokumentumot és ment. Viszont állandóan docx-ként mentett ami meg már nem tartalmazta a makrót. Hiába adtam meg a saveas-nál a wdFormatXMLDocumentMacroEnabled értéket. Aztán rájöttem, hogy mivel a programozó nem használta az option explicitet a program elején ezért nem reklamált az Excel, hogy nem ismeri ezt a változót és 0 értéket adott neki. Amikor helyette a hozzá tartozó 13-as értéket adtam meg, akkor már jó volt.

Tulajdonképpen a problémát megoldottam de olthatatlan tudásvágyam :o) miatt azért két kérdésem lenne ha esetleg fejből tudja valaki.
Valamilyen parancsot, beállítást meg kellett volna adnom az elején, hogy felismerje az Excel VBA a Word változokat illetve állandókat is?
Milyen értéket kellene megadnom, hogy 2003-as vagy régebbi formátumban (doc) mentsen. A wdFormatDocument97 és a wdFormatDocument-hez tartozó érték egyaránt 0 és ez viszont docx-ként mentett.

Előzmény: Jimmy the Hand (12764)
Delila_1 2010.09.10 Creative Commons License 12770
Be kell kapcsolnod az Eszközök/Bővítménykezelőben az Analysis kezdetű két bővítményt.
Előzmény: aulac (12767)
Jimmy the Hand 2010.09.10 Creative Commons License 12769
.
Delila_1 2010.09.10 Creative Commons License 12768
Kapcsold be a bővítményeket, amiket e-mail-ben megírtam.
Előzmény: aulac (12767)
aulac 2010.09.09 Creative Commons License 12767
Nem fut le egyik makro sem.
Előzmény: Delila_1 (12766)
Delila_1 2010.09.09 Creative Commons License 12766
Nem én írtam, jóval később jöttem ide a fórumra. :)
Ez egy módosított rögzítés 2006-ból.
Előzmény: aulac (12765)
aulac 2010.09.09 Creative Commons License 12765
Szia Delila1
Igen Te készítetted pár éve.
A hiányzó makro a következő volt:

Sub Készletmódosítás()
'
' Készletmódosítás Makró
' Rögzítette: , dátum: 2006.10.29.

Application.ScreenUpdating = False
Range("G3:G300").Copy
Range("C3").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("F3:F300").ClearContents
Dim Path As String
On Error GoTo ErrHandler
Path = "C:Documents and SettingsGabiAsztalLeltár" & "Készlet " & Format(Now, "yyyy.mm.d") & ".xlsm"
ActiveWorkbook.SaveAs Path

ErrHandler:
If Err.Number = 1004 Then
MsgBox "A megadott könyvtár nem létezik. Ellenőrizd!"
Exit Sub
End If


End Sub
Előzmény: Delila_1 (12755)
Jimmy the Hand 2010.09.09 Creative Commons License 12764
Így lehet Copy-val:

Range("E1:F1").Copy
Range("B1:C10").PasteSpecial xlPasteFormulas

A lényeg a PasteSpecial, és annak paramétere. A felvetés egyébként érdekes, én se értem, miért így megy a te módszereddel...

"Természetesen mielőtt kapnék a fejemre, hogy nem ellenőriztem, az eredeti programot ..."

Bocs, ha az előbb úgy tűnt, hogy "adtam a fejedre". Igazából "enyhén felvont szemöldökű, csodálkozó kérdés" akart lenni ;-)
Előzmény: E.Istvan (12761)
Delila_1 2010.09.09 Creative Commons License 12763
A kijelölést ne "egybe" végezd, hanem az egyik oszlop kijelölése után a Ctrl-t nyomva jelöld ki a másik törlendő oszlopot.
Előzmény: Redlac (12760)
E.Istvan 2010.09.09 Creative Commons License 12762

Nem igazán értem a problémát.

Ha véletlenül törölted visszavonás.

Ha már régebben történt és nem tudod visszavonni valószínűleg elvesztek.

Ha meg akarod akadályozni a véletlen törlést B oszlop celláit védelemmel kell ellátni és le kell védeni a munkalapot.

Ha csak magadnál akarod elkerülni ezeket a hibákat a későbbiekben akkor én mindig csak a látható cellákra szűkítem a kijelölést és utána végzem el a műveletet. 2007-ben a gyorelérési eszköztárra fel lehet venni egy "látható cellák" gombot.

 

Előzmény: Redlac (12760)
E.Istvan 2010.09.09 Creative Commons License 12761

Azért nem copy-zok, mert akkor selectálnom kellene a tartományokat.

Tudom egy párszor már leírtad, hogy lehet select nélkül is copyzni. Próbálgattam, de akkor mindent másolt. Formátumot is, de nekem csak a képlet kell.

 

A problémát megoldottam, mert minden oszlopba külön teszem be a képletet.

 

Csak kicsit fura, hogy ami működik egy oszloppal, az nem megy többel. Ráadásul ezt csak akkor vettem észre, amikor reklamáltak a hibás táblázat miatt. Meg nem fordult a fejemben, hogy ez az egyszerű parancs hibás eredményt ad.

 

Természetesen mielőtt kapnék a fejemre, hogy nem ellenőriztem, az eredeti programot ellenőriztük. A módosítás több oszlopra később került bele. Azt meg már nem ellenőriztük, hiszen csak egy tartomány bővítésről volt szó.

 

Tulajdonképpen az érdekelne, hogy ez egy újabb excel hiba, vagy én használom hibásan ezt a parancsot. Bár nem tudom miért lenne az.

Előzmény: Jimmy the Hand (12759)
Redlac 2010.09.09 Creative Commons License 12760
Üdv Mindenkinek!

Van 3 oszlopom: A, B és C, mindháromban adatok, a B oszlop rejtett.

Szerettem volna kitörölni az adatokat, így kijelöltem egybe a két látható oszlop adatait, majd delete.
Aztán szembesültem vele, hogy a rejtett B oszlop adatait is kitörölte. De ezt nem szerettem volna.

Miért lehet, lehet-e ellene tenni valamit?
Jimmy the Hand 2010.09.09 Creative Commons License 12759
Ha Copy paranccsal működik, miért nem azt használod?
Előzmény: E.Istvan (12758)
E.Istvan 2010.09.09 Creative Commons License 12758
Üdv
Egy nagyobb program részeként ütköztem egy problémába. Nem tudom ez excel hiba, vagy én értelmezek valamit rosszul. Teljesen leegyszerűsítve a problémát képletet másolnék.
Monjuk az „E1” és az „F1” cellákban is a „=D1” képlet van.
Ha egy képletet másolok egy oszlopba az működik
Range(Cells(1, 2), Cells(10, 2)).FormulaR1C1 = Range(Cells(1, 5), Cells(1, 5)).FormulaR1C1
Ha két képletet, vagyis tartományt másolnék két oszlopba akkor már minden sorban elcsúszik a képlet.
Range(Cells(1, 2), Cells(10, 3)).FormulaR1C1 = Range(Cells(1, 5), Cells(1, 6)).FormulaR1C1
az első sor az elsőre, a második a harmadikra, a harmadik meg az ötödikre hivatkozik.
Ennek így kell lennie? Hiszen ha copy paranccsal teszem át ugyanezt a két cellát a két oszlopba, akkor meg jó.
sheldon 2010.09.09 Creative Commons License 12757
Köszi, meglesem.
Előzmény: Delila_1 (12756)
Delila_1 2010.09.09 Creative Commons License 12756
A "Szövegből oszlopok" funkciót nézd meg, az kétfelé szortírozza az adataidat.
Előzmény: sheldon (12754)
Delila_1 2010.09.09 Creative Commons License 12755
Válasz ment :)
Előzmény: aulac (12752)
sheldon 2010.09.09 Creative Commons License 12754

Sziasztok!

 

Egy kis segítségre lenne szükségem.

Adott egy cella, amiben van 2 darab információ, vesszővel elválasztva.

Az első állandó, a második változó.

Van-e bármi módszer arra, hogy ezeket 2 külön oszlopba szedjem szét valahogy?

közel 2ezer ilyen cella van, tehát a kézi másolás nem járható út.

 

Köszönöm!

tt65 2010.09.08 Creative Commons License 12753
egyszerű: =SZÖVEG(B2-A2;"óó:pp")
Ahol A2, B2 a két időpont idő formátumban pl. 9:05:00
Előzmény: *HELP* (12747)
aulac 2010.09.08 Creative Commons License 12752
Delila1 kettő mél ment.
Ha segítenél megköszönöm.
Előzmény: Delila_1 (12751)
Delila_1 2010.09.08 Creative Commons License 12751
A
Range("H3:H200").Copy Range("C3:C200") sor helyett
Range("H3:H200").Cut Destination:=Range("C3:C200")-t írj.
Előzmény: aulac (12748)
SQLkerdes 2010.09.07 Creative Commons License 12750
írd be a copy rész után új sorba még azt, hogy:

Range("H3:H200").ClearContents
Előzmény: aulac (12748)
Törölt nick 2010.09.07 Creative Commons License 12749
Cellaformátum: Time

..és simán kivonhatod őket egymásból.

:)
Előzmény: *HELP* (12747)
aulac 2010.09.07 Creative Commons License 12748
De ez nem törli a másolás után a H3-H200 oszlopban lévő darabszámokat.
Pedig ez (is) lenne a feladata.
Leltározok. Beírom a "H" oszlopba a darabszámokat, majd végrehajtás.
Ekkor átmásolja a "C" oszlopba az értékeket. De ezután már a tényleges készlet a "C" oszlopban lévő és a "H" oszlopot nulláznia kellene. Várni a következő leltárra.

Üdvözlet: aulac
Előzmény: Delila_1 (12737)
*HELP* 2010.09.07 Creative Commons License 12747
Sziasztok!

A következőt szeretném kiszámoltatni az excellel.
van két egymás melletti cellám az egyikben a munkakezdésem van
a másikban a végzés, a harmadik adná a ledolgozott időt.
például: 03:10 óratól 14:00 óráig az eredmény a 10:50 óra lenne de nem tudom rávenni hogy így kiírja. tudtok segíteni?!

CChryss 2010.09.07 Creative Commons License 12745
Egyébként másodszorra átolvasva a válaszodat, sztem másról beszélünk! Én pont az eladásokat nem akarom rögzíteni! Ez egy kitalált feladat,kitalált napi forgalommal, ahol nem fontos tudnom hogy melyik árucikkből mennyit adok el, hanem kategóriára bontva kell az árakat rögzíteni. Én megadom hogy milyen árakkal dolgozok egy kategórián belül, a gép pedig kitölti nekem bizonyos feltételek szerint a napot. Ezek a feltételek ha lehetnének: egész aznapi eladás összege, és ugyanez kategórián belül!
Előzmény: Jimmy the Hand (12743)
CChryss 2010.09.07 Creative Commons License 12744
Nem konkrét árucikk,hanem 6 aru kategória végülis - ezt rosszul írtam-, amiken belül van több fajta ,8-10 ár. És abból variáljon nekem "véletlenszerűen".
Előzmény: Jimmy the Hand (12743)
Jimmy the Hand 2010.09.07 Creative Commons License 12743
Szerintem rosszul fogod meg ezt a dolgot.
Egy munkalap kell, olyan oszlopokkal, mint dátum, árucikk, eladási ár, satöbbi, és abban rögzíteni minden eladást, aztán pivot táblával olyan kimutatást varázsolsz belőle, amilyet akarsz.

De persze lehet, hogy félreértem. Az például nem világos, hogy hogy lehet árucikkekhez véletlenszerűen eladási árat rendelni...?
Előzmény: CChryss (12742)
CChryss 2010.09.07 Creative Commons License 12742
Sziasztok
Megköszönném ha tudna valaki segíteni,próbálkoztam neten kereséssel,meg itt is böngésztem a fórumot,de mindig valami hibába ütköztem,ezért inkább leírom mit szeretnék megcsinálni Excelben,remélem segít valaki :-)

Lenne egy 31 - mint napok száma- munkalapból álló napi forgalmi elszámolás. Egy munkalap egy nap, ebben lenne 6 külön féle árucikk, A oszloptól G-ig, ez alatt a sorokban szeretném én a géppel kitöltetni a napi forgalmat, és az eladási árakat árucikkenként egy külön listából szedné ki-külön munkalapból-, véletlenszerűen. Ha pedig ezt úgy is meg lehetne "mondani neki",hogy mennyi legyen az árucikkenkénti végösszeg, ill. a napi végösszeg összesen, hab lenne a tortán! Remélem sikerült érthetően elmagyaráznom. Köszönöm előre is a segítséget!!
Törölt nick 2010.09.07 Creative Commons License 12741
Nem baj, értjük így is szerintem.
Ez a "Date" jó, köszi. Sajna a Format-os (nem) megoldásra akadtam csak rá.
Előzmény: Delila_1 (12737)
SQLkerdes 2010.09.07 Creative Commons License 12740
Azt szeretem az excelben, hogy néha a dolgok tök egyszerűek, néha meg olyan bonyolultak, hogy a fal adja a másikat...
Előzmény: Jimmy the Hand (12739)
Jimmy the Hand 2010.09.07 Creative Commons License 12739
Meg fogsz lepődni.

MsgBox Application.Version

Eredményül egy x < 14, egész számot fogsz kapni, amit manuálisan (pl. egy tömb segítségével) kell átkonvertálni 2003, 2007, stb. verziójelzőkre.
Előzmény: SQLkerdes (12738)
SQLkerdes 2010.09.07 Creative Commons License 12738
Azt meg tudná valaki mondani, hogy makróban hogy lehet kiolvasni, hogy éppen milyen excel változaton (2010, 2007, 2003) fut a makro?
Delila_1 2010.09.07 Creative Commons License 12737

Megint megviccelt a fórummotor.

 

Sub Masol()
    Dim Path As String, FileName As String
    Path = "E:\Eadat\" 'itt add meg a saját elérési utat
   
    Range("H3:H200").Copy Range("C3:C200") 'itt megváltoztathatod a tartományt
    FileName = Path & "Leltár_" & Date & "xls"
    ActiveWorkbook.SaveAs FileName:=FileName, FileFormat _
        :=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
End Sub

Delila_1 2010.09.07 Creative Commons License 12736

A Today helyett lehet használni a Date belső változót, így nincs szükség sem a helyfoglalásra, sem a formátum megadására. A Date formátuma "yyyy.mm.dd." , ponttal a végén, ami a mentési formátumon is módosít, a kiterjesztés hozzáfűzését nem ponttal kell kezdeni.

 

 

Sub Masol()
    Dim Path As String, FileName As String
    Path = "E:Eadat" 'itt add meg a saját elérési utat
   
    Range("H3:H200").Copy Range("C3:C200") 'itt megváltoztathatod a tartományt
    FileName = Path & "Leltár_" & Date & "xls"
    ActiveWorkbook.SaveAs FileName:=FileName, FileFormat _
        :=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
        False, CreateBackup:=False
End Sub

Előzmény: Törölt nick (12735)
Törölt nick 2010.09.06 Creative Commons License 12735
Megvan. Kell a teljes elérési út a mentésnél.
Ezt a sort javítsd:
FileName=...

Erre:

FileName = Path & "Leltár_" & Today & ".xls"

A

ChDir Path

Sort pedig kitörölheted, felesleges.
Előzmény: Törölt nick (12734)
Törölt nick 2010.09.06 Creative Commons License 12734
Pedig jónak kéne lennie szerintem, rögzített makrót írtam át.
Előzmény: Törölt nick (12733)
Törölt nick 2010.09.06 Creative Commons License 12733
Természetesen kipróbáltam. Nincs vele semmi gond. Viszont azt vettem észre, hogy az általam megadott Path F:\ ellenére elmenti a C:\Dokumentumok mappába.

(excel 2007)
Előzmény: aulac (12732)
aulac 2010.09.06 Creative Commons License 12732
Rendesen így néz ki:

Sub Masol()
Dim Path As String, FileName As String
Dim Today As Date
Today = Format(Now, "yyyy.mm.dd")
Path = "D:\Leltár" 'itt add meg a saját elérési utat
FileName = "Leltár_" & Today & ".xls"

Range("H3:H270").Copy Range("C3:C270") 'itt megváltoztathatod a tartományt
ChDir Path
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat _
:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

Hibakód: "Expected End Sub"
Előzmény: SQLkerdes (12731)
SQLkerdes 2010.09.06 Creative Commons License 12731
Vagy lehet hogy mégis jó, csak neked is kivette a \ jelet a fórummotor.

Mindenesetre a jó formátum: "D:\Leltár"
Előzmény: SQLkerdes (12729)
SQLkerdes 2010.09.06 Creative Commons License 12730
Nekem ez a rész is gyanús:
Range("H3:H292").Copy Range("C3:C270")

Mert a H oszlopban kijelölt tartomány (289 sor) nem azonos méretű a C oszlopban kiejlölt tartománnyal (267 sor).

Előzmény: aulac (12727)
SQLkerdes 2010.09.06 Creative Commons License 12729
És a Path változód sem olyan amit a kód meg tudna enni.

A mostani "D:Leltár" helyett használj "D:Leltár"-t.
Előzmény: aulac (12727)
SQLkerdes 2010.09.06 Creative Commons License 12728
Azt gondolom a gombot neked kell odaraknod kézzel.

A lenti kódban az xlExcel8 használata arra utal, hogy ezt a kódot Excel 2007-re vagy jobbra írták. Ha neked pld 2003-as exceled van, akkor helyette az xlworkbooknormal értéket kell használni.

Lehetnek még más csapdák is, a legjobb az lenne, ha beposztolnád, hogy melyik sorra panaszkodott a kód.
Előzmény: aulac (12727)
aulac 2010.09.06 Creative Commons License 12727
Szia robbantomester.

A makro így néz ki:

Sub Masol()
Dim Path As String, FileName As String
Dim Today As Date
Today = Format(Now, "yyyy.mm.dd")
Path = "D:Leltár" 'itt add meg a saját elérési utat
FileName = "Leltár_" & Today & ".xls"

Range("H3:H292").Copy Range("C3:C270") 'itt megváltoztathatod a tartományt
ChDir Path
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat _
:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

És nem működik.
Nincs Vezérlőgomb.

Előzmény: Törölt nick (12726)
Törölt nick 2010.09.06 Creative Commons License 12726
írd át a makróban lévő elérési utat és tartományt abban a fileban korábban amit visszaküldtem.
(A szükséges sorokhoz odaírtam, hogy melyiket hol kell.)
Előzmény: aulac (12721)
Dulifuli 2010.09.06 Creative Commons License 12725
Nem tudom. Szerintem legfeljebb valamiféle formázási gond lehetne (hiszen most már minden olyan adat megjelenik, ami csak számokból áll), de akárhogy is kerestem, nem találtam ilyen beállítást.
Előzmény: Törölt nick (12709)
jopka 2010.09.06 Creative Commons License 12724
:) Ebben a pillanatban akartam írni, hogy én szerencsétlen... Ezt elfelejtettem és beírva az ÉS()-t, működik... Köszönöm!
Előzmény: Jimmy the Hand (12723)
Jimmy the Hand 2010.09.06 Creative Commons License 12723
HA(), ÉS(), VAGY(), stb. függvényekbe nem lehet ilyen hármas relációkat írni. Illetve lehet, de nem azt adja ki, amire számítasz. A többszörös relációk balról jobbra haladva, egyesével értékelődnek ki. Az alábbi feltétel esetében:

időszak_eleje<belépés<jelentés_napja

ez úgy értékelődik ki, hogy:
1. lépés
időszak_eleje<belépés -> igaz vagy hamis? legyen pl. igaz
2. lépés
IGAZ<jelentés_napja -> igaz vagy hamis? Ennek értéke mindig hamis lesz. Akkor is hamis lesz, ha az előző lépésben HAMIS jön ki.

A hármas relációkat át kell alakítani így:

ÉS(időszak_eleje<belépés;belépés<jelentés_napja)




Előzmény: jopka (12722)
jopka 2010.09.06 Creative Commons License 12722
Az elmúlt heti felvetéshez kapcsolódóan még egy kérdés: Miért hamis mindig az eredmény?

=HA(VAGY(időszak_eleje<belépés<jelentés_napja;jelentés_napja<kilépés<időszak_vége);HA(időszak_eleje<belépés<jelentés_napja;alapbér/DAY(lekérdezés;időszak_vége)*DAY(jelentés_napja;belépés);alapbér/DAY(jelentés_napja;jidőszak_vége)*DAY(jelentés_napja;kilépés));HA($B2="aktív";alapbér;0))
Előzmény: SQLkerdes (12706)
aulac 2010.09.05 Creative Commons License 12721
Igazad van.
A H3-H270 oszlopot kéne egy vezérlőgomb segítségével- amilyen felül a "Készletmódosítás" feliratú- a C3-C270 oszlopba másolni.
A vezérlőgomb helye pedig a "Készletmódosítás" mellett jobbra "Leltár végrehajtás" felirattal lenne.
Ha így érthető?
aulac
Előzmény: Törölt nick (12719)
Törölt nick 2010.09.05 Creative Commons License 12719
Válaszoltam. Sok ellentmondást látok a leveled meg a csatolt file között.
Szerintem nyugodtan írhatsz ide a fórumba is (egyszerűbb...)

A kérés egyszerű másolás, mentés volt aktuális dátummal a fájlnévben.



Sub Masol()
Dim Path As String, FileName As String
Dim Today As Date
Today = Format(Now, "yyyy.mm.dd")
Path = "C:" 'itt add meg a saját elérési utat
FileName = "Leltár_" & Today & ".xls"

Range("H3:H292").Copy Range("D3:D292") 'itt megváltoztathatod a tartományt
ChDir Path
ActiveWorkbook.SaveAs FileName:=FileName, FileFormat _
:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

Előzmény: aulac (12715)
Jimmy the Hand 2010.09.05 Creative Commons License 12718
De persze lehet, hogy a fájl ott van a gépeden, csak nincs regisztrálva. Rákereshetsz a Program Files\MIcrosoft Office mappában is.
Előzmény: Jimmy the Hand (12717)
Jimmy the Hand 2010.09.05 Creative Commons License 12717
Talán az MSCAL.OCX kell neked.

http://www.fontstuff.com/downloads/mscal_office2003.zip

Letöltöd és regisztrálod, aztán a Tools/References-ben felveszed (MS Calendar Control) szerintem működni fog a formod.
Előzmény: Gavriel (12711)
Delila_1 2010.09.05 Creative Commons License 12716
Nem ismerem az OO-t, sajnos nem tudok tanácsot adni.
Előzmény: Gavriel (12713)
aulac 2010.09.05 Creative Commons License 12715
Szia robbantomester!
Légy szíves segíts. Egy új rádiógombra lenne szükségem a táblázatban.
A többit mélben megírom.
köszönettel aulac
Előzmény: Törölt nick (12709)
SQLkerdes 2010.09.04 Creative Commons License 12714
Próbáld ki ezt, saját felelősségre:

klikk ide...

Még annyit hozzátennék, hogy scrap file-oknak meg kellene nyílniuk kattintásra, lehet a registry-dben is körül kéne nézni...
Előzmény: d.bali81 (12710)
Delila_1 2010.09.04 Creative Commons License 12712
Keress rá a calendarmain.xba-ra, ezt kell letöltened, hogy újra működjön.
Előzmény: Gavriel (12711)
d.bali81 2010.09.04 Creative Commons License 12710
Sziasztok! Lenne egy olyan problémám, hogy kedves anyósom elmentette az excel fájljai egy pendrive-ra, de sikerült neki .SHS formátumban összehozni. Nem tudok mit kezdeni vele. Próbáltam parancsikont létrehozni és behúzni egy üres munkalapra, de semmi. Vkinek vmi megoldás?
Törölt nick 2010.09.03 Creative Commons License 12709
a mezőkódokkal nem lehet gond?
Előzmény: Dulifuli (12707)
Törölt nick 2010.09.03 Creative Commons License 12708
Hasonló szituációban történt ilyen velem is. Nálam akkor, az volt a megoldás, hogy szövegkonvertáló függvény használtam a körlevél alapjául szolgáló excel táblázatban. Ezt kivettem, és utána megjelent a körlevél mezőben a szükséges adat.
Mintha a körlevél az excel egyes függvényeit nem kedvelné...
Előzmény: Dulifuli (12707)
Dulifuli 2010.09.03 Creative Commons License 12707
Bocsi, megint csak beestem ide egy kérdéssel, és nem keresgéltem túl sokáig, hogy volt-e már ilyesmiről szó ebben a topicban!
A probléma a következő: adott egy Excel táblázat, amelyben az eszközök adatai vannak. Az egyik oszlop tartalmazza a leltári számokat. Ezek egy része csak számjegyekből áll, mások betűvel kezdődnek, és valamivel több számjeggyel folytatódnak, mint a csak számokból állók. Végül van néhány olyan is, amiben "/" jel is van (pl. 63172/0002). Ezen táblázatban szereplő adatok alapján szeretnénk egy Word dokumentumból az egyes sorokból adatlapokat nyomtatni (körlevél eszköztár, mezőkódok, satöbbi). Be is van állítva szépen, hogy hová tegye a doksiban a leltári számok oszlopában lévő adatokat. A vicces az, hogy ezt némelyik sornál meg is csinálja rendesen, másoknál meg nem. Amikor ezt először észrevettem, akkor még a csak számot tartalmazó adatok közül sem jelenítette meg mindet. Megpróbáltam beállítani az oszlopban a szám formátumot egységesen, de ez sem segített. Később a Szövegből oszlopok funkcióval átraktam az oszlop összes adatát egy másik oszlopba, majd az eredetit kitöröltem, és az újnak adtam az eredeti oszlop nevét. Így most már a jelek szerint minden csak számból álló adat megjelenik, de a többiek nem (pontosabban egy 0 jelenik meg helyettük).
Vajon mi lehet ennek az oka, és hogyan lehetne rávenni ezeket a programokat, hogy végül az összes adatot megjelenítse a Word?
SQLkerdes 2010.09.03 Creative Commons License 12706
Nem baj, ez csak arra van hatással, hogy hogyan határozod meg, hogy valaki tárgyhavi kilépő-e.

Ha nem lett volna adat, akkor IF(B2="",...) működött volna, így IF(B2>C2,...) műxik. Feltéve, hogy jól emlékszem arra, hogy C2-ben van a tárgyhó vége ÉS korábbi hónapokban kilépettek már nincsenek a táblában.
Előzmény: jopka (12705)
jopka 2010.09.03 Creative Commons License 12705
Ohh! "B2"-ben mindig van adat, mert határozott idejű foglalkoztatásról van szó...
Előzmény: SQLkerdes (12702)
jopka 2010.09.03 Creative Commons License 12704
Köszönöm! Még csak most tudok belekezdeni... Majd jelzem az eredményt! Amúgy ami nagyon bonyolítja a megoldást az az, hogy havonta kell jelentést írnom... Persze, hogy nem hónap végi a határidő, hanem az utolsó péntek! Ekkor az elköltött havi, illetve göngyölített bérről kell a kimutatást összeállítani. Így nekem nem D2 cellám van, hanem jelentés! munkalapom januártól decemberig, ahol A2=alapadatok!A2 (itt vannak a nevek) és tölti a sorokat ahogy jönnek-mennek az emberek (belépés napja szerint van ugye növekvőben, mert mindig csak beírom az újat a végére). No, és emiatt van egy apró csavar... A példa okáért jön delikvens 01.12-én és dolgozik 04.30-ig. Január hónapban ő a belépő. Hónap vége [vagy jelentés napja, amit a segédtáblák lapon megoldottam, hogy van egy cellám, ahol legördülőkből tudom a dátumot állítani Dátum(x;y;z;)] Azt számolja, hogy mennyi a törthavi bér, de ha pl. van valaki, aki előző évről csúszott át és kilép, akkor már az eddigi próbák hibájából fakadóan őt vagy nem számolja, vagy a belépésre írt képlet negatív eredményt ad... Aztán ugye dolgozik teljes februárt és márciust. Ezt figyeli a függvény, mert ha a ledolgozott napok száma egyenlő a naptári napokkal (itt kivettem a NETWORKDAYS-t, mert inkább "fizetek" szombatra és vasárnapra is bért (:-)), minthogy bonyolítsam vele a dolgom) akkor az alapbérből osztással szorzással kiszámolja a függvény a havi bért ami (hurrá!) egyenlő az alapbérükkel.
Off: kolléganőm is fogja használni a táblát, így olyan produktummal kell előrukkolnom, ahol neki csak a lekérdezés dátumát kell beállítani (ezért van az év, hónap, nap 3 különböző cella legördülőjébe beállítva és ezért a dátum függvény állítja össze a 3 értékből...)
No, még egyszer köszönöm a tippet, jelzem az eredményt!
Előzmény: SQLkerdes (12703)
SQLkerdes 2010.09.02 Creative Commons License 12703
Itt menet közben asszem rájöttem, hogy mi volt a problémád...

Szóval ez egy olyan speciális IF beágyazás, hogy a fő IF mindkét ágában lesz még egy IF.

IF(belépés_tárgyhóban, IF(kilépés_tárgyhóban, ezt_csináld, azt_csináld), IF(kilépés_tárgyhóban, emezt_csináld, amazt_csináld))
SQLkerdes 2010.09.02 Creative Commons License 12702

Feltételezések:

- belépés napja:  A2 cella, dátum formátumban

- kilépés napja:  B2 cella, dátum formátumban

- A2-ben mindíg van adat (hisz tuti belépett valamikor az ürge)

- B2-ben csak akkor van adat, ha kilépett az illető.

- C2-ben van a tárgyhónap utolsó napja

 

D2-be kiszámoljuk a munkával tölött naptári napok számát (a problémád lényege nem a naptári vs munkanapokkal van, ezt meg tudod oldalni egyedül is).

 

Szóval D2

- ha a belépésre a tárgyhóban került sor és kilépési dátum nincs, akkor a munkával töltött napok száma = C2-A2

- ha a belépésre és a kilépésre is a tárgyhóban kerüls sor, akkor a munkával töltött napok száma = B2-A2

- belépés nem tárgyhóban kilépés nélkül, munkával töltött napok száma= a hónap napjainak száma (DAY(C2))

- belépés nem tárgyhóban, kilépés tárgyhóban, munkával töltött napok száma = B2-C2.

 

Azt mondod, hogy a beágyazott IF-ek mennek, szóval a függvény megírásának örömét nem veszem el tőled, kövesd a fenti logikát.

 

Erre a segítségre volt szükséged?

Előzmény: jopka (12701)
jopka 2010.09.02 Creative Commons License 12701
A gondom vele (nyilván logikai hiba):
Belépő számítási módja: hó vége mínusz belépés napja.
Kilépőé ha ugyanez, akkor az pont azt a részét számolja a hónapnak, amire már nem kap bért. Ezt levonni meg nem tudom a havi alapbérből, mert akkor a belépésnél is levonja.
Az bonyolítja a képletelést, hogy folyamatosan vannak a belépők és a lejáró szerződések is havi rendszerességűek, így egy cellán belül mind a kettőnek jelen kell lenni.
Próbáltam, a HA(ÉS())-t és a HA(VAGY())-ot is. Mondjuk ezeknél kicsit megbonyolítottam a számolást NETWORKDAYS() függvénnyel és nem adott jó eredményt, ezzel majd még molyolok...
Az egymásba ágyazással nincs gondom, viszont ahogy kezdtem is, nyilván a logikámban van a hiba...
Előzmény: SQLkerdes (12700)
SQLkerdes 2010.09.02 Creative Commons License 12700

Hát, hogy őszinte legyek nekem nem világos mi a problémád.

A hóközi belépők ugyanolyanok mint a hóközi kilépők, fejtsd ki lécci, hogy milyen adataid vannak és hogy hol akadták el a kilépők HA() függvényében.

 

Vagy egyszerűen csak arról van szó, hogy nem tudsz egymásba ágyazni HA függvényeket?

Előzmény: jopka (12699)
jopka 2010.09.02 Creative Commons License 12699
Kedves Fórumozók!
Munkaügyi nyilvántartás készítésekor picit ott megakadtam, hogy a munkabérek számításakor nem tudom megoldani azt, hogy a tábla kezelje a hóközi kilépéseket is. [A hóközi belépők törthavi bérét "egyszerű" HA() függvénnyel tudom számoltatni.]
elképzelhető erre olyan megoldás, amihez nem szükségeltetik VB ismeret? Értem ez alatt, hogy képleteléssel megoldható?
Előre is köszönöm a javaslatokat!
Delila_1 2010.09.01 Creative Commons License 12698
:)
Előzmény: Jimmy the Hand (12697)
Jimmy the Hand 2010.09.01 Creative Commons License 12697
cross-post?
:((((
Előzmény: Delila_1 (12695)
Jimmy the Hand 2010.09.01 Creative Commons License 12696
Tegyük fel, hogy a.xls és b.xls struktúrája az általad megadottakon kívül a következő:

- munkalap neve munkét táblázatban: Munka1
- releváns oszlopok: A - F
- az első sorban oszlopfejlécek vannak

Két lehetséges megközelítést látok itt, melyek logikailag ellentétesek egymással.

1) Végignézni a [b.xls]Munka1 első oszlopában lévő összes azonosítót, hogy azok előfordulnak-e az a.xls első oszlopában, és ha igen, akkor a hozzájuk tartozó adatot a 6. oszlopból átrántani a b.xls-be.
Ez a következő ([b.xls]Munka1!F2 cellába kerülő) képlettel oldható meg:
=FKERES(A2;'[a.xls]Munka1'!$A:$F;6;HAMIS)

Ezzel a megközelítéssel az a.xls-ben maradhatnak olyan sorok, ahol ugyan van érték a 6. oszlopban, de mégsem kerülnek át a b.xls-be, mert a b.xls első oszlopában nincs meg az az azonosító.

2) A másik, amit te leírtál, tehát végignézni az [a.xls]Munka1 6.oszlopát, és ha ott érték van, akkor a hozzá kapcsolódó azonosítót megkeresni a b.xls első oszlopában. Ez a megközelítés sajnálatos módon makrót igényel, képlettel nem oldható meg. A makró sem gond, viszont akkor rendelkezni kellene arról, hogy mi legyen azokkal a sorokkal, ahol a 6. oszlopban van érték, de az azonosító a b.xls-ben nem található meg.
Előzmény: t|3r (12694)
Delila_1 2010.09.01 Creative Commons License 12695
A másik fórumon már tegnap megadtam a választ. Nem jött össze?
A b.xls Munka1 lapján az F2 képlete legyen:

=FKERES(A2;'[a.xls]Munka1'!$A:$F;6;HAMIS)

Ha kiderül, hogy a b.xls Munka1 lapján az azonosítók számként szerepelnek, akkor
=FKERES("" & A2;'[a.xls]Munka1'!$A:$F;6;HAMIS) -ra módosul a képlet. Az ""&A2 a számot szöveggé alakítja, így már megtalálja az Fkeres a srtingek között.
t|3r 2010.09.01 Creative Commons License 12694
Kezd gyanús lenni, hogy valami nagyon félreértek.
Tehát adott 2 db xls file: a.xls és b.xls

Mindkettő struktúrája azonos.
1. oszlop azonosító szting
2. oszlop márkanév
3. oszlop adat
4. oszlop adat
5. oszlop adat
6. oszlop keresendő sztring azonban csak a.xls-ben van adattartalma.

A feladat, hogy az a.xls 6. oszlopának tartalmát másoljam b.xls 6. oszlopába de nem ugyanazokba a sorszámú sorokba, ahol a.xls-ben is voltak, hanem az 1. oszlop által azonosított sorba.


Vagyis fut a kereső az a.xls 6. oszlopában. A 9. sorban talál egy sztringet, akkor és csakis akkor meg kell néznie az a.xls első oszlopában a 9. sorhoz tartozó azonosító sztringet, majd átmásolni a 6. oszlop adattartalmát a b.xls 6. oszlopának azon sorában ahol a ugyanaz az első oszlopbeli sztring azonosító található meg.

Ha ezt tudja az FKERES akkor a paramétereket adom meg rosszul. Mi a helyes megadás?
Köszönöm szépen a segítséget!!
Előzmény: Jimmy the Hand (12693)
Jimmy the Hand 2010.09.01 Creative Commons License 12693
Az FKERES 2. paramétere egy cellatartomány. Ennek a tartománynak az első oszlopában keresi meg a függvény a keresendő értéket (ami mellesleg az 1. paraméter). A keresendő érték lehet szám vagy sztring egyaránt.
Nyilván egy számot nem fog megtalálni egy sztringekből álló halmazban, mint ahogy egy sztringet sem fog megtalálni egy számokból álló halmazban. De ha egy keresett szrting megtalálható a kijelölt oszlopban, akkor azt meg kellene találnia.

Mit jelent az, hogy nem működik? Mi a hibaüzenet?

Előzmény: t|3r (12692)
t|3r 2010.08.31 Creative Commons License 12692
Sajnos nem.
Én azt gondolom azért, mert a 2. és 3. paraméter szám kellene, hogy legyen, miközben nálam sajnos alfanumerikus, ahogy írtam.

Vagy stringgel is mennie kellene ?
Előzmény: Jimmy the Hand (12691)
Jimmy the Hand 2010.08.31 Creative Commons License 12691
Az FKERES függvény negyedik paramétere HAMIS legyen. Így sem megy?
Előzmény: t|3r (12690)
t|3r 2010.08.31 Creative Commons License 12690
Üdvözlet,


Azt szeretném kérdezni, hogy szerintetek ha adott 2 db excel file akkor meg lehet valósítani azt, hogy az egyik oszlopban ha értéket találok azt másoljam át a másik file egyik oszlopába de csak akkor ha a az adott sort azonosító másik oszlopban taláható ID ( sajnos nem numerikus, hanem egy sztring ) megegyezik a két esetben.

Tehát a 6. oszlopban fut a keresés és ha adatot talál azt kell másolja a másik file vagy munkalap 6. oszlopába, DE nem ugyanabba a sorba.
Hanem ahonnét másolok ott az első oszlopban kódok találhatók és ez a sztirngsor azonosítja majd a másolandó sztringet, mert a másik munkalapon én majd abba a sorba szeretném másolni amelyik sorban megtalálható ez a 'kulcs' sztring sor.

KERES fügvényekkel ez annyira nem sikerül.
A kérdésem, hogy ez már csak makró vagy Access vagy van megoldás egyszerűbben is?


Köszi a válaszokat előre is.

SQLkerdes 2010.08.28 Creative Commons License 12689
Hogy csinálod egy kattintással xl2007-ben?
Előzmény: Törölt nick (12688)
Törölt nick 2010.08.28 Creative Commons License 12688
2003-as excelben advanced szűrő, amit sql is ír
2007-ben, 2010-ben pedig ez egy db kattintás
Előzmény: mihaly90 (12684)
SQLkerdes 2010.08.27 Creative Commons License 12687
Erre a videóra vess egy pillantást:

klikk ide
Előzmény: mihaly90 (12686)
mihaly90 2010.08.27 Creative Commons License 12686
Megpróbáltam amit írtál, de nem akar sikerülni, nem csinál semmit, pedig tudom, hogy elég sok megvan benne kétszer
Előzmény: SQLkerdes (12685)
SQLkerdes 2010.08.27 Creative Commons License 12685
Pont erre van az Adatok/Szűrés/egyedi(?) szűrés opció, amiről lent irtam.
Előzmény: mihaly90 (12684)
mihaly90 2010.08.27 Creative Commons License 12684
Arra gondoltam, hogy vannak a szótárba zgyan olyanak amik többször is benne vannak és ezeket szeretném kiszedni, hogy minden csak egyszer legyen.

Ha jól tudom egy makroval megoldható, de azokhoz nem értek annyira.
Előzmény: SQLkerdes (12682)
SQLkerdes 2010.08.27 Creative Commons License 12683
Igen, az a módszer a te esetedben nem használható, csak ha valakinek fizikailag excelben vannak az adatai (pld csv file-t beimportál).
Előzmény: Törölt nick (12681)
SQLkerdes 2010.08.27 Creative Commons License 12682
Mit értesz azon, hogy kiszedi?
Mindennek csak egy előfordulását akarsz látni?

Data/Filter/Advanced és itt megadod, hogy hol van az a lista amit át akarsz nézetni az excellel, hova rakja az eredményül kapott listát és feltétlenül ikszeld be, hogy Unique values only/egyedi értékek.

Ez egy új listába előállítja az ismétlődő értékek nélküli (egyedi értékeket tartalmazó) listát.
Előzmény: mihaly90 (12680)
Törölt nick 2010.08.27 Creative Commons License 12681
Nem egészen így, de a szövegformátumú szám 1-el szorzást ismertem erre az esetre, de ennél a szitunál eszembe sem jutott :(
A "szövegből oszlopok"-at nem értem, ami nekem van az egy másik adatbázisból sql segítségével jön, nem excelből
Előzmény: SQLkerdes (12677)
mihaly90 2010.08.27 Creative Commons License 12680
Tényleg ezt használtam már valamikor, köszönöm szépen :)

A következő amit szeretnék megcsinálni, hogy ami többször megtalálható azt kiszedni.

Ebben tudnál segíteni?
Előzmény: Jimmy the Hand (12679)
Jimmy the Hand 2010.08.27 Creative Commons License 12679
Talán úgy jársz a legjobban, ha
1) kijelölöd az oszlopot
2) az Adatok menüből kiválasztod a Szövegből oszlopok parancsot
3) Tagolt, vesszővel, befejezés
Előzmény: mihaly90 (12678)
mihaly90 2010.08.27 Creative Commons License 12678
Sziasztok!

Nekem egy szótár van excel táblában, de egy oszlopban az egész ilyen formában
1,alma,apple
2,körte,pear

Amit meg szeretnék valósítani az az, hogy kiszedjem a szövegrészből a végét, ami mindegyiknél a "," utáni rész.

Ha valaki tudna segíteni, hogy ezt hogyan kellene megoldanom azt megköszönném.
SQLkerdes 2010.08.27 Creative Commons License 12677
Nos, akkor teljes egészében félreértettem a problémádat :-)

Egyébként egy apró trükk: ha van egy számod, amit az excel nem ismer fel számnak, hanem szövegnek, akkor bármely matematikai művelet számmá alakítja a szövegnek tűnő számot.

Tehát pld. LEFT(a1,3) egy számot ad, de az excel szövegként kezeli.
A LEFT(a1,3)+0 már számot ad és az excel számként is kezeli.

Vagy a te példádban ha nem tudod lefuttatni az SQL query-t ismét, akkor a Text to Column fukció átalakítja.
Előzmény: Törölt nick (12676)
Törölt nick 2010.08.27 Creative Commons License 12676
Helló,
Tisztelettel köszönöm a fáradozásodat, az imént rájöttem. a megoldásra, ami nem az excelből ered, hanem a pivottáblába sql-en keresztül érkező adatokból.
t-sql-es CONVERT függvényben CHAR(10) konvertálást használtam INT numerikus helyett - és ezt az excel pivottáblája szövegnek is látja (az exceles formátumtól függetlenül) Viszont a pivot táblás csoportosításnak numerikus adatra van szüksége és ehhez kellet az INT konvertálás sql-ben
Előzmény: SQLkerdes (12673)
SQLkerdes 2010.08.27 Creative Commons License 12675
Még mindíg angol nyelvű, de már xl2003:

klikk ide
SQLkerdes 2010.08.27 Creative Commons License 12674
Ez ugyan 2007-es és angol nyelvű, de kis adaptációs készséggel 2003-ban is megtalálod ugyanezeket.

Pivot groupping video
SQLkerdes 2010.08.27 Creative Commons License 12673
Milyen exceled van? 2003 vs. 2007 vs. 2010
Előzmény: Törölt nick (12672)
Törölt nick 2010.08.27 Creative Commons License 12672
Sziasztok,
valaki előtt ismert ennek a megoldása:



http://office.microsoft.com/hu-hu/excel-help/tetelek-csoportositasa-kimutatas-vagy-kimutatasdiagram-mezojeben-HP005200511.aspx

A lényeg:
Az végén ezt írja:

"Numerikus tételek, dátumok és időpontok csoportosítása bizonyos típusú forrásadatoknál nem lehetséges."

pivot tábla adatait szeretném csoportosítani, de fenti hiányos online help nem igazán ad megoldást.
Redlac 2010.08.27 Creative Commons License 12671
Hö, elnéztem...

Azt gondoltam, hogy az előtte lévővel nézi az egyezést, abban meg nem volt egyezés.

Ez így akkor remek :-). Köszönöm a segítségedet!

Mivel a táblázat egész hónapra készül, így az egész oszlopra teszek egy szummát, aztán akkor látni fogom az egész havi együtt futást.

Még egyszer köszi!
Előzmény: Jimmy the Hand (12670)
Jimmy the Hand 2010.08.27 Creative Commons License 12670
A 2-es és 3-as autó futási ideje közötti átfedés éppen 4,75 óra. Mi itt a probléma?
Előzmény: Redlac (12669)
Redlac 2010.08.27 Creative Commons License 12669
A mellékelt képen lévő táblázat utolsó oszlopába próbáltam ráhúzni az általad megadott képletet.
Az első sor utolsó cellájába ezt írtam, majd lehúztam a 3 sort.

=HA(ÉS(B10=B11;G10>E11);(MIN(G10:G11)-E11)*24;0)

Ezt kaptam :-(

1

A feladatot pontosítva:
- nem lesz olyan, hogy 2-nél több jármű fut együtt
- éjfélkor lezárjuk a napot, és ha folytatódik, akkor újra kezdjük (új beírással)
Előzmény: Jimmy the Hand (12668)
Jimmy the Hand 2010.08.27 Creative Commons License 12668
Tegyük fel, hogy az oszlopaid A-tól F-ig:
dátum
helyszín
rendszám
kezd
végez
munkaidő

Az első sor fejléc, az adatok A és D oszlop (dátum, kezd) szerint sorba vannak rendezve. Ekkor G2-be képlet:
=HA(ÉS(A2=A3;E2>D3);(MIN(E2:E3)-D3)*24;0)

Ez megadja, hogy egy adott jármű az őt sorrendben követővel mennyi időt futott együtt.

A feladatleírásban nincs jól definiálva, hogy mit akarsz kezdeni az egyéb átfedéses esetekkel. Például amikor négy egymást követő jármű így néz ki:

1) --- 10 ***************************************************** 18 ---
2) ------------ 11 ************* 13-----------------------------------------------------------
3) ------------------------ 12 *********************************** 17 -----------
4) --------------------------------------------------- 14 ************ 16 ---------------------

Továbbá mi van akkor, ha a jármű futása közben változik a dátum, tehát éjfél előtt kezd, és éjfél után véget.
Előzmény: Redlac (12667)
Redlac 2010.08.27 Creative Commons License 12667
Ez nem működik :-(

A sorok végén kiad valami időt, de nem találom a logikát, hogy az mi lenne.
Azt gondolom, hogy nem is a sorok végén kellene vizsgálni, hanem az egész tömbben nézni az esetleges egyezést.

Lehet, hogy a kérdésnél nem fogalmaztam rendesen.
Ha a dátum és az időpontban is van egyezés, akkor kellene a közösen eltöltött időt számolni.
Tehát adott napon az egyik jármű 6-10-kor megy, a másik 8-11, akkor a közösen eltöltött idő 2 óra.

Hmmm...
Előzmény: Delila_1 (12598)
Delila_1 2010.08.26 Creative Commons License 12666
Köszönöm. :-)
Előzmény: Jimmy the Hand (12665)
Jimmy the Hand 2010.08.26 Creative Commons License 12665
Persze, nem azt mondtam, hogy nem fog működni, hanem azt, hogy más valószínűséggel fogja kiadni pl. a 9-es számot, mint a feladatban feltételezett algoritmus.

Legalábbis elvileg. Gyakorlatilag azonban igazad van. :)

Csináltam egy tesztet. 4 különböző módon előállítottam 60.000-60.000 véletlen karaktert, és gyakorlatilag ugyanolyan darabszámokat kaptam minden módszerrel. Még a Te képleteddel is, pedig ott a számjegy típusú végeredménynek lényegesen nagyobb valószínűséggel kellett volna kijönnie.

Ebből az következik, hogy a képleted tökéletesen alkalmas a feladat Exceles megoldására.
Előzmény: Delila_1 (12662)
Delila_1 2010.08.26 Creative Commons License 12664
Itt a kép róla.

Delila_1 2010.08.26 Creative Commons License 12663
... vagy csak lemásolom a képletet több sorba.
Előzmény: Delila_1 (12662)
Delila_1 2010.08.26 Creative Commons License 12662
Szép logikusan levezetted, miért nem jön össze, de mind a 3 feltételnek megfelelő adatokat kaptam a képletet többször leenterezve. :)
Előzmény: Jimmy the Hand (12661)
Jimmy the Hand 2010.08.26 Creative Commons License 12661
Nem jó úgy.
Itt a képlet:
=HA(RANDBETWEEN(1;3)=1;KARAKTER(RANDBETWEEN(97;122));
HA(RANDBETWEEN(1;3)=2;KARAKTER(RANDBETWEEN(65;90));
KARAKTER(RANDBETWEEN(48;57))))

Gondolj bele:
Excel Úr elkezdi a kiértékelést, eljut az első RANDBETWEEN(1;3) -hoz.
Generál egy véletlenszámot, ami történetesen 2.
Jól van, mondja, a kettő az nem 1, tehát megyünk tovább.
Eljut a második RANDBETWEEN(1;3) -hoz. Itt újra generál egy véletlenszámot.
Legyen ez a szám mondjuk 1.
A második feltétel sem teljesül, tehát a végeredmény a harmadik halmazból kerül kihúzásra, azaz egy számjegy lesz.
Pedig a RANDBETWEEN(1;3) egyszer sem adott hármas értéket!

És még vannak más problematikus kombinációk is. A lényeg, hogy ezzel a módszerrel az egyes lehetséges végeredmények előfordulási valószínűsége jelentősen eltér attól, amit a feladat leírása tartalmaz.
Előzmény: Delila_1 (12660)
Delila_1 2010.08.26 Creative Commons License 12660
Igen. A km-es Közép függvényed sehogy sem fér el rajta.

Nem jó a #11760-as hozzászólásban megadott képlet az általad javasolt módosítással? Mármint azzal, hogy az A1-ek helyére randbetween(1;3) kerüljön. Úgy szépen hozza a kis-, nagybetűket, és számokat újabb enterezésre, csak éppen az egésznek nem látom az értelmét. Miért kell 1 cellában lennie mindennek, hiszen az 1, 2, és 3 véletlen generálásának pillatnatnyi értékét így nem lehet ellenőrizni, így azt sem, hogy a végeredményként kapott érték megfelel-e a kritériumoknak.

Az utóbbi kérdés akopacsinak szól. :)
Előzmény: Jimmy the Hand (12658)
Jimmy the Hand 2010.08.26 Creative Commons License 12659
Gondoltam valami efféle trükközésre én is, de 2 problémám van vele
1) A használt karakterkód-tartomány nem összefüggő: 48-57, 65-90 és 97-122, ez viszont nem tudod beadni a SOR függvénynek.
2) Ezzel a módszerrel minden szám egyenlő eséllyel jön ki, a feladat szerint pedig nem úgy kell.
Előzmény: SQLkerdes (12657)
Jimmy the Hand 2010.08.26 Creative Commons License 12658
17 collos monitorod van?
Előzmény: Delila_1 (12650)
SQLkerdes 2010.08.26 Creative Commons License 12657
És ha valami ilyesmit próbálnánk meg:

=INDEX(CHAR(ROW(A1:A100)),INT(RANDBETWEEN(1,100)))

A 100 csak a példa kedvéért került bele, hozzá lehet igazítani a konkrét kérdéshez.

Ezt akár egy IF-be is be tudjuk rakni és akkor a kérdező által definiált range-ből szed bemeneti adatot.
Előzmény: Jimmy the Hand (12656)
Jimmy the Hand 2010.08.25 Creative Commons License 12656
Na ez már majdnem jó.

=KÖZÉP("aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrssssstttttuuuuuvvvvvwwwwwxxxxxyyyyyzzzzz" & "AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKLLLLLMMMMMNNNNNOOOOOPPPPPQQQQQRRRRRSSSSSTTTTTUUUUUVVVVVWWWWWXXXXXYYYYYZZZZZ" & "0000000000000111111111111122222222222223333333333333444444444444455555555555556666666666666777777777777788888888888889999999999999";RANDBETWEEN(1;390);1)

Ez pedig már jó lesz.
Előzmény: Jimmy the Hand (12655)
Jimmy the Hand 2010.08.25 Creative Commons License 12655
Viszont elfogadja, ha részekre bontom. Szóval


=KÖZÉP("aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrssssstttttuuuuuvvvvvwwwwwxxxxxyyyyyzzzzz" & "AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKLLLLLMMMMMNNNNNOOOOOPPPPPQQQQQRRRRRSSSSSTTTTTUUUUUVVVVVWWWWWXXXXXYYYYYZZZZZ" & "0000000000000111111111111122222222222223333333333333444444444444455555555555556666666666666777777777777788888888888889999999999999";RANDBETWEEN(1;309);1)

(Kíváncsi vagyok, a fórummotor mit hagy meg belőle...)
Előzmény: Jimmy the Hand (12654)
Jimmy the Hand 2010.08.25 Creative Commons License 12654
Hoppá. Nem fogad el ilyen hosszú paramétert. Szívás.
Előzmény: Jimmy the Hand (12653)
Jimmy the Hand 2010.08.25 Creative Commons License 12653
Elvileg az A1 helyére be lehetne helyettesíteni a RANDBETWEEN(1;3) képletet, de azzal az a gond, hogy az minden HA vizsgálatnál új véletlenszámot generál, és így félreviszi az eredményt.

Itt tehát arról van szó, hogy három halmaz közül választok 1/3 valószínűséggel, majd az adott halmazon belül 1/26, 1/26 illetve 1/10 eséllyel egy elemet.

Másképp közelíteném meg a dolgot. (Mivel csak a végeredményt látjuk, talán mindegy, hogy jön ki, csak annyi a feltétel, hogy ugyanaz jöjjön ki. Ugye?)
Ha a 10 elemű halmaz mindegyik eleméből veszek 26-26 db-ot, valamint a 26 eleműek minden eleméből veszek 10-10 db-ot, és ezeket összeöntöm egy halmazba, akkor ebből a "szuperhalmazból" tetszőleges elemet ugyanolyan valószínűséggel húzok ki, mint az eredeti procedúra szerint.
Mivel minden darabszáma páros, le is oszthatom kettővel az egészet (tehát ekkor betűkből 5-5, számokból 13-13 db van).

Ezt így viszonylag egyszerű képletesíteni, de nagyon csúnya lesz szegény:

=KÖZÉP("aaaaabbbbbcccccddddd[...]yyyyyzzzzzAAAAABBBBB[...]YYYYYZZZZZ00000000000001111111111111[...]9999999999999";RANDBETWEEN(1;390);1)

A KÖZÉP függvény első paramétere 390 karakterből áll, de ez itt nem férne ki, ezért [...] jelekkel rövidítettem. Ezeken a pontokon a képlet értelemszerűen folytatódik.
Előzmény: akopacsi (12652)
akopacsi 2010.08.25 Creative Commons License 12652

Az lenne a feladat, hogy egészet egy cellában végezze el. Vagyis ne hivatkozzon pl. az A1-re. Az IF-ek egymásba ágyazásával és a szám->karakter átalakítással nincs gondom. Arra gondolnék, hogy esetleg az alábbihoz hasonló alakban megadható lenne-e?

 

(a véletlen karakter generálást szöveggel helyettesítem, hogy áttekinthetőbb legyen)

 

IF (R=1;vmi kisbetű;HA(R=2;vmi nagybetű;vmi szám)) WHERE R=RANDBETWEEN(1;3)

Jimmy the Hand 2010.08.25 Creative Commons License 12651
Úgy is meg tudod csinálni, ha nincs A1?
(Vagyis cellán belül generálod a véletlen számot, és ott helyben ki is értékeled.)
Szerintem elég húzós dolog képlettel...
Előzmény: Delila_1 (12650)
Delila_1 2010.08.25 Creative Commons License 12650
Nem fért ki, újra beteszem a képletet.

=HA(A1=1;KARAKTER(RANDBETWEEN(97;122));HA(A1=2;
KARAKTER(RANDBETWEEN(65;90));KARAKTER(RANDBETWEEN(48;57))))

Talán így...
Delila_1 2010.08.25 Creative Commons License 12649
=HA(A1=1;KARAKTER(RANDBETWEEN(97;122));HA(A1=2;KARAKTER(RANDBETWEEN(65;90));KARAKTER(RANDBETWEEN(48;57))))

Ha nincs RANDBETWEEN függvényed, az Eszközök/Bővítménykezelőben kapcsold be az Analysis ToolPak nevű bővítményt.
Előzmény: akopacsi (12647)
Jimmy the Hand 2010.08.25 Creative Commons License 12648
Az 1 és 3 közötti véletlen szám egy másik cellában van? Vagy az egészet 1 cellába kellene belezsúfolni?
Előzmény: akopacsi (12647)
akopacsi 2010.08.25 Creative Commons License 12647

Megoldható szerintetek egyetlen cellán belül a következő probléma? Egy 1 és 3 közötti véletlen szám alapján a cella értéke legyen...

ha a szám 1, akkor egy véletlenszerűen választott kis betű

ha a szám 2, akkor egy véletlenszerűen választott nagy betű

ha a szám 3, akkor egy véletlenszerűen választott szám 0 és 9 között.

 

 

dvorcsakl 2010.08.25 Creative Commons License 12646
most vegigmentem mind a 6 lepesen, es a vegen mentettem, de ugyanaz. na majd bongeszem a helpet, bar abban megtalalni valamit...
Előzmény: SQLkerdes (12643)
SQLkerdes 2010.08.25 Creative Commons License 12645
Az excel a dátumokat és az időt is számként kezeli, de dátumként vagy időként mutatja meg.

A dátumot jelentő szám nem más, mint az, hogy az adott dátum, időpont hány nap "távolságra" van egy fix, hipotetikus dátumtól (asszem 1900 jan 1.-től).

Szóval 1900 január 2-t az Excel igazából 1-nek kezeli, de 1900/01/02-ként jelzi ki.

Innen egyszerű, az idő nem más, mint egy nap elosztva (ha jól emlékszem) tizedmásodpercekig.

Mivel te órákat szerettél volna látni, a maradékot pedig tizedesnek és órából 24 van egy napban, nem kellett mást tenni, mint az időt reprezentáló (napban kifejezett) számot 24-el megszorozni.
Előzmény: atro (12644)
atro 2010.08.25 Creative Commons License 12644
KÖSZÖNÖM, MŰKÖDIK! :-)
Azonban kérlek, elmondanád röviden, hogy miért is kellett a végén az összeget megszorozni 24-gyel? (Csak hogy értsem is mit csináltam, nem úgy mint valami robot).

Órákat adok össze, hogy a kollégák havi ledolgozott óráit könnyebb legyen kiszámolni és leadni hónap végén a bérszámfejtőknek, u.is nálunk napi heti 5*8 óra a munkaidő, hanem hétfőtől csütörtökig 8 óra 35 perces és pénteken 5 óra 40 perces a munkaidő (vagyis pénteken hamarabb hazamehetünk, de ehhez előtte többet kell dolgozni). Egyszerű, de hasznos táblázat.

Előzmény: SQLkerdes (12642)
SQLkerdes 2010.08.25 Creative Commons License 12643
Igazából ez alapból így van...
Nézd meg a word help-jét, hogy minden lépést végigcsinálsz-e a körlevél folyamatból. Különös tekintettel a mentés-részre.
Előzmény: dvorcsakl (12640)
SQLkerdes 2010.08.25 Creative Commons License 12642
A kijelezni kívánt időtartam gondolom valami számolás eredménye.
Ennek a számolásnak az eredményét szorozd meg 24-el és (ha kell) állítsd át számformátumos kijelzésre (Ctrl+1, számok/number).
Előzmény: atro (12641)
atro 2010.08.25 Creative Commons License 12641
Sziasztok,

Abban kérném a segítségeteket, hogy hogyan lehetne az excel-lel kijeleztetni úgy az összes órák számát, hogy pld. NE így írja ki az összeadások után: 131:30:00, hanem így: 131,5 (vagyis a perceket is órában, tizedestört értékben jelezze ki)! Ezt hogyan lehetséges megoldani?
Előre is köszönöm a segítséget!
dvorcsakl 2010.08.25 Creative Commons License 12640
Urak!

Csak felig excel kerdes: ha csinalok wordben egy korlevelet, amihez excel-bol szedem az adatokat, akkor hogyan tudom megcsinalni, hogy a word megjegyezze az adatforrast, s ne kelljen minden egyes megnyitaskor betallozni neki az excel fajlt?

A word es az excel fajl mindig egy konyvtarban van (sot meg a nevuk is mindig ugyanaz), viszon hulye ceges "szabalyok" miatt nem a dokumentumok konyvtarban, hanem egy gyokerszerkezetben, ami neha 4-5 szintes. SZoval eleg sokat kell menetelnem tallozas kozben, es ezt szeretnem meguszni.

Koszonom
Jimmy the Hand 2010.08.24 Creative Commons License 12639
Ja, a félreértések elkerülése végett: ez a BASIC nem az a BASIC, mint amit az Excel használ. Szóval csak abban tévedtem hogy azt hittem, java, az viszont biztos, hogy az Excel makrók nem futnak OO alatt. (Egyelőre.)
Előzmény: Jimmy the Hand (12638)
Jimmy the Hand 2010.08.24 Creative Commons License 12638
Végül is tévedtem, az OpenOffice is BASIC nyelvet használ makrókra.
Sajnos nem értek hozzá, ezért csak egy nagyon kezdetleges makrót tudtam összeütni. Próbáld ki. A "Sheet1" helyére írd be a munkalapod nevét (idézőjelek közé).

Sub nullazas

Dim myDoc As Object
Dim mySheet As Object
Dim myRange(30) As String
Dim i As integer
Dim myCell As Object

myRange(0) = "B5"
myRange(1) = "B6"
myRange(2) = "B7"
myRange(3) = "B11"
myRange(4) = "B12"
myRange(5) = "B13"
myRange(6) = "B16"
myRange(7) = "B17"
myRange(8) = "B18"
myRange(9) = "B21"
myRange(10) = "B22"
myRange(11) = "B23"
myRange(12) = "B26"
myRange(13) = "B27"
myRange(14) = "B28"
myRange(15) = "B31"
myRange(16) = "B32"
myRange(17) = "B34"
myRange(18) = "B35"
myRange(19) = "B36"

myDoc = ThisComponent
mySheet = myDoc.Sheets.getByName("Sheet1")

for i=0 to 19
myCell = mySheet.getCellRangeByName(myRange(i))
myCell.Value =0
next
end sub
Előzmény: blues69 (12633)
blues69 2010.08.24 Creative Commons License 12637
rendben, nagyon köszönöm
sajnos balfasz módon azt hittem office office ua.
sorry
Jimmy the Hand 2010.08.24 Creative Commons License 12636
"igen, openoffice-ban vagyok..."

Ez alapvető információ, ezzel kellett volna kezdened.
Openoffice-ban semmilyen Excel makró nem fog működni, mivel ez Visula Basic, az meg (ha jól tudom) java. A kompatibilitás csak munkalap szinten van meg, ott sem 100%-os.
De megpróbálhatod, amit a 11746-ben javasoltam, az lehet, hogy OO-ban is működik.
Bár a menük hierarchiája biztosan más, szóval lehet, hogy keresni kell a megfelelő parancsokat. A súgó segíthet.
Előzmény: blues69 (12635)
blues69 2010.08.24 Creative Commons License 12635
igen, openoffice-ban vagyok...
különben ezt sem értem... miért nem egyforma az összes office macro nyelve?
Jimmy the Hand 2010.08.24 Creative Commons License 12634
Mi ez, OpenOffice? Egy Excel makró nem így néz ki...
Előzmény: blues69 (12633)
blues69 2010.08.24 Creative Commons License 12633
ez a macro lefut szépen de csak akkor ha a kellő helyen állok a curzorral
ez baromság!
én úgy szeretném hogy működjön, hogy ha bárhol áll a cursor akkor is állítsa 0 értékre a cellák tartalmát

ha a macro gombhoz van rendelve akkor nem fut le, az miért lehet?

továbbá szerintem tele van mindenféle felesleges dologgal a kód, bár nem értek a dologhoz...

meg néznéd?

REM ***** BASIC *****

Sub Main

End Sub


sub zero
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "StringName"
args1(0).Value = "0"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "StringName"
args3(0).Value = "0"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "By"
args4(0).Value = 1
args4(1).Name = "Sel"
args4(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "StringName"
args5(0).Value = "0"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args5())

rem ----------------------------------------------------------------------
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "By"
args6(0).Value = 1
args6(1).Name = "Sel"
args6(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6())


end sub

Jimmy the Hand 2010.08.24 Creative Commons License 12632
Amennyiben fix cellákkal dolgozol, és kód nélküli megoldást szeretnél, így pl lehetséges:

1) Jelöld ki az összes kérdéses cellát. Nem összefüggő tartományok kijelöléséhez használd a Ctrl gombot.
2) Beszúrás menü -> Név -> Név megadása. Itt adj meg a kijelölt tartománynak egy tetszőleges nevet. Pl "pezsgőtabletta"

Ezután, ha törölni akarod a cellák tartalmát, annyit kell tenned, hogy az A oszlop fölötti lenyíló menüből a "pezsgőtabletta" nevet kiválasztod, és megnyomod a Delete gombot.

Ha törlés helyett nullákat akarsz, akkor a "pezsgőtabletta" tartomány kiválasztása után írj 0-t majd Ctrl+Enter.
Előzmény: blues69 (12629)
Törölt nick 2010.08.24 Creative Commons License 12631
Vagy ha tartani akarod a B5:B7-et, akkor Column, helyett Range
Előzmény: blues69 (12629)
Törölt nick 2010.08.24 Creative Commons License 12630
hová másoltad be a scriptet?
javítsd B:B-re

vagy írd próbáld azt is hogy beírod elé h (A Sub...() utáni sorba)
On Error Resume Next
Előzmény: blues69 (12629)
blues69 2010.08.24 Creative Commons License 12629
Sajnos nem megy, ezt dobja a program:
"Aleljárás vagy függvényeljárás nincsen definiálva."

Amit változtattam rajta az a A:A helyett B5:B7.
Csak a B oszlopban vannak a cellák az alábbi tagolásban.
B5-B7
B11-B13
B16-B18
B21-B23
B26-B28
B31-B32
B34-B36

összesen 20 db
blues69 2010.08.24 Creative Commons License 12628
bármilyen megoldás érdekel...

a lényeg hogy a 15 cellában található értékek egy gomb nyomásra vagy macro futtatás hatására vegye fel a 0 értéket...
ha felülírjuk az is jó, ha vhogy nullázuk nekem az is jó...

kipróbálom a macro-dat amit küldtél...
hátha működik...
Ságnes 2010.08.24 Creative Commons License 12627
Sikerült!!! Köszönöm!
Ági
Előzmény: Jimmy the Hand (12626)
Jimmy the Hand 2010.08.24 Creative Commons License 12626
Ja, azt elfelejtettem leírni az előbb, hogy mielőtt a Feltételes Formázás menüpontot kiválasztod, jelöld ki az A oszlopot.
Ha a dátumok máshol vannak, a képleteket annak megfelelően kell módosítani.
Előzmény: Jimmy the Hand (12625)
Jimmy the Hand 2010.08.24 Creative Commons License 12625
Formátum menü -> Feltételes formázás

Ha például az A oszlopban vannak a dátumok, akkor a mellékelt ábra szerint állítsd be.
Itt 30 napot vettem egy hónapnak, mert így lényegesen egyszerűbb megoldani, mintha ténylegesen hónapokkal kellene számolni.

Előzmény: Ságnes (12624)
Ságnes 2010.08.24 Creative Commons License 12624
Sziasztok!
A következő lenne a problémám:
Szeretnek egy olyan nyilvántartást, ahol tudom figyelni engedélyek lejárati dátumát.
Úgy gondoltam, hogy ha 3 hónap van még hátra az engedélyből zölddel, ha 2 sárgával, ha 1 pirossal legyen megjelölve. Meg lehet ezt valahogy oldani excelben?
Ha igen, akkor milyen módon? Vagy a háttér színeződne be, vagy a dátumok. Bármelyik megoldás jó lenne.
Előre is köszi a segítséget.
Ági
Törölt nick 2010.08.23 Creative Commons License 12623
ja meg azt sem értem, hogy mitől lenne egyszerűbb a "B" oszlopba (az "A" mellé) beírogatni nullákat, mint kinullázgatni az "A" oszlop celláit. Vgay minek kell kinullázgatni, miért nem lehet őket felülírni azt kész.

Nyilván meg van az oka, csak ugye nem látok a fejedbe
Előzmény: blues69 (12620)
Törölt nick 2010.08.23 Creative Commons License 12622
ha jól értelek: nem lehet "kiementi" cellát megadni egy beépített függvénynek.

az a "15-20" cella egybefüggő, meghatározható a (maximális) cellatartománya?
csak számok vannak benne?
Gondolom a1:a20 tartományt kell "nullázgatni", hát

próbáld meg ezt a makrót: (tedd rá egy gombra, amit az űrlapok eszköztárból húzol fel a munkalapra)

amúgy ez is egy simán rögzített makró, csak a felesleges select-eket kiszedtem belőle


Sub nullbeir()
Columns("A:A").SpecialCells(xlCellTypeConstants, 23).FormulaR1C1 = "0"
End Sub
Előzmény: blues69 (12620)
Delila_1 2010.08.23 Creative Commons License 12621
A helyedben Word-ben csinálnám meg űrlapmezőkkel, ott van olyan opció, hogy csak ezeket nyomtassa.
Előzmény: takrisz (12616)
blues69 2010.08.23 Creative Commons License 12620
Gyakorlatilag mezők nullázásáról volna szó.
Kiszámolok egy munkát a táblázattal, mentem, majd másnap újra számolok egy másikat de lusta vagyok 15-20 mezőt egyesével kitörölni.

Megpróbáltam macro felvétellel megoldani a dolgot de használhatatlan eredményt kaptam, viszont programozni meg nem tudok.

Valaki valami script-et javasolt de ezt szintén nem tudom leprogramozni.

Az biztos hogy a 15-20 cella az beviteli mező, ergo oda csak számokat lehet beírni.
Én egy IF függvénnyel próbálkoztam, de nem tudtam megadni a nullázandó cellákat mint kimeneti cellát.

Remélem érthető voltam.
Köszi.
Törölt nick 2010.08.23 Creative Commons License 12619
ez így kör-körös
Egy cellában vagy képlet van, vagy konstans.
munkalap eseményre induló makróval megoldható.

Bár gyanítom, felesleges, csak átfogóbban kéne látni az egész táblázatot - vagyis annak célját.


Előzmény: blues69 (12618)
blues69 2010.08.23 Creative Commons License 12618
Ha vki tud segítsen.

Az A1-es cellába beírok egy számot pl. 100, de ha a B1-es cellába azt írom hogy 0 akkor az A1-es cella felveszi a 0 értéket.
Mondhatnám úgy is, hogy egyik cella nullázza a másik cella értékét.

Előre is thx.
Jimmy the Hand 2010.08.23 Creative Commons License 12617
Ne haragudj, szerintem a probléma leírása nem egyértelmű.

A cellarácsok nyomtatását egyszerűen ki lehet kapcsolni. Lásd: Fájl -> Oldalbeállítás
A "többi sallang" micsoda?
Ha az adatok egy elkülöníthető területen vannak, akkor a kijelölt terület nyomtatása a barátod.


Előzmény: takrisz (12616)
takrisz 2010.08.23 Creative Commons License 12616
Üdv Mindenkinek!
Nekem az alábbi problémám lenne megoldásra várva:
- adott sok-sok (3lapból álló indigós) munkalap.
- a (a papír alapú, előbb említett) munkalapokon vannak részek, amik fixek, pl.: munkalap címe, vagy épp dátum, vagy 1-2 rublika megnevezése.
- hogyan csinálok olyan XLS-t excelben, amely a következőket tudja:
>>látom a teljes munkalapot úgy, ahogyan a papíron is szerepel.
>>csak az adatokat nyomtassa ki, a többi sallangot ne pl.: cella-szegélyek..
??Vki tud megoldást rá?
probci 2010.08.22 Creative Commons License 12615
Köszönöm mindenkinek, nagyon sokat segítettetek!
Előzmény: Delila_1 (12614)
Delila_1 2010.08.22 Creative Commons License 12614
Igen, ez a megoldás is jó. Beírom a magyar megfelelőjét.

=SZORZATÖSSZEG(--(KÖZÉP(A1;SOR(A1:INDIREKT("A"&HOSSZ(A1)));1)="@"))
Előzmény: SQLkerdes (12612)