Keresés

Részletes keresés

Fferi50 Creative Commons License 2013.10.23 0 0 22733

Szia!

 

Próbáld ki ezt a megoldást:

 

   ujveg = Range("X1:Y120").Find(What:=y, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Value
   For Each cl In Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")).Cells

      cl.Formula = "'" & cl.Value

   Next
   Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")).Replace What:=regiveg, Replacement:=ujveg, LookAt:=xlPart

 

A ' karakter a szövegjelölő.

 

A piros sorokat illeszd be erre a helyre. A Dim sort egészítsd ki ezzel: , cl as Range

 

Remélem így már nem lesz gond. (Igaz, jelezni fogja, hogy a cellában szövegként tárolt szám van, tehát számoláskor nem árt vigyázni vele.)

 

Üdv.

Előzmény: forzajuve (22732)
forzajuve Creative Commons License 2013.10.23 0 0 22732

Szia!

 

Emlékszel még a számot kódra cserélős makródra? Most előjött egy hiba, sajnos a kódok között van, E1, E2, stb is, ezt pedig az excel ugye tudományos formátumra alakítja, akkor is ha az összes cellát szövegre állítom. Nem lehetne az alábbi makróba beépíteni, hogy ezek a cellák (Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")) mindenképpen szöveg formátumúak legyenek? Vagy az egyéni formátumnál vmi kombináció?

 

köszi

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim x As Double, y As Double, regiveg As String, ujveg As String

If Not Intersect(Range("B2"), Target) Is Nothing Then

   Application.EnableEvents = False

   y = Target.Value

   Application.Undo

   x = Target.Value

   Target.Value = y

   regiveg = Range("X1:Y120").Find(What:=x, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Value

   ujveg = Range("X1:Y120").Find(What:=y, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1).Value

   Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")).Replace What:=regiveg, Replacement:=ujveg, LookAt:=xlPart

   Application.EnableEvents = True

End If

 

End Sub

Előzmény: Fferi50 (22730)
tbando Creative Commons License 2013.10.22 0 0 22731

Kösz. Megint tanultam valami fontosat. (Bár úgy rémlik, hogy erre eccer már rájöttem....).

Előzmény: Fferi50 (22729)
Fferi50 Creative Commons License 2013.10.22 0 0 22730

Szia!

 

És persze már megint egy kicsit pongyola voltam:

A feltétel cellába idézőjelek nélkül kell beírni a kérdéses szöveget.

(Az = vel kezdődő képletbe viszont idézőjelekkel!)

 

Üdv.

Előzmény: Fferi50 (22729)
Fferi50 Creative Commons License 2013.10.22 0 0 22729

Szia!

 

A Szumha függvénynél csak a feltétel kell: SZUMHA(tartomány; feltételek; [összegtartomány])

pl.A1 cella: =SZUMHA(B:B;"<>*szó*";C:C) minden olyan számot összead a C oszlopban, ahol a B oszlop megfelelő sorában nem szerepel a szó semmilyen összetételben sem (azaz kiszűri ha lasszó és azt is ha szófaj van benne és magát az önálló szót is. Erre a csillag karakter miatt képes. Ha azt akarod, hogy csak a szó -val kezdődőekek ne vegye figyelembe, akkor az első csillagot elhagyod (így nyilván a lasszó összegződik, de az önálló szó nem).

 

A szöveg.keres tartományon szerintem nem is működik...

 

Üdv.

Előzmény: tbando (22728)
tbando Creative Commons License 2013.10.22 0 0 22728

Nem kéne ebbe még egy egy szöveg.keres-t is beiktatni?

Előzmény: Fferi50 (22727)
Fferi50 Creative Commons License 2013.10.22 0 0 22727

Szia!

 

A feltétel cellába írd be: "<>*szó*" (a szumha esetében)

 

Üdv.

Előzmény: Onyxxx (22726)
Onyxxx Creative Commons License 2013.10.22 0 0 22726

Sziasztok! Meg lehet azt oldani Excel függvényben, hogy feltétel megadásnál, mondjuk SZUMHA-nál, minden olyan értékeket adjon össze aminél egy bizonyos szó NEM szerepel?

Köszönöm szépen

djmorphy Creative Commons License 2013.10.22 0 0 22725

Okés ma/holnap küldeni fogok egyet.

 

Az "logfile"-nál rájöttem, hogy csak azokat menti ki amit statikusan én írok be valamelyik cellába. Ami függvénnyel számoltatok vagy beírom hogy 1 2 3 és lehúzom hogy a többit magától számolja runtime error 13 dob :( 

 

Előzmény: Fferi50 (22724)
Fferi50 Creative Commons License 2013.10.22 0 0 22724

Szia!

 

A dátumos makróval kapcsolatban küldj egy példát priviben, mert ez mindkettőnknél működött.

 

Üdv.

Előzmény: djmorphy (22723)
djmorphy Creative Commons License 2013.10.22 0 0 22723

Köszi Szépen!

 

Valamiért nem akar működni. :(

 

Egyenlőre megoldottam úgy, hogy ctrl+F és a "-"-t cserélje ki "."-ra :D

 

Másik kérdésem miért van az, hogy ez a makrót sikerült egyszer ráerőszakolnom az excelre és azóta sem megy :(

Tökre megörültem, hogy értettem is mit kell csinálni és hogyan és sikerült is. De egyszer elmentette az értéket hogy miről mire ment aztán azóta sem működik. Úgy sem, hogy csináltam egy tök új excelt :(

 

http://stackoverflow.com/questions/10403517/how-to-make-an-external-log-using-excel-vba

 

 

Előzmény: Fferi50 (22696)
tbando Creative Commons License 2013.10.22 0 0 22722

A 22692-ben még csak addig jutottam, hogy az excel nem minden legitim dátumformát ismer fel stringként. Azóta utána néztem, hogy milyen dátumnak látja a magyar excel a stringeket. Az alábbi táblázatban foglaltam össze a lehetséges eseteket. Az összes többi stringnél a dátumfüggvények hibaüzenetet adnak.

 

 

 

Előzmény: tbando (22692)
Fferi50 Creative Commons License 2013.10.21 0 0 22721

Szia!

 

Nem kell törölni a régi neveket! A makro a meglevő névhez hozzárendeli az új tartományt:

Set eleje = Columns("A:A").Find(what:="sakk", LookIn:=xlValues, lookat:=xlWhole)
ActiveWorkbook.Names.Add Name:="sakk", RefersTo:="=" & Range(eleje, eleje.Offset(WorksheetFunction.CountIf(Columns("A:A"), "sakk") - 1, 6)).Address

Akkor is, ha már létezik a sakk nevű tartomány!!!

 

Egy icipici változás van a makróban, az offsetnél van egy -1-es, mivel maga az induló cella offset indexe 0,0. Így ha 5 cellát talál, akkor offset(4,0) pl. az ötödik sor első cellája.

 

A fenti makrórészt a sorbarendezés után betéve minden képleted működik a másik munkalapon.

 

Üdv.

Előzmény: egerkiraly68 (22720)
egerkiraly68 Creative Commons License 2013.10.21 0 0 22720

Sziasztok! Köszönöm Delilának a linket, máris letöltöttem a könyvet. Köszi Fferi és Jimmy a tippeket, szerintem a kettő kombinációja lesz jó.

 

Csinálok makrórgözítéssel egy olyat, hogy a korábbi elnevezéseket törli az Excel a két termékre, majd a Formulas, Define Name alatt beírja a makró a képletet először az egyik termékre, majd átírva a másik termékre a képletet, beírja másodszorra is a képletet az Excel elnevező ablakba.

Mindenképp úgy szeretném megcsinálni az automatizálást, hogy egy gombnyomással törlődjön a régi elnevezés, majd utána legyen sorba rendezve minden, majd jön a Define Name egyszer az első termékre, majd ugyanez a másik termékre.

 

Hogy lehet ide feltölteni Excel fájlt? Nyilván egy sematikus táblát tennék csak fel, nem az igazi munkafájlt.

Törölt nick Creative Commons License 2013.10.21 0 0 22719

Szerintem azért szeretné makróval, mert nem gondolta volna, hogy másképp is lehet. Nem beszélve arról, hogy a makrót minden egyes alkalommal futtatni kell, amikor új adatok erülnek a munkalapra. A képletes megoldás pedig automatikusan követi a változásokat...

Előzmény: Fferi50 (22718)
Fferi50 Creative Commons License 2013.10.21 0 0 22718

Szia!

 

Ha már macróval szeretné én így csinálnám:

 

set eleje = columns("B:B").find(what:="sakk",lookin:=xlvalues,lookat:=xlwhole)

activeworkbook.names.add name:="sakk",refersto:="=" & range(eleje, eleje.offset(worksheetfunction.countif(columns("B:B"),"sakk"),6)).address

 

Az address alapból abszolut címet ad meg.

Így minden munkalapról eléri, mert munkafüzet szintű a név.

 

 

Üdv.

 

 

Előzmény: Törölt nick (22716)
Delila10 Creative Commons License 2013.10.21 0 0 22717
Előzmény: egerkiraly68 (22715)
Törölt nick Creative Commons License 2013.10.21 0 0 22716

A "Sakk" nevű tartományt ezzel a képlettel kellene definiálni:

 

=ELTOLÁS(Munka1!$B$1;HOL.VAN("sakk";Munka1!$B:$B;0)-1;0;DARABTELI(Munka1!$B:$B;"sakk");6)

 

Excel 2010-ben működik.

Valahol 2003 és 2010 között az OFSZET függvényt átnevezték ELTOLÁS-ra. 2003-ban biztosan OFSZET kell az ELTOLÁS helyett, 2007-ben nem tudom, ki kell próbálni.

Előzmény: egerkiraly68 (22715)
egerkiraly68 Creative Commons License 2013.10.21 0 0 22715

Sziasztok! Pár hete láttam itt valahol egy linket, ami Kovalcsik Géza makró könyvére mutat, meg tudja valaki adni a pontos hsz. számot? Vagy ha újra belinkelné az illető ide, nagyon jó lenne. Köszi.

 

Más. Hogyan tudom megcsinálni azt, hogy amikor el akarok nevezni egy tartományt Név definiálással, tehát nem létrehozással, akkor az Excel dinamikusan érzékelje, hogy hol kezdődik és hol végződik az a tartomány?

 

A struktúra a következő: van 6 oszlop, ahol különböző termékfajták vannak. Az egy csoportba tartozókat, melyeknek azonos a neve, ezeket szeretném definiáltatni a makróval. 

Az első oszlop tartalmazza a neveket, összesen 5 fajta termékét.

 

Ebből az 5 termékből csak 2 terméket, a Sakkot és a Labdát kell definiálni, a többi nem érdekes.

 

Ahogy Excelben csinálom: átmásoltam egy külső adatbázisból a sheet tartalmát, tehát megvannak az aktuális adataim.

Utána sorba rendezem a terméknév szerint a táblázatot, majd megnézem, hogy kezdődik a Sakk nevű termékek sora, és ott kijelölöm a kezdő cellától az utolsó őt tartalmazó celláig a tartományt, belevéve a mellette lévő másik 5 oszlopot, benne a költségadatokkal, és ugyanezt megcsinálom a másik termékre is, melynek neve Labda.

 

A Sakk és a Labda tartományelnevezéseket aztán használja egy másik munkalap a vlookup-hoz, mert onnan veszi át a vonatkozó költségadatokat.

 

Ami a makró részét illeti, logikailag úgy gondolnám, hogy sorba kell először rendezi a táblázatot terméknév szerint, majd csinálni egy utasítást, hogy a makró keresse meg a B oszlopban azt a sort, mely először tartalmazza a Sakk nevet, ezt jelölje ki, majd menjen le addig, amíg eltérő nevet nem talál ugyanabban az oszlopban, majd kijelölve a köztes területet és a mellette lévő további öt sort definiálja Sakk néven a tartományt.

Majd ugyanezt csinálja meg a Labdával is, Labda névre elnevezve.

Éppen csak a hogyant nem tudom erre az utasításra. Ezt rögzítéssel nem lehet megcsinálni, csak if then-nel vagy Case ciklussal gondolom, de a szintaktikát nem tudom.

 

A múltkori segítséget még egyszer köszi mindenkinek - Fferi, Jimmy, Tbando , a makró remekül működik azóta is :-)

Delila10 Creative Commons License 2013.10.19 0 0 22714

Magyarul összefűzés. Van ilyen nevű függvény is, de az & jellel praktikusabb.

Előzmény: forzajuve (22713)
forzajuve Creative Commons License 2013.10.19 0 0 22713

Köszi! Bevallom még a szót sem hallottam:)

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

=A1&B1

(Ez nem összegzés, ez konkatenáció.)

Előzmény: forzajuve (22711)
forzajuve Creative Commons License 2013.10.19 0 0 22711

Sziasztok!

Tud az excel olyat, hogy A1+B1 cellák összegzése, de az egyik mező szöveg? Pl. 1234 és ABCD, a C1-be 1234ABCD.

Ha túl bonyolult, nem fontos. köszi

NeomatiK Creative Commons License 2013.10.18 0 0 22710

Szia!

 

Így jó lett, köszi!

Előzmény: Fferi50 (22708)
szunyókálóoroszlán Creative Commons License 2013.10.18 0 0 22709

Köszönöm, ez bevállt! Mondjuk fogalmam sincs, hogyan kapcsolódott be...

Előzmény: Törölt nick (22631)
Fferi50 Creative Commons License 2013.10.18 0 0 22708

Szia!

 

Ott van az a sortörés benne, csak nem látod!

Cellaformázás -> igazítás -> szöveg elhelyezése sortöréssel több sorba.

 

Üdv.

Előzmény: NeomatiK (22707)
NeomatiK Creative Commons License 2013.10.18 0 0 22707

Sziasztok!

 

Excelben egy cellában van egy email cím a @ karakterrel. Automatikusan hivatkozást csinál belőle. De én nem szeretnék hivatkozást. Jobb egérgomb helyi menüben kiválasztom a hivatkozás eltávolítását, ezután oké lesz. De ha a cellában (F2) Alt+Enter nyomva egy új bekezdést csinálva hozzáírok valamt, akkor megint hivatkozás lesz azzal együtt, amit hozzáírtam. Megint hivatkozás eltávolítását választom. De ekkor az új bekezdés eltűnik, közvetlenül az email cím után kerül aminek külön sorban kéne lennie. És ez az ami nem jó, mert nekem új bekezdésben (vagyis az email cím alatti új sorba) kéne írnom.

Légyszi segítsetek! :)

tbando Creative Commons License 2013.10.18 0 0 22706

Pardon. Nem vettem észre, hogy a makrót kiegészítetted az else ággal.

Előzmény: Fferi50 (22705)
Fferi50 Creative Commons License 2013.10.18 0 0 22705

Szia!

 

Az If Not IsDate(cl.Value) Then sort nem szabad kikommentelni, mert akkor a már dátumként kezelt értékekkel gond lesz (ha pl. nem szövegként, hanem kapásból dátumként jeleníti meg a cellában, akkor nem lesz benne "-"!

Ezt kezeli az else ág, amely beállítja a magyar dátum formátumot és be is írja mégegyszer az értéket, mert így érvényesül csak.

 

A hónapnevek, meg a tartomány az példaként kezelendő természetesen.

 

Üdv.

 

 

Előzmény: tbando (22702)
tbando Creative Commons License 2013.10.18 0 0 22704

Rosszul írtam :((((. Az óra oszlopra még rá kell ereszteni a Gyakoriság fgv.-t vagy Darabtelivel meghatározni a gyakoriságokat.  A diagramot a gyakoriság táblázat adatai adják.

Előzmény: tbando (22703)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!