Keresés

Részletes keresés

Fferi50 Creative Commons License 2015.07.21 0 0 27446

Szia!

 

A fájlt makóbarátként mentsd légy szíves!

 

Üdv.

Előzmény: freyya (27445)
freyya Creative Commons License 2015.07.21 0 0 27445

Köszönöm! :)

Előzmény: Fferi50 (27444)
Fferi50 Creative Commons License 2015.07.21 0 0 27444

Szia!

 

Ha sok cella van, akkor egy saját függvény használ csak:

 

Function BetuSzamolo(ByRef hol As Range, ByVal mit As String) As Integer
Dim sor As Range, szoveg As String
If hol.Columns.Count > 1 Then
   For Each sor In hol.Rows
       szoveg = szoveg & Join(Application.Transpose(Application.Transpose(sor.Value)), ";")
   Next
Else
   For Each sor In hol.Cells
       szoveg = szoveg & sor.Value
   Next
End If
BetuSzamolo = Len(szoveg) - Len(Replace(szoveg, mit, ""))
End Function

 

Ezt beírhatod a munkalap kódlapjára: lapfül - jobb egérgomb - kód megjelenítése - bemásolás.

A cellában a képlet = betuszamoló(tartomány, betű idézőjelben)

 

A második hozzászólásodban az ÉRTÉK hiba szerintem csak elírás miatt lehet.

 

Üdv.

Előzmény: freyya (27442)
freyya Creative Commons License 2015.07.21 0 0 27443

Kipróbáltam, nem működik a képlet. Azt írja, hogy ÉRTÉK. 

Előzmény: Fferi50 (27440)
freyya Creative Commons License 2015.07.21 0 0 27442

Köszi szépen! És ha sok-sok celláról van szó, akkor valahogy lehet tartományt írni, vagy egyenként kell az & jellel mindegyiket kiírni? 

Előzmény: Fferi50 (27440)
Fferi50 Creative Commons License 2015.07.21 0 0 27441

Szia!

 

Ha lehet, ne képet tegyél fel, hanem egy rövid mintafájlt (légből kapott adatokkal :))

 

Üdv.

 

 

Előzmény: JButton (27436)
Fferi50 Creative Commons License 2015.07.21 0 0 27440

Szia!

 

Ha csak egy celláról van szó akkor egy másik cellában a képlet: =hossz(A2)-hossz(helyette(A2;"R";""))

Ez megmondja,hogy hány R betű van a cellában.

Ha több celláról kellene eldönteni, akkor a cellák szövegét összefűzve kell számolni: =hossz(A2 & B2 & C2)-helyette(A2 & B2 & C2;"R";""))

 

Üdv.

Előzmény: freyya (27438)
Fferi50 Creative Commons License 2015.07.21 0 0 27439

Szia!

 

Gondolom a D:import a valóságban így néz ki D:\import.  A backslasht "megeszi" a blogmotor, ezért duplázva kell beírni.

Ezen kívül a csv formátumban csak az aktív munkalapot tudja menteni, de sajnos a számformátummal - tizedespont vs vessző - probléma lehet (a területi beállítás ellenére), át kell állítani a gépet programból, hogy jó legyen kiírva a csv-be.

Application.DecimalSeparator = ","  átállítod a tizedesvesszőt

Application.UseSystemSeparators = False  ezzel kikapcsolod a rendszer beállításokat.
lemented a fájlt

Application.UseSystemSeparators = True  visszakapcsolod a rendszer beállításokat.

(Ezek egyébként a 2010-es excelben a speciális beállításoknál találhatóak  mint a rendszerbeállítások szerint jelölőnégyzet és alatta a tizedesjel és ezreselválasztó kockája).

 

A másik lehetőség, makróból kiírni direktben a fájlba. Ha az előző mesterkedés nem sikerül, akkor írd meg és segítek benne.

 

Üdv.

 

 

Előzmény: JButton (27436)
freyya Creative Commons License 2015.07.21 0 0 27438

Sziasztok! Hogyan tudom összeszámolni, hogy egy adott betű hányszor szerepel egy táblázatban? Van egy táblázatom a reggeli/ebéd/vacsora rendelésekről, ami úgy néz ki, hogy egy embernek mindig egy cellában van a rendelése. Tehát vagy R,E,V vagy E,V vagy pl. R, V stb. van egy cellában. Na most ebből nekem össze kellene adnom, hogy akkor itt összesen melyik étkezésből hány van. Milyen képlet kell ehhez?

JButton Creative Commons License 2015.07.21 0 0 27437

képeket rakok fel, de csak reggel mert nincs nálam az a gép :(

JButton Creative Commons License 2015.07.21 0 0 27436

Sziasztok,

 

van nekem egy táblázatom ami igazából szabászlistát gyűjt össze, hossz, szélesség, darab, anyag, és éltulajdonságok. Nekem ezt a listát le kell mentenem pontosvesszővel tagolt csv-be, mert ezt olvassa a táblafelosztó program.

 manuálisan csináltam eddig; kijelölöm az másolandókat, másolok, új munkafüzet megnyit, értékkel beilleszt, mentés másként, csv, biztos benne? aha, kész. És amikor a csv-t megnyitom tök jó minden érték a megfelelő cellában van, a tizedes értékek vesszővel tagoltak(cellán belül). A szabászprogram fogadja is.

 

Elég sokat gyártok egy nap és gondoltam ezt a műveletsort automatizálom egy makróval.

Össze is lapátoltam egy makrót ami jó is, mert szépen lefut meg külön extrázik is mert megrendelésszámot kell, hogy fájlnévként mentsen meg egyéb finomságok.

viszont amikor ez a szerencsétlen makró lefut elmenti az adott számmal, és megszületik a csv, és én azt megnyitom, akkor már sorokban elhelyezkedő értékeket; hossz, szél darab, mennyiség, anyag és éltulajdonságokat amiknek külön cellákban kéne lenniök, soron belül egy cellába teszi és pontosvesszővel választja el. A program amibe illeszteném nem értelmezi és csak pislog velem együtt hogy mi ez.

 

egy érdekesség amit észrevettem amikor szűkítem a makróparancsokat; ha elkészíttetem a fájlt a makróval, és az meg is jelenik az adott helyen,de nem menti el és nem zárja be, ám én még rámentek manuálisan és ; biztos menti? aha! akkor jó. De a cél az, ne kattintgassak annyit ha ezt helyettem egy makró megcsinálja, mert naggyon sokat haladnék egy nap.

 

segítene valaki?

valahol a piros szedetnél lehet a hiba( én jelöltem meg.) 

 

 

Ez a makróparancsom:

 

Sub Osszerak()
'
' Osszerak Makró
'
Sheets("mr.lap 1.").Select
Range("BS1").Select
ActiveCell.FormulaR1C1 = "=R[4]C[-48]"
Range("BS1").Select
Selection.Copy
Sheets("Gyűjtő").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("$A$1:$O$937").AutoFilter Field:=5, Criteria1:=">0", _
Operator:=xlAnd
Columns("A:I").Select
Application.CutCopyMode = False
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Selection.Cut
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
Sheets("Munka1").Select
ActiveCell.FormulaR1C1 = "megnevezés"
Range("A2").Select
Sheets("Munka2").Select
Selection.Copy
Sheets("Munka1").Select
Application.CutCopyMode = False
ChDir "D:import"
ActiveWorkbook.SaveAs Filename:="D:import" & Sheets("Munka2").Range("A1").Value & ".csv", FileFormat:=xlCSV, _
CreateBackup:=False

Application.DisplayAlerts = True
ActiveWindow.Close
Application.DisplayAlerts = False

Range("K6").Select
End Sub

Vajk Creative Commons License 2015.07.21 0 0 27435

Húú, nagyon köszönöm a segítségedet!

 

Valamit biztosan elronthattam, mert amikor elindítom a makrot, akkor a tálcán lévő excel ikon elkezd vibrálni, (tehát megnyitogatja a fileokat), de nem jelenik meg semmilyen tartalom.

Mit ronthattam el?

Az útvonalat beírtam ahogy mondtad, egy könyvtárban vannak a forrás fileok....

Előzmény: Delila10 (27430)
Fferi50 Creative Commons License 2015.07.21 0 0 27434

Szia!

 

Bocs, a B elrejtését nem vettem észre.:)

Miért kellene üreset vizsgálni döntetlennél? Nem az a feltétel, hogy egyezik a kapott-rúgott gólok száma - amire a képlet 1 "pontot" ad?

 

Üdv.

Előzmény: bl_lama (27433)
bl_lama Creative Commons License 2015.07.21 0 0 27433

Köszi Fferi50!!!

 

Egy kiegészítés, hogy a a 2. vizsgálandó azonosító a C oszlopban van (a B-te elrejtettem), ezt átírtam a képletben.

Még a döntetlennél az üres értéket kell lekezelni, de ezt már meg kell tudjam csinálni én is.

 

Nagyon köszi még egyszer!

Előzmény: Fferi50 (27432)
Fferi50 Creative Commons License 2015.07.21 0 0 27432

Szia!

 

A G oszlopot felhasználod segédoszlopnak (vagy máshol veszel fel egy segédoszlopot a tábla mögött).

G2 cella képlete: =HA(E2>F2;2;HA(E2=F2;1;0)) ezt végighúzod a G oszlopon

K2 cella képlete: =DARABHATÖBB($A$2:$A$22;$I2;$G$2:$G$22;2)+DARABHATÖBB($B$2:$B$22;$I2;$G$2:$G$22;0)

L2 cella képlete: =DARABHATÖBB($A$2:$A$22;$I2;$G$2:$G$22;1)+DARABHATÖBB($B$2:$B$22;$I2;$G$2:$G$22;1)

M2 cella képlete: =DARABHATÖBB($A$2:$A$22;$I2;$G$2:$G$22;0)+DARABHATÖBB($B$2:$B$22;$I2;$G$2:$G$22;2)

J2 cella képlete:=DARABTELI($A$2:$A$22;$I2)+DARABTELI($B$2:$B$22;I2)

N2 cella képlete: =SZUMHA($A$2:$A$22;$I2;$E$2:$E$22)+SZUMHA($B$2:$B$22;$I2;$F$2:$F$22)

O2 cella képlete:=SZUMHA($A$2:$A$22;$I2;$F$2:$F$22)+SZUMHA($B$2:$B$22;$I2;$E$2:$E$22)

 

 

Üdv.

Előzmény: bl_lama (27431)
bl_lama Creative Commons License 2015.07.21 0 0 27431

Sziasztok!

 

Keresnék egy olyan excel függvényt (vagy függvényeket), amikkel a következő problémát tudnám megoldani.

Egy táblázatban szerepelnek egy torna mérkőzései, szeretném meghatározni, hogy az egyes csapatoknak hány győzelme veresége ill. döntetlenje van. A csapat előfordulhat hazai és vendég oldalon is.

De a lényeg, hogy két feltételt kell kielégíteni. A csapat neve szerepel a hazai oldalon (A2:A22) és a hazai gól cella értéke > vendég gól cella értéke (E2>F2, ...E3>F3...), ha ez igaz, akkor 1 győzelem.

A DARABHATÖBB fv-t gondoltam jónak, de a F2:F22 tartomány soronkénti elemzését nem tudom megcsinálni. Mit kellene  és hogyan használnom?

Kösz

Delila10 Creative Commons License 2015.07.21 0 0 27430

A makrót a gyűjtő füzetbe kell bemásolnod. Füzeben Alt+F11-re megnyílik a VB szerkesztő. Bal oldalon kiválasztod a füzetedet, Insert menü, Module. Jobb oldalon kapsz egy nagy fehér területet, oda másold be a makrót. A füzetet makróbarátként kell elmentened. NE abba a könyvtárba tedd, ahol a 150 másik fájl van!

 

Írd át az útvonalat arra, ahol a sok füzeted van. Ügyelj rá, hogy az útvonal végén is legyen \.

 

Sub Osszegzes()
Dim WSIde As Worksheet, utvonal As String, FN As String, ide As Integer

Application.ScreenUpdating = False

Set WSIde = ActiveWorkbook.Sheets(1)
utvonal = "C:\Temp\" 'EZT ÍRD ÁT A SAJÁT ÚTVONALADRA!

FN = Dir(utvonal & "*.xlsx")

Do While FN <> ""
Workbooks.Open utvonal & FN
On Error Resume Next
ide = Application.Match(Sheets(1).Range("A2"), WSIde.Columns(1), 0)
If IsError(ide) Then
On Error GoTo 0
GoTo Tovabb
End If

Range("C30:AA30").Copy
WSIde.Range("C" & ide).PasteSpecial xlPasteValues

Tovabb:
ActiveWindow.Close False
FN = Dir()
Loop

Application.ScreenUpdating = True
End Sub

 

Előzmény: Vajk (27429)
Vajk Creative Commons License 2015.07.21 0 0 27429

Igen, azok az egységárak, azokkal semmi teendő nincs.

Más feladat nincs, a havi fogyást szeretném termékenként az előbb beszúrt kép szerint összegyűjteni a fielokból.

Előzmény: pimre (27427)
Vajk Creative Commons License 2015.07.21 0 0 27428

Szia, Köszi a választ !

 

Az AB2 valóban egy darab cella, de ez az AB2 cellát kellene a többi excel fileből összeszedni, ezért írtam többes számban.

A fileok egy könyvtárban vannak.

 

A file egy napi forgalom összesítő file, ahol az 5.sorban lévő oszlopok tartalmazzák a termékek neveit.

Ezek napi fogyása van a B30 as sorban lévő cellákban összesítve.A példában a "mini" nevű termékből fogyott 1 db,. "normal"-ból 8, a "super"-ből ismét 1 darab.

Az AB2 egyesített cella a napi dátumot mutatja.

A baj, hogy ezeket naponta küldik, mindig egy fileban, ezért van már kb 120-140 file

 

Ezekből a naponta küldött fileokból szeretném a napi dátum szerinti fogyást termékenként kigyűjteni valahogy így:

 

 

 

 

 

 

Előzmény: Delila10 (27422)
pimre Creative Commons License 2015.07.21 0 0 27427

Ugyanakkor a B4, C4 és D4 cellákban egységárakat látok, amelyek a B30, C30 és D30 cellákban lévő darabszámokkal összeszorozva megtalálhatók a B31, C31 és D31 cellákban.  Ezekkel semmi teendő nincs, csak a B30-as cellával?

 

Inkább pontosítani kellene cellánként megadva, hogy mit kell összegezni (nem összeszedni, ez a fogalom enyhén pontatlan az Excelben), és az összegek hova kerüljenek az összesítő táblázatban. És esetleg van-e más feladat is?

Előzmény: Vajk (27421)
Hoter Creative Commons License 2015.07.21 0 0 27426

Teljes elérési útvonal van megadva (\hely...) de ha már szerkeszteni akarom, akkor ..-el kezdődik, ha kiteszem pl. egy külső meghajtóra, akkor meg a meghajtó betűjelével helyettesíti be, ha fölé állok, és megnézem.

Előzmény: Fferi50 (27425)
Fferi50 Creative Commons License 2015.07.21 0 0 27425

Szia!

 

Bocsi, mit jelent az hogy UNC path? Ha a fájlnak teljes elérési útvonalát megadod a hivatkozásban, elvileg működnie kellene.

 

Üdv.

Előzmény: Hoter (27423)
Hoter Creative Commons License 2015.07.21 0 0 27424

Kiegészítés: Excel 2007 ill. 2013

Hoter Creative Commons License 2015.07.21 0 0 27423

 

Tömegesen dolgozok Excelben olyan rekordokkal, amelyek egy-egy mezője hivatkozásokat tartalmaz adott helyen lévő fájlokra.

Ezeket UNC-pathként adom meg, ennek ellenére, ha az adott Excel fájl helyét (nem a hivatkozott fájlét) megváltoztatom, nem működik a hivatkozás, amit nem értek, hogy miért. Ebben kérnék segítséget.

Delila10 Creative Commons License 2015.07.21 0 0 27422

Kavarod a fogalmakat. Az AB2 1 db cella, az AB oszlop második sorában. Az összevonás az A2:B2 cellában van. A B30 szintén 1 db cella, nem 1 sor.

 

Amit gondolok: van a gyűjtő fájlod, ahol összevontad az A2:B2 cellákat. Van a 150 db egylapos fájlod. Fontos, hogy ez utóbbiak azonos mappában vannak-e.

A gyűjtő füzetben be akarod írni a C2 cellába a másik 150 fájl B30 cellájában szereplő adatot.

 

Kérdés: nyissa meg az elsőt a 150 közül, írja be az értéket a gyűjtő C2-be, zárja az elsőt, majd nyissa a következőt, adja hozzá a gyűjtő C2-hez a második füzet B30 értékét, vagy írja a gyűjtő füzet következő, D2 cellájába?

Előzmény: Vajk (27421)
Vajk Creative Commons License 2015.07.20 0 0 27421

Az ábra lemaradt

Előzmény: Vajk (27420)
Vajk Creative Commons License 2015.07.20 0 0 27420

Köszi a választ!

 

A kigyűjtendő fileok egy sheetből állnak.

A "gyűjteni" alatt azt értem, hogy a meglévő fileok(nem változnak bennük az adatok) adott celláiban szereplő adatokat szedje össze egy másik fileba.

 

A konkrét igény:

Az AB2 egyesített cellák (Fecha=dátum felirat) mellé gyűjtse össze az ugyanabban a fileban a  B30 as sorban lévő értékeket minden megadott, egy sheettel rendelkező excel fileból egy másik különálló fileba.

Ezzel egy sorban lesznek az adott dátumhoz tartozó eladások ( amiket majd összesíteni lehet oszloponként.)

 

Remélem érthető voltam:)

Törölt nick Creative Commons License 2015.07.20 0 0 27419

Makróval meg lehet csinálni, de ennyi input nem elég hozzá. Kellene a táblázat felépítésével kapcsolatban minden releváns adat, mint pl.:

- egy munkalaposak-e a táblázatok, vagy több

- ha több munkalapos, akkor mindegyik kell-e

- ha nem kell mindegyik, akkor mi alapján határozható meg, hogy melyik kell és melyik nem

- az egyes munkalapokon konkrétan hol van a fejléc

 

Az is érdekes infó, hogy mit értesz pontosan a "gyűjteni" szó alatt. Mert ez lehet összesítés, lehet másolás, lehet hivatkozás, ami frissül, ha az eredeti fájlt frissítik.

Szóval gondold át algoritmus szemmel, aztán adj valami pontosabb képet. Esetleg mintafájl feltöltés is szóba jöhet, lást topik fejléc. Aztán majd valaki biztos tud ilyen makrót írni.

Előzmény: Vajk (27418)
Vajk Creative Commons License 2015.07.20 0 0 27418

Természetesen valamilyen "automatizmusra" gondoltam, nem arra, hogy egyenként hivatkozom az adott cellákra:)

Előzmény: Vajk (27417)
Vajk Creative Commons License 2015.07.20 0 0 27417

Sziasztok,

 

Segítségre lenne szükségem a következő probléma megoldásában:

Adott egy rakat excel file (kb 120) amiben egy egységes formulában vannak feltüntetve a mozgások. A keret, a táblázat fejléce és a képletek is állandóak(ugyanazt az alap filet használják) csak a havi mozgások váltózóak, ezeket töltik ki az adminisztrátorok, tehát a 120 filenak az A1-es cellájába mindig ugyanaz van, pl az adott termék napi fogyása

Hogy lehet ezeket az adott dátumhoz tartozó fogyásokat egy külön file-ba gyűjteni a 120 különálló excel fileból?

 

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

sadfsdhfg Creative Commons License 2015.07.17 0 0 27416

Köszönöm mindenkinek aki segíteni próbált! A MS-nak nem annyira. :)

Sánta Kutya (SK) Creative Commons License 2015.07.17 0 0 27415

Viszont mindenki kénytelen lesz használni, aki nem akar Linuxra váltani.

Előzmény: rokkantagy (27414)
rokkantagy Creative Commons License 2015.07.17 0 0 27414

Egy marketinges szerint a win 10 analfabétáknak készül.

 

Ne feledd: "Murphy optimista volt."

Előzmény: Sánta Kutya (SK) (27410)
Delila10 Creative Commons License 2015.07.17 0 0 27413

Meg egy újabb szobát, vagy irodát.  :)

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

Szerintem vegyél még két monitort :)

Előzmény: sadfsdhfg (27398)
Delila10 Creative Commons License 2015.07.17 0 0 27411

Nincs 2013-as verzióm. Az előzőekben a Ctrl+F1 váltott a szalagmenü láthatósága, és elrejtése között. Talán ez segít.

Előzmény: sadfsdhfg (27408)
Sánta Kutya (SK) Creative Commons License 2015.07.17 0 0 27410

Ezt hívják a Microsoftnál fejlődésnek. Amikor már semmi értelmes nem jut eszükbe, mert mindent tud a program, és két élet se elég megtanulni a használatát, akkor elkezdik lebontani a meglévő funkciókat, hogy legyen valami mozgás a piac törvényei szerint. :-)

Előzmény: E.Istvan (27409)
E.Istvan Creative Commons License 2015.07.17 0 0 27409
Előzmény: sadfsdhfg (27408)
sadfsdhfg Creative Commons License 2015.07.16 0 0 27408

Előzmény: sadfsdhfg (27407)
sadfsdhfg Creative Commons License 2015.07.16 0 0 27407

Sajnos egyik sem működik. A 2010-ben még van "Az összes ablak megjelenítése a tálcán", de a 2013-ban már nincs. De köszi!

Előzmény: E.Istvan (27402)
Törölt nick Creative Commons License 2015.07.16 0 0 27406

Mod: a párhuzamos görgetés ki-bekapcs megoldotta, én lame, csak ezt nem próbáltam. De érdekes, hogy mitől lehetett, még mindig nem tudom.

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

Üdv, belefutottam egy nem várt gondba. Adott két, majdnem azonos kinézetű munkalap, az egyiken a raktáron lévő termékek nyilvántartását, a másikban ugyanolyan elrendezéssel a termékek eladási számait tárolom. (Ergo igyekszem a kétdimenziós celláknak egy új dimenziót adni, ahol az eladási számláló van.)

Hogy az eladások regisztrálásakor mindkettőt könnyen elérjem, párhuzamosan jelenítem meg a két munkalapot.

 

Amikor csak egy munkalapon szerkesztek, például új termékek felvitelekor vagy létező termékek darabszámának növelésekor, akkor a 2 soros fejlécet és az első oszlopot rögzítem, különben összekeverednék.

Ha ezt mindkét megjelenített munkalapon megteszem, akkor sajnos a párhuzamos görgetés megbolondul. A bal oldali, első panel görgetésekor előbb lép kettőt, mire a második panelon is elkezd görgetni, mintha a párhuzamosság csak akkor működne, amikor a mozgatható rész is túllép a fejlécen. Az eredmény, hogy hacsak nem görgetem az oldalt a legtetejére, akkor elcsúszik a két lista, és semmit sem érek az egész párhuzamossággal, mert nem párhuzamos, és biztosan tévesztek. Nem találok megoldást...

Excel 2007-et használok XP-n, nem tudom, az újakban is jelen van-e ez a probléma, vagy hogy egyáltalán probléma-e, nem csak én szúrok el valamit. Tudnátok ajánlani valami megoldást?

Delila10 Creative Commons License 2015.07.16 0 0 27404

Szívesen.

 

A makró elejére írd be a képernyőfrissítés tiltását:

Application.ScreenUpdating = False, az End Sub fölé pedig az engedélyezését: Application.ScreenUpdating = True

 

Ez arra jó, hogy nem látod felvillanni a betöltött képet a textboxba helyezés előtt.

 

Előzmény: Hunter02 (27403)
Hunter02 Creative Commons License 2015.07.16 0 0 27403

Szia!

Szuper!!!

Hálás köszönetem!!

:))))

Előzmény: Delila10 (27395)
E.Istvan Creative Commons License 2015.07.16 0 0 27402

Fájl menü -> Beállítások -> Speciális fülön a "Megjelenítés" résznél "Az összes ablak megjelenítése a tálcán" pipa törlése.

 

Ha így sem megy és eddig más fájlkezelő programon keresztül nyitottad meg az Excel fájlokat, akkor azoknál kell keresni valamit, vagy pedig normál módon az Excel menüből kell megnyitni a táblákat.

Előzmény: sadfsdhfg (27399)
Törölt nick Creative Commons License 2015.07.15 0 0 27401

És ha csak simán bekopizid egy ablakba a munkafüzeteket fejléc nélkül? 

Előzmény: sadfsdhfg (27399)
_Nyuszi Creative Commons License 2015.07.15 0 0 27400

Sajnos rühellem ezt a verziót, itthon nem is ez van, így csak látatlanban tudok segíteni, amíg valaki nem jön erre és nem mondja meg a frankót.

 

Én amit megnéznék, hogy a beállításoknál mi van, miért nyílik külön ablakban az új munkafüzet. De gondolom ezen túl vagy.

Előzmény: sadfsdhfg (27398)
sadfsdhfg Creative Commons License 2015.07.15 0 0 27399

Vagy úgy is mondhatnám, hogy egy ablakon belül nyíljanak meg a munkafüzetek.

Előzmény: _Nyuszi (27397)
sadfsdhfg Creative Commons License 2015.07.15 0 0 27398

Több munkafüzet egyben, vagyis ha a mozaik egymás alattot választom, akkor csak egyszer látszódjék a szalag menü.

Előzmény: _Nyuszi (27397)
_Nyuszi Creative Commons License 2015.07.15 0 0 27397

Mármint hogyan szeretnéd összevonni? Az egyik tartalmát átmásolni a másikba? Vagy hogy érted?

Előzmény: sadfsdhfg (27396)
sadfsdhfg Creative Commons License 2015.07.15 0 0 27396

Sziasztok!

 

Azt szeretném kérdezni, hogy Office 2013-ban több ablakot hogyan lehet összevonni egybe. 

 

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

Delila10 Creative Commons License 2015.07.15 0 0 27395

Írtam némi magyarázatot a makró soraihoz.

 

Sub Texboxba_kep()
Dim sz As Single, m As Single

'Betöltjük a képet a lapra
ActiveSheet.Pictures.Insert(Range("A1")).Select

'Felvesszük 2 változóba a szélességér és magasságát
sz = Selection.Width: m = Selection.Height

Selection.Delete 'Töröljük a képet

'Betöltjük a képet a TextBox1-be
With Worksheets("Munka1").Shapes("TextBox1")
.Fill.UserPicture Range("A1")
'Megadjuk a Textbox1 két méretét
.Width = sz: .Height = m
End With
End Sub

Előzmény: Hunter02 (27379)
Delila10 Creative Commons License 2015.07.15 0 0 27394

Jimmy műve, én csak feltettem a data.hu-ra, mert ő nem fért hozzá. :)

Előzmény: rokkantagy (27391)
Törölt nick Creative Commons License 2015.07.14 0 0 27393

A tömbképletek úgy működnek, mint a programozásban a ciklusok: ugyanaz a művelet többször hajtódik végre. Van egy kvázi "ciklusváltozó", amely meghatározza a lépések számát, továbbá paraméterként szerepelhet a műveletekben.

Nézzük a képletet:

 

=SZUM(ÉRTÉK(KÖZÉP(SZÖVEG(A1;"ééééhhnnóópp");SOR($1:$12);1)))

 

A SZÖVEG(A1;"ééééhhnnóópp") egymás mellé rakja a dátum + időpont számjegyeit, szöveggé konvertálva.

 

A KÖZÉP függvény kivesz ebből a karaktersorozatból 1-1 elemet, az ÉRTÉK átalakítja számokká, a SZUM összeadja őket.

 

A tömbképlet "lelke" a SOR($1:$12), ami a kvázi ciklusváltozót jelenti. A SOR függvény alapesetben visszaadja az argumentumként beírt cellatartomány sorának számát. Jelen esetben, mivel most tömbképletben használjuk, 1-től 12-ig az egész számokat adja vissza. Ezek a számok a KÖZÉP függvény 2. paramétereként azt teszik lehetővé, hogy az "ééééhhnnóópp" szöveg mindegyik karakterére sor kerüljön, mindegyik ki legyen emelve a szövegből, számmá konvertálva, és a végén összeadva.

Előzmény: rokkantagy (27390)
Törölt nick Creative Commons License 2015.07.14 0 0 27392

Közben arra jöttem rá, hogy felesleges a sima dátum miatt 8-ra visszavenni sorok számát. Hiszen ha pusztán dátum van, az nulla óra nulla percet jelent időpontos ábrázolásban, tehát a dátum számjegyeinek összegéhez már csak nullákat adunk hozzá, ha 12 sor van, vagyis a végeredmény nem változik.

Előzmény: Delila10 (27389)
rokkantagy Creative Commons License 2015.07.14 0 0 27391

Köszönöm, ez is tökéletesnek tünik.

Előzmény: Delila10 (27389)
rokkantagy Creative Commons License 2015.07.14 0 0 27390

Nagyon köszönöm, most már müködik!
Jövök neked egy valamivel.
Igen, én is kérnék egy kis magyarázatot, miért és hogyan müködik ebben a képlethalmazban?
Hátha még én is megértem.
Az zavart meg (egyebek mellett), hogy nemcsak egy cellában, hanem a teljes oszlopban vannak adatok, de amikor lehoztam, akkor a második cellától már 2-eseket irt ki.
Ezért arra tippeltem, hogy az 1-8 sorban van az eb elhantolva, de nem ott volt.


Előzmény: Törölt nick (27381)
Delila10 Creative Commons License 2015.07.14 0 0 27389

Rokkantagynak a feltöltés.

 

http://data.hu/get/8929677/proba.xls

 

Pirossal vannak a képletek.

Törölt nick Creative Commons License 2015.07.14 0 0 27388

Ezt én sem tudtam, de valahogy még sosem kerültem szembe a problémával.

És igen, valóban jobb/egyszerűbb/áttekinthetőbb a sordefiníciód, mint az enyém. Holnaptól azt használom :)

 

Valaki tudna feltölteni rokkantagynak egy működő verziót a data.hu-ra? Én momentán nem érem el.

Előzmény: Delila10 (27386)
pimre Creative Commons License 2015.07.14 0 0 27387

Kösz. Az életben nem jöttem volna rá magamtól erre a finom különbségtételre:-(

Előzmény: Delila10 (27386)
Delila10 Creative Commons License 2015.07.14 0 0 27386

Ha a szerkesztőlécen írod a képletet, nem kell külön F2. Az F2 a cellában való szerkesztéshez kell.

 

Jimmy: a SOR() függvényben az oszlop betűjelének a kiírása zavarja meg a júzert. Elég a SOR($1:$8). Ugye milyen okos vagyok, mikor összehoztad a képletet?

 

Hunter02: szívesen.

Előzmény: pimre (27385)
pimre Creative Commons License 2015.07.14 0 0 27385

Az egyébként szenzációs megoldást magam is szerettem volna kipróbálni. Emlékszem, hogy már találkoztam a tömbfüggvény technikával, így különösen érdekelt. És nekem az F2 lenyomása nélkül nem adta ki az eredményt. Nem tudom, miért. De az után kiadta. Persze, hogy csak egy sorban. És persze a 12 kijelölt (üres) soron az eredmény kiszámolása után el is tüntette a kijelölést.

 

Hacsak nem csináltam valamit rosszul. 

Előzmény: Fferi50 (27383)
Fferi50 Creative Commons License 2015.07.13 0 0 27384

Valamint az első cellán kívül a többiben nincs is adat (ez benne a trükk).

Előzmény: Fferi50 (27383)
Fferi50 Creative Commons License 2015.07.13 0 0 27383

Szia!

 

Minek a 12 sort kijelölni, mikor egy cellában szeretnéd a végeredményt látni?

 

Üdv.

Előzmény: pimre (27382)
pimre Creative Commons License 2015.07.13 0 0 27382

Jimmy bocs, de nekem úgy tűnik, hogy egy apró momentum kimaradt: A CTRL+SHIFT+ENTER-rel történő lezárás előtt nálam kell egy F2 nyomás, ami kijelöli a 12 (vagy a 8) sort. És csak aztán jön a CTRL+SHIFT+ENTER.

 

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

A tömbképletet úgy kell beírni, hogy beírod a képletet, és utána nyomsz egy CTRL+SHIFT+ENTER-t.

Az Excel automatikusan kiteszi a {} zárójelet, ezzel jelezve, hogy tömbképlet, azokat tehát nem neked kell beírni.

A B oszlopba tehát

=SZUM(ÉRTÉK(KÖZÉP(SZÖVEG(A1;"ééééhhnnóópp");SOR($A$1:$A$12);1)))

kell, és azt CTRL+SHIFT+ENTER-rel zárni, és akkor így fog kinézni:

{=SZUM(ÉRTÉK(KÖZÉP(SZÖVEG(A1;"ééééhhnnóópp");SOR($A$1:$A$12);1)))}

(Módosítottam az A1:A12-t $A$1:$A$12-re)

 

Ha csak a dátumot akarod, akkor

=SZUM(ÉRTÉK(KÖZÉP(SZÖVEG(J1;"ééééhhnn");SOR($A$1:$A$8);1)))

a képlet, és szintén CTRL+SHIFT+ENTER-rel zárni.

Itt J1-ben van az adat, ahogy a táblázatodban.

 

Az A1:A12 és A1:A8 független attól, hogy hol van az adat, ne változtasd meg.

 

Előzmény: rokkantagy (27380)
rokkantagy Creative Commons License 2015.07.13 0 0 27380

Nálam sajnos többféleképpen se müködik.:-((
Itt van:

http://data.hu/get/8928105/proba.xls

Elküldenéd a te verziódat az A és F oszlopok alapján?

Előzmény: Törölt nick (27373)
Hunter02 Creative Commons License 2015.07.13 0 0 27379

Köszönöm a választ Delila10!  :)

Egy kicsit át dolgoztam, de az alapját Neked köszönhetem!

Ez lett belőle:

 

Sub Szövegdoboz1_Kattintás()
Worksheets("Munka1").Shapes("textbox1").Fill.UserPicture Range("A1")
End Sub

 

Viszont sajnos még nem tökéletes, mert szeretném, ha a beillesztet kép méretét arányosan

a szövegdoboz méretéhez igazítaná.

Esetleg erre valamilyen ötlet??

 

Előzmény: Delila10 (27378)
Delila10 Creative Commons License 2015.07.13 0 0 27378

Selection.ShapeRange.Fill.UserPicture Range("A1"), ahol az A1 cella tartalmazza a betöltendő képet útvonallal, névvel és kiterjesztéssel.

 

Előzmény: Hunter02 (27377)
Hunter02 Creative Commons License 2015.07.13 0 0 27377

Sziasztok!

Szeretném megoldani azt a problémát (excel 2007), hogy egy szövegdoboz tartalmát (kitöltése kép fájl-al) egy cellában tárolt elérési útvonal segítségével töltse ki.

A válaszokat, segítségeteket előre is nagyon köszönöm.

Üdv.:
Hunter

Sánta Kutya (SK) Creative Commons License 2015.07.12 0 0 27376

Zseniális.

Előzmény: Törölt nick (27369)
Delila10 Creative Commons License 2015.07.11 0 0 27375

Vajh' mi a megoldás? Nincs? :)

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

azér', mer' a mail box pont hu régen egy felületkezelt gmail volt, aztán májusben megszűnt a gmail támogatás, és most nemtom mi van helyette. Azt mondták, minden ugyanúgy fog működni, mint az átállás előtt. De akkor nem.

Előzmény: Delila10 (27370)
Törölt nick Creative Commons License 2015.07.11 0 0 27373

Ez egy tömbképlet, és ctrl+Shift+Enter kombóval kell bevinni, nem sima Enter-rel.

Előzmény: rokkantagy (27372)
rokkantagy Creative Commons License 2015.07.11 0 0 27372

Köszönöm, de ez sajnos nem müködik.
Talán azért, mert A1 dátum formában van?

Előzmény: Törölt nick (27369)
_Nyuszi Creative Commons License 2015.07.10 0 0 27371

"Egy halom szövegfüggvénnyel oldottam volna meg."

 

Én is. :) / :(

Előzmény: Delila10 (27370)
Delila10 Creative Commons License 2015.07.10 0 0 27370

Őrületes agyad van! Egy halom szövegfüggvénnyel oldottam volna meg.

 

Kb. 3 hete küldtem Neked egy levelet a régi címedre, de visszajött, a címzett ismeretlen felirattal. 

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

{=SZUM(ÉRTÉK(KÖZÉP(SZÖVEG(A1;"ééééhhnnóópp");SOR(A1:A12);1)))}

 

A1-ben van az adat.

Előzmény: rokkantagy (27368)
rokkantagy Creative Commons License 2015.07.10 0 0 27368

Egy kis segitséget kérnék.

Dátum és idö számjegyeit kell összeadni.

 

pl: 1902.09.11 10:30 = 27

Erre milyen függvényt kell használni?

_Nyuszi Creative Commons License 2015.07.07 0 0 27367

Minden megoldható, de rendszeridegen megoldás lenne, ezért inkább címkéket teszek fölé is kész. :)

Előzmény: Fferi50 (27366)
Fferi50 Creative Commons License 2015.07.07 0 0 27366

Szia!

 

Arra nincs lehetőséged, hogy a keresés eredményét egy munkalap tartományba beletedd -fejlécet hozzátéve- és azt a tartományt add meg a listbox forrásaként?

 

Üdv.

Előzmény: _Nyuszi (27357)
pimre Creative Commons License 2015.07.07 0 0 27365

Ez így nem fog menni. Nem lenne baj, ha az érintett idejönne, és mondana pár szót arról, hogy milyen jellegű adatokat visz fel, milyen módon, esetleg milyen környezetben. Megnézte-e, hogy nincs-e makróvírus stb.

Előzmény: babraguba (27364)
babraguba Creative Commons License 2015.07.07 0 0 27364

nem én dolgozom az xlsx-el, így nem tudom, hogy mit csinálnak vele, de szinte kizártnak tartom, hogy 50ezer üres sort kézzel raknának bele

Előzmény: babraguba (27363)
babraguba Creative Commons License 2015.07.07 0 0 27363

én is gondoltam makróra, de nincs makró

Előzmény: pimre (27361)
_Nyuszi Creative Commons License 2015.07.07 0 0 27362

Azért köszönöm! :)

Előzmény: pimre (27360)
pimre Creative Commons License 2015.07.07 0 0 27361

Ez egy kicsit kevés információ. Akár egyetlen üres sor bekerülése sem indokolt, ha nem ez a szándékod. Ha kézzel viszed fel az adatokat, akkor nyilván nem történhet ilyen a tudtod nélkül. Ha program (makró) tölti ki az adatokat, akkor tudni kellene valamit arról. Hátha ott lett elszúrva valami.

Előzmény: babraguba (27358)
pimre Creative Commons License 2015.07.07 0 0 27360

Erre sajnos nincs ötletem:-(((

Előzmény: _Nyuszi (27357)
babraguba Creative Commons License 2015.07.07 0 0 27359

Ja, Office 2010, 32 bit. Win7 32 bit.

Előzmény: babraguba (27358)
babraguba Creative Commons License 2015.07.07 0 0 27358

Sziasztok!

 

Van valakinek tippje arra, hogy miért kerülnek be egyes xlsx fájlokba üres sorok, de több 10ezer? Már több ilyennel találkoztam. Ilyenkor a fájl mérete több megabájt, van, hogy 100 fölött. Néha törölni sem lehet őket, mert a köv. hibaüzenetet dobja. "Az excel nem képes az igénybe vehető erőforrásokkal a feladat végrehajtására. válasszon kevesebb adatot, vagy zárja be a többi alkalmazást."

Köszi a választ, ha lesz!

_Nyuszi Creative Commons License 2015.07.07 0 0 27357

Köszönöm!

Olyan nincs, hogy nem cellából veszi, hanem stringként adom meg? Egy keresés eredményét mutatja a ListBox, és így nincs rendes párja cellában. :-(

Előzmény: pimre (27356)
pimre Creative Commons License 2015.07.07 0 0 27356

A RowSource tartomány beállításával tudod szabályozni. Ha például 3 oszlopot akarsz listázni, és az első sorban vannak a fejléc szövegek, akkor ListBox1.RowSource = "A2:C..." beállítás az első sort tekinti fejlécnek. Ha "A3:..." a beállítás, akkor a 2. sort. 

Előzmény: _Nyuszi (27355)
_Nyuszi Creative Commons License 2015.07.07 0 0 27355

Sziasztok!

Megint segítséget kérnék. :(

Most jött szembe először komolyabban a ListBox (komolyabban: itt: többoszlopos formában).

Szeretnék neki oszlopfejlécet csinálni (ListBox1.ColumnHeads = True), de nem jöttem rá, hogyan tudok stringet oszlopfejlécnek megadni (cellából nem jó). Gondolom valami ListBox1.Valami = ("1. oszlop", "2. oszlop", ... ) stb. alakban kéne megadnom (7 oszlop van, ha ez számít).

Tudtok segíteni? :)

Köszönöm!

gonczi83 Creative Commons License 2015.07.07 0 0 27354

Sziasztok,

 

diagramos kérdésem lenne. Van egy nagy táblázatom, amiben van 6 600 adat 22 nyitvatartási naphoz. Egy hónap különböző adatai. Megcsináltam hozzá 90 diagramot. Minden hónapban változik a nyitvatartási napok száma. hogyan tudom megadni, hogy mi legyen az adattartomány. Most be van állítva egy fix, de minden hónapban más nyitvatartási szám van, így nem szeretném minden hónapban átállítani. Makró? Vagy más megoldás?

A táblában nincs kereshető fix érték, illetve az "A" oszlopban egyszer van, de nincs ott minden diatartományának elején.

 

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

 

Laci

pimre Creative Commons License 2015.07.06 0 2 27353

Vicces vagy, privát emailt kérsz, miközben az email címed nem publikus:-)

 

Szerinte nyugodtan tedd fel itt a kérdéseket. Legalább a témakört vesd fel itt! Hátha nagyobb eséllyel kapsz segítséget. Aztán, ha a probléma ismeretében szükségesnek látszik, és valóban terhelné a fórumot, akkor majd lehet folytatni privátban.

Előzmény: jevi05 (27352)
jevi05 Creative Commons License 2015.07.06 -1 0 27352

Kedves furumozók!

 

Valaki esetleg tudna nekem privát e-mil-ben segíteni excellel kapcsolatban? Mivel nagy tábláról van szó és több ponról így lassú lenne, illetve nem szeretném a fórumot terhelni. ELőre is köszönöm! Evelin

 

 

pimre Creative Commons License 2015.07.03 0 0 27351

Szívesen. Jó tanulást!

Előzmény: steinmann, a jó tanuló (27350)
steinmann, a jó tanuló Creative Commons License 2015.07.03 0 0 27350

Köszi a segítséget, sikerült megszereznem!

Előzmény: pimre (27339)
ypolito Creative Commons License 2015.07.02 0 0 27349

Szívesen!

Előzmény: methos80 (27348)
methos80 Creative Commons License 2015.07.02 0 0 27348

Köszönöm hogy segítettél!Sikerült!:-D

ypolito Creative Commons License 2015.07.02 0 0 27347

fkeres függvény tökéletes lesz. :)

ezt rakd be az első munkafüzet B2 cellájába, arra figyelj, hogy a munkafüzet1.xlsx-et és a munka1-et írd át ha szükséges

=fkeres($A2;'[Munkafüzet2.xlsx]Munka1'!$A:$B;2;hamis)

Előzmény: methos80 (27346)
methos80 Creative Commons License 2015.07.02 0 0 27346

Sziasztok

 

Van 2 exel munkafüzet, a munka füzetek A oszlopa számokat tartalmaz. A 2. Munkafüzet b oszlopa egy megnevezést,azt szeretném ha az 1 munkafüzet

A. oszlopának száma(értéke) megegyezik a 2. Munkafüzet A. értével akkor adja meg 1 munkafüzet  B oszlopába az a megnevezést ,amit a 2 munkafüzet b oszlopában lévő számhoz tartozik.. Milyen függvényt kell használnom.

 

Válaszotokat köszönöm!

jevi05 Creative Commons License 2015.07.02 0 0 27345

Tökéletes köszönöm szépen a segtséget!

Törölt nick Creative Commons License 2015.07.02 0 0 27344

Mert ugye azt, amiben nincs, azt a HELYETTE függvény érintetlenül hagyja.

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

Nincs szükség felismerni, hogy melyikben van és melyikben nincs, ha egyszer a HELYETTE függvény specifikusan lecseréli a "/2015" karaktereket a semmire.

Előzmény: jevi05 (27342)
jevi05 Creative Commons License 2015.07.02 0 0 27342

Köszönöm a gyors választ! Nem azzal a résszel van problémám, hogy leszedjem a végéről, hanem, azzal hogy a ha függvény nem ismeri fel, hogy melyikben van /2015 és melyikben nincs

=IF(B2="*/2015";LEFT(B2;7);"") --> ez as képletem a B2 az a cella amiben a számlaszám van

Eredő Vektor Creative Commons License 2015.07.02 0 0 27341

HELYETTE(), CSERE() fgveket nézd meg.

Ki tudod cserélni semmire("") ezekkel a fgvekkel a 2015-öt

Előzmény: jevi05 (27340)
jevi05 Creative Commons License 2015.07.02 0 0 27340

Sziasztok!

 

Valaki tudna nekem segteni abban, hogy milyen függénnyel lehet megoldani azt, hogy a /2015 végű számlaszámokról lejöjjjön a /2015, ahol pedig nincs ott maradjon az eredeti számlaszám: (én ha, bal függgvény egybeágyazással próbálkoztam, nem valami nem jó benne). Köszönöm a válaszokat!

88900444

AD00039/2015

AD00040/2015

 

pimre Creative Commons License 2015.06.30 0 0 27339

Én Kovalcsik Géza: Az Excel'97 programozása című könyvből tanultam meg az alapokat. A könyv példáit az Excel 2003 verziója alatt próbáltam ki, és azok működőképesek voltak. Azt hiszem, hogy az újabb Excel verziókkal sem lenne gond, mert zömmel azokat az alapokat tanítja, amik nem változtak ezekben sem. A könyv számomra nagyon világos, érthető, könnyen tanulható volt. (Persze a jelen fórumon feltett kérdéseimre kapott válaszok rengeteget segítettek a továbblépésben)

Az a könyv egyébként 1999-es kiadású volt. Itt megtalálható: https://books.google.hu/books?id=LAjdNIMrnAYC&printsec=frontcover&hl=hu&source=gbs_ge_summary_r#v=onepage&q&f=false

 

Azóta készült egy újabb verzió: http://www.libri.hu/konyv/kovalcsik_geza.az-excel-programozasa.html. Ez 2010-es, de sajnos nem kapható, és linkem sincs hozzá.

 

Sajnos a szerző újabb verziókra írt változatáról nem tudok.

 

Előzmény: steinmann, a jó tanuló (27338)
steinmann, a jó tanuló Creative Commons License 2015.06.29 0 0 27338

Sziasztok! Programoztam is már, Excelben elég gyakorlott vagyok, de most záros időn belül meg kellene barátkoznom az Excel programozásával. Milyen webes, esetleg nyomtatott anyagot ajánlanátok ehhez? Általában kitartó vagyok, de most szorít az idő :-(

Delila10 Creative Commons License 2015.06.29 0 0 27337

Szívesen. :)

Előzmény: Hoter (27336)
Hoter Creative Commons License 2015.06.28 0 0 27336

Köszönöm szépen.

Előzmény: Delila10 (27333)
Delila10 Creative Commons License 2015.06.28 0 0 27335

Megvan!

 

Előbb írtam aztán gondolkoztam. :(

Előzmény: Delila10 (27334)
Delila10 Creative Commons License 2015.06.28 0 0 27334

Ismert útvonalon keresek egy almappát, aminek az első 4 karakterét tudom. Ezt a nevet tenném egy változóba, amit később felhasználok.

 

Tudtok erre megoldást?

Delila10 Creative Commons License 2015.06.28 0 0 27333

A makró a füzet végére beszúr egy új lapot. Az első lap címsorát átmásolja erre.

 

Az első lap H1 cellájából veszi, hogy mire szűrje a lapok A oszlopát. Az A oszlopot a Field:=1 határozza meg. B oszlop esetén Field:=2-t kell írnod (2 helyen). A MireSzur értéket közvetlenül is beírhatod a makróba:

 

MireSzur="répa" , a mostani MireSzur = Sheets(1).Range("H1") helyett.

 

A szűrt sorokat átmásolja a beszúrt új lapra, majd az utolsó lapra áll.

 

Sub UjLapra()
Dim lap As Integer, MireSzur, usor As Long

Sheets.Add After:=Sheets(Sheets.Count) 'Új lap a füzet végére
Sheets(1).Rows(1).Copy Sheets(Sheets.Count).Range("A1") 'Címsor az új lapra
MireSzur = Sheets(1).Range("H1") 'Szűrési érték megadása

For lap = 1 To Sheets.Count - 1
Sheets(lap).Select
Range("A1").CurrentRegion.Select
Selection.AutoFilter Field:=1, Criteria1:=MireSzur
usor = Sheets(Sheets.Count).Range("A" & Rows.Count).End(xlUp).Row + 1
Selection.Offset(1).Copy Sheets(Sheets.Count).Range("A" & usor)
Selection.AutoFilter Field:=1
Next

Sheets(Sheets.Count).Select
End Sub

Előzmény: Hoter (27332)
Hoter Creative Commons License 2015.06.28 0 0 27332

A következőkhöz kérném a segítségeteket.

Egy neveket több munkalapon tartalmazó teljes munkafüzetre szeretnék szűrést végezni, aminek az eredményét egy új munkalapon kéne megjeleníteni. (Tehát van pl.  az adott munkafüzetben 10 lap, szeretném ha kigyűjtené róluk pl. a Nagy vezetékneveket egy új munkalapra.) 

Delila10 Creative Commons License 2015.06.27 0 0 27331

Feltételes formázással oldanám meg. A színes háttér figyelmeztet a hibás adatbevitelre.

 

1. $F$16:$F$100;$J$16:$J$1000 -re  =és($F16="X";$J16="X")

2. $G$16:$G$100;$K$16:$K$1000 -re  =és($G16="X";$K16="X")

3. $F$16:$G$100;$J$16:$K$1000 -re   =(darabteli($F16:$G16;"X")+darabteli($J16:$K16;"X"))>2

 

Úgy láttam, a 16. sorban kezdődnek az adataid.

Előzmény: JButton (27326)
pippancs Creative Commons License 2015.06.27 0 0 27330

Előzmény: JButton (27328)
pippancs Creative Commons License 2015.06.27 0 0 27329

A listába írd be: K; CS; A

Előzmény: JButton (27328)
JButton Creative Commons License 2015.06.27 0 0 27328

mert azt tudom hogy az érvényesítésnél mondjuk ha csak "K"-t akarom hogy elfogadja az így néz ki   =O16<>K    akkor megáll....  de ha azt akarom, hogy a "K" mellé vegye fel a CS és az A betűt akkor hogyan fűzzem hozzá. egyszer megcsináltam de az kb vagy 10 éve volt... :/

Előzmény: Sánta Kutya (SK) (27325)
JButton Creative Commons License 2015.06.27 0 0 27327

az a baj, hogy nem tudom hogyan soroltassam fel vele aza hogyan írjam meg a képletet, mert egy-re tudom korlátozni de többre nem sikerült, nem tudom a képletet, de max. marad a lista.... 

Előzmény: Sánta Kutya (SK) (27325)
JButton Creative Commons License 2015.06.27 0 0 27326

itt pedig koncentráljunk a E, H, B, J oszlopokra és ebből van kettő. Mint látható az E és H oszlopok szürkék a B és J oszlopok pedig fehérek. a szürkék az egyik halmaz a fehérek a másik halmaz. és nincsenek hatással egymásra.

remélem meg tudom egyszerűen fogalmazni.... nos  mindegyik rublikába csak "x" betűt írhatok. Viszont ha mondjuk az egyik "E"  oszlopba rakok egy "x"-et akkor a mellette lévő sorban található "E" oszlopba már ne tehessek.

Valamint és itt a csavar :P  maximum csak két darab "x" -et rakhatok be egy sorban a szürkékhez. tehát megikszelthetek 1db "E"-t vagy 1db "H"-t  vagy "E" és "H"-t mert így 1 vagy két helyet foglalok de már harmaikat vagy negyediket nem rakhatok.

Sánta Kutya (SK) Creative Commons License 2015.06.27 0 0 27325

Az adatok -> érvényesítés -> lista a te barátod. Ilyen keveset talán ott helyben is fel tudsz sorolni a párbeszédablakban, ha jól emlékszem, de ha nem, akkor írd be egy eldugott helyre, és vedd fel azt a tartományt.

Előzmény: JButton (27323)
pimre Creative Commons License 2015.06.27 0 0 27324

"...megdöbbenve tapasztaltam, hogy itt sem folyamatos a sorszám. Vajh' miért "törlődtek" ki egyes szakmai hsz-ek?"

 

Azért a modik mentségére jelentem, hogy van, amikor méltányolható a törlés. Például az itteni #27308-as hozzászólás hiánya az én bűnöm. A szokásos figyelmetlenségem okán előbb írtam, és csak aztán vettem észre, hogy más már megválaszolta azt, amire én megkésve reagáltam. Gyorsan kértem a Techmodit a felesleges bejegyzés törlésére, ami pár percen belül meg is történt.

Előzmény: Delila10 (27318)
JButton Creative Commons License 2015.06.27 0 0 27323

Sziasztok!

 

segítséget kérnék abban, hogy ha egy cellába azt szeretném hogy csak 3 betűt lehessen beírni (K vagy CS vagy A) akkor az érvényesítésnél hogyan fogalmazzam meg a képletet, hogy a program tudja mit akarok?

 

Köszönöm :)

Törölt nick Creative Commons License 2015.06.27 0 0 27322

Ja.

Gyakorlatilag amikor csak hozzányúlnak jobbító szándékkal, mindig rosszabb, kényelmetlenebb lesz.

Előzmény: Delila10 (27318)
Sánta Kutya (SK) Creative Commons License 2015.06.27 0 0 27321

Viszont ez az a hely, ahol még rengeteg más topicban is mozgok, és rendszeresen ránézek. Még néhány új rendszeresen látogatandó oldal nem fér bele az életembe.

Előzmény: Delila10 (27318)
Sánta Kutya (SK) Creative Commons License 2015.06.27 0 0 27320

Pl. előfordul, hogy valaki máshol rosszalkodik, vagy úgy érzi egy moderátor, és törli az összes létező hozzászólását minden topikban. Csak úgy.

Lásd itt ezt az épületes párbeszédet: http://forum.index.hu/Article/showArticle?na_start=100&na_step=50&t=9111587&na_order= 13946-tól lefelé, ami jelenleg 50-es beállításnál a 3. oldalon van (íme a példa a sorszámmal történő megadásra).

Ez persze csak tényközlés, mert ha a moderációról beszélgetésbe kezdesz egy nem moderációs topikban, pláne ha véleményt is mondasz, az statáriális főbűn, akár 15 év konstruktív, hibamentes fórumozás után is azonnal elmeszelhetnek érte.

Előzmény: Delila10 (27318)
Delila10 Creative Commons License 2015.06.27 0 0 27319

Az előzőhöz annyit, hogy elküldés után 5 percig szerkeszthető a hsz, és ami nagyon fontos, a makrók tagoltan, nem ömlesztve jelennek meg a PH-n.

Előzmény: Delila10 (27318)
Delila10 Creative Commons License 2015.06.27 0 0 27318

Off

 

A fórummotor javítására hiábavaló minden bejegyzés.

 

Mikor ez az idétlen időkijelzés született, hónapokig sokan ágáltunk ellene, hiába. A rendszertelen gazda meg sem jelenik, ha pedig mégis, közli, hogy ez így modern, és ők mindent megtesznek a mi érdekünkben, hogy komfortosan érezzük magunkat. A neki nem tetsző (nem trágár) hozzászólásokat egyszerűen kitörli.

 

Most, hogy egy ilyen régi hsz-t kerestem ki, megdöbbenve tapasztaltam, hogy itt sem folyamatos a sorszám. Vajh' miért "törlődtek" ki egyes szakmai hsz-ek?

 

Megoldás: gyertek át a PH fórumra! http://prohardver.hu/tema/excel/friss.html

Ott az esetleges hibákat, a jobbításra tett javaslatokat azonnal javítják. Kívánságra minden új hsz-ről e-mail értesítést kapunk, könnyű a keresés, a privát levelezés jól követhető (itt nem találok ilyent, bár ez lehet az én hibám).

 

On

 

 

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

Ja, kérem, a fórummotor az valóban gyalázatos. Viszont jó a társaság.

Előzmény: fitbee (27313)
Törölt nick Creative Commons License 2015.06.26 0 0 27316

Beállítasz 500-at a hozzászólásoknál (jobb felső sarokban találod a nyilat) és ezután ötszázasával vissza tudsz menni a hozzászólásokban. Én legalább is így szoktam, ha régebbi írást keresek.

Előzmény: fitbee (27313)
fitbee Creative Commons License 2015.06.26 0 0 27315

Szia pimre!

 

Én sem gondolom, hogy a hozzászólás sorszáma lenne a fő vezérfonal ahhoz, hogy egy (ezt a sorszámot ismerő) segítségre szoruló meg is találja a segítséget. Én csak azért lyukadtam ki erre a gondolatra, mert Delila azt írta, hogy nézzem meg a 8600-as hozzászólását, és én meg is próbáltam ezt a keresővel (majd pedig a részletes keresővel) megtalálni, amikor világossá vált számomra, hogy ez közvetlenül nem megy, hanem csak több lépésben és nem eléggé felhasználóbarát módon.

 

Egyébként mindenkitől elnézést kérek, ez a jobbítási gondolat valóban nem ide való, itt nem is nyitottam volna ezt meg, ide pusztán a kapott segítség igénybevételi szándékának a technikai részletei vezettek. Innentől részemről Off.

Előzmény: pimre (27314)
pimre Creative Commons License 2015.06.26 0 0 27314

Egy rövid gondolat erejéig csak reagálok erre a felvetésre, bár ez itt off, és az igazi helye inkább az ötletek a fórum javításához fórumban (http://forum.index.hu/Article/showArticle?t=9014312) lenne. 

 

Az érdemi megjegyzésem az, hogy az elmúlt években, amióta a fórumon vagyok, elvétve emlékszem olyan esetre, ahol egy fórum hozzászólás sorszámát tudtam, és ennek a segítségével szerettem volna azt közvetlenül elérni. (Feltételezem, hogy másoknál sem ehet túl gyakori az ilyen igény.) Részemről mindenesetre igencsak megfelelő az a Delila által is javasolt megoldás, amit magam is alkalmazok, ilyen esetben. Azzal is általában 10-15 lépésen belül sikerül megtalálni a keresett hozzászólást.

 

Ettől függetlenül kívánom, hogy legyen sikered, hiszen, ha javítják a fórummotort, az mindig hasznos.

Előzmény: fitbee (27313)
fitbee Creative Commons License 2015.06.26 0 0 27313

Szia hellsing!

 

Köszönöm a válaszodat, ami megerősített abban a véleményemben, hogy fejleszteni kellene a fórummotoron.

Nekem - és talán más fórumozónak is(?) - eléggé érthetetlen, hogy létre lett hozva egy fórum felület azzal a céllal, hogy a tapasztaltabbak felhasználóbarát módon tudják segíteni a tapasztalatlanabbakat, de ezt a segítséget ők mégsem tudják egy egyszerű, a korábbi hozzászólásra hivatkozással (ahogyan Delila is próbálta) megadni, hanem inkább újra és újra le kell ugyanazt írni,  mert hogy a korábbi hozzászólás sorszámára történő hivatkozásra nem lehet a keresővel keresni, enélkül meg igencsak macerás azt megtalálni.

Én szívesen segítenék a technikai háttér ilyen irányú továbbfejlesztésében, ha értenék ehhez, de nem értek. Így marad az, hogy "Kedves adminisztrátor. Nem tudnátok ezen a gondon segíteni?"

Please!

Előzmény: hellsing (27310)
Arminka58 Creative Commons License 2015.06.26 0 0 27312

Segítséget szeretnék kérni. Excel munkalapon elhelyezett képhez szeretnék a cellákhoz hasonlóan megjegyzést fűzni, de nem találom a megoldást. Arra volna szükségem, hogy egy képre, ha ráhúzom az egeret, akkor jelenjen meg egy megjegyzés.

Delila10 Creative Commons License 2015.06.25 0 0 27311

Egy jó link így  http://prohardver.hu/tema/excel/hsz_27505-27505.html , vagy így néz ki: http://prohardver.hu/tema/excel/friss.html

 

A prohardver fórumon a képek és dátumok is normálisan jelennek meg. Érdemes megnézni a régi hsz-ek közötti sávos válogatás lehetőségét is (balra fent és balra lent).

Előzmény: hellsing (27310)
hellsing Creative Commons License 2015.06.24 0 0 27310

8600

 

Sajnos nincs a hsz-oknak értelmes linkjük, így elég nehéz megtalálni egy ilyet. Én a baloldali keresőbe beírtam, hogy "delila" és kiválasztottam, hogy "nickek között". Az eredményhalmazban klikk "Delila_1", utána "Excel", utána sajnos lapozni kellett az 5. oldalra. Ha egy hsz linkje nem így nézne ki, hogy:

 

http://forum.index.hu/Article/viewArticle?a=86814792&t=9009340

 

…hanem mondjuk úgy, hogy "blablabla/viewArticle?t=9009340&p=12345" (t=topic, p=post), akkor csak a p= után odaírnánk, hogy 8600 és meg is lennénk. De nem így van. Vagy lehetne valahol egy legördülő (ugrás ide: hsz szám vagy dátum), meg egy textbox ( pl. 8600 vagy 2009-01-22), az is segítene. De nincs.

Előzmény: fitbee (27306)
pimre Creative Commons License 2015.06.24 0 0 27309

A belső preferencia analízist nem ismerem. A Tomcsányi féle páros preferencia analízist igen. Arra egykor programot is írtam. Ha érdekes, akkor küldj emailt. (Az enyém publikus) Ne terheljük vele ezt a fórumot.

Előzmény: Gyorfy Erika (27307)
Gyorfy Erika Creative Commons License 2015.06.24 0 0 27307

Sziasztok. Szükségem lenne segítségre! Joghurtok érzékszervi tulajdonságait vizsgálom, és egy belső preferencia analízis segítségével a statisztikai eredményeket ki kellene értékeljem. Sajnos nem tudom használni egyáltalán, Nagyon jó lenne ha valaki tudna nekem segíteni!

fitbee Creative Commons License 2015.06.24 0 0 27306

Szia Delila!

 

Kösz a válaszod. ("Rákattintasz a hivatkozott (8600) -ra.")

Sajnos a talált hozzászólásodban lévő szövegben lévő 8600-as hozzászólásod emlegetése nem egy link, így aztán kattintgathatok rá ezerrel, az nem visz sehova.

 

Igazából én egy módszert gondoltam megtanulni valakitől a profi keresésre, mert azt gondoltam, hogy az általad leírt próbálkozásos módszernél a fórum motor kínál profibb módszert is. ("Mégis hamar előbújt. A hozzászólások tetején jobbra 500 db/lapot állítottam be, ezzel a 38. oldalon megtaláltam az előzményt.")

De ha te - régi fórumozó - nem tudsz profibb megoldást, akkor biztosan nincs is (sajnos).

Azért még 1x kösz a segítségedet.

Előzmény: Delila10 (27303)
hellsing Creative Commons License 2015.06.24 0 0 27305

Még valami: a grafikon körül ott vannak az kis átméretező kockák, de le vannak tiltva. Rájuk állva kétirányú nyílra vált a kurzor, de nem működnek. Ezt fel lehet oldani valahogy?

Előzmény: hellsing (27301)
Delila10 Creative Commons License 2015.06.24 0 0 27304

Ja igen, a Delila_1 is én voltam, csak közben változott az email címem, és a régi nickkel nem engedett be a csodás fórummotor, a címet pedig nem lehetett módosítani. :)

Előzmény: fitbee (27302)
Delila10 Creative Commons License 2015.06.24 0 0 27303

Rákattintasz a hivatkozott (8600) -ra.

 

A saját hsz-t nem kerestem ki, így nem is tudtam mire kattintani.

Mégis hamar előbújt. A hozzászólások tetején jobbra 500 db/lapot állítottam be, ezzel a 38. oldalon megtaláltam az előzményt.

Előzmény: fitbee (27302)
fitbee Creative Commons License 2015.06.24 0 0 27302

Bocs, hogy béna vagyok, de nem tudom, hogyan kell megtalálni Delila_1 2009.03.06-i hozzászólásában hivatkozott 8600-as számú korábbi hozzászólását?

A részletes keresőben sem jött Delila_1-re 8600-as találat.

Írja le már valaki! Kösz.

hellsing Creative Commons License 2015.06.24 0 0 27301

'estét! Kéne készítenem egy riportot, táblázatokkal meg grafikonokkal, amit pdf-be exportálva kapnak majd meg a felhasználók. Sose fogják kinyomtatni, csak monitoron nézegetni, ezért fekvő 16:9-es (szélesvásznú monitor) formátumban kellene dolgoznom. Hogy lehet beállítani ezt a méretet? A Lapelrendezés -> Méret pontban csak előre gyártott méreteket enged, amik elég messze vannak a 16:9-től. Ha a 'További papírméretek'-re kattintok, akkor megnézhetem ugyanazokat még egyszer. Gondoltam, hogy hátha a nyomtató szoftverében beállíthatom és onnan átveszi az Office, de nem lehet a nyomtatóm szoftverében egyéni méretet beállítani (szuper-fapad HP tintatusgaras).

 

Office PP 2013 Win 8.1-en.

 

megj.: Most komolyan: magyar Windows alatti magyar Office-ban 'japán boríték',  'Matahari' meg 'Ofakiu Harakiri' papírméretek? :-))

Redlac Creative Commons License 2015.06.24 0 0 27300

megvan :-)

 

=SZORZATÖSSZEG((E11:E30=BH12)*1;(CB11:CB30=CE12)*1;(HÓNAP(B11:B30)=1)*1)

Előzmény: Redlac (27299)
Redlac Creative Commons License 2015.06.24 0 0 27299

Sziasztok!

 

A szorzatösszeg függvényt használnám...

 

azt szeretném, ha az egyik tartományban a hónapot vizsgálja, de nem akar összejönni:

 

SZORZATÖSSZEG(((E11:E30=BH12)*1;(CB11:CB30=CE12)*1);(HÓNAP(B11:B29)=1)*1)

 

hogyan kellene a hónap tömböt megalkotni?

Redlac Creative Commons License 2015.06.24 0 0 27298

Köszi...nagynehezen csak összejött :-)

 

Eddig úgy működött a táblázat, hogy a védett cellákat még kijelölni sem engedtem.

De akkor az a felhasználó sem tudott vele mit kezdeni, akinek egyébként lett volna joga az adott tartományt szerkeszteni.

Miután átállítottam, hogy a védett cella kijelölhető legyen, már jól működött.

Előzmény: Fferi50 (27286)
Törölt nick Creative Commons License 2015.06.24 0 0 27297

Talán:

=ÉS(A1048576<>"";DARABTELI($A$1:A1;A1)=1)

 

 

Előzmény: ueva (27296)
ueva Creative Commons License 2015.06.23 0 0 27296

Szia!

Nem szeretnék nagyon pofátlan lenni, de lenne még egy kérdésem ezzel a feladattal kapcsolatban.

Az A oszlopbeli adatok között találhatók kategóriacímek, amelyeket nem kell formázni. Mindegyik kategóriacím előtt egy üres cella van. Azt hogy lehetne belevenni a feltételes formázás képletébe, hogy ezeket figyelje és ne formázza?

 

Előre is nagyon köszi!

Előzmény: Törölt nick (27294)
ueva Creative Commons License 2015.06.23 0 0 27295

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

Én iszonyúan túlbonyolítottam.

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

=DARABTELI($A$1:A1;A1)=1

legyen a képlet.

Előzmény: ueva (27293)
ueva Creative Commons License 2015.06.23 0 0 27293

Sziasztok!
Szeretném a segítségeteket kérni feltételes formázásban. (Excel 2010)
Van egy táblázatom, melynek A oszlopában több ezer szöveges adat van, melyek közül némelyik többször is előfordul.
Egy olyan szabályt szeretnék megadni, amelynek eredményeként az A oszlop celláira vonatkozóan felülről lefelé haladva, minden adat első előfordulása pl. piros betűszínnel jelenik meg.

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

Jozsef Creative Commons License 2015.06.23 0 0 27292

Ilyen esetre a megoldás az Irányított (újabb Excelekben  Speciális) szűrő használata. Az Autoszűrő csak ÉS művelettel képes összekapcsolni két oszlopot, ezzel VAGY-ot is,  de egyébként tetszőleges bonyolultságú logikai feltételt meg tudsz adni.  A legfontosabb ismeret a Szűrőtartomány használat. A Youtube-on több példát találsz, ha irányított szűrésre rákeresel pl. https://www.youtube.com/watch?v=lk8q-RPvKWM

Előzmény: mtk001 (27288)
pimre Creative Commons License 2015.06.23 0 0 27291

Nem írtad, melyik Excel verziót használod. Egy általánosan működő megoldás:

 

Legyenek a linkjeid az A oszlopban. Keresel egy nem használt oszlopot (legyen B). 

A B oszlopban az első link (legyen az első sorban) mellett beírod a következő képletet: =HIPERHIVATKOZÁS(A1)

A képletet végighúzod lefelé az egész B oszlopban.

 

Ezután a B oszlopot kimásolod, majd irányított beillesztéssel visszamásolod az A oszlopba a formátumot, majd törlöd a B oszlopot.

 

 

 

Előzmény: Mike Ewing (27290)
Mike Ewing Creative Commons License 2015.06.22 0 0 27290

Sziasztok!

 

Egy olyan problémával fordulnék hozzátok, hogy egyik napról a másikra valami miatt nem működnek a táblázatban levő linkek. Ha rájuk kattintok, ez a hibaüzenet jön: Cannot dowload the information you requested.

A folytonos copy paste eléggé megnehezíti a munkámat, míg régebben csak egy gombnyomás volt. Erre van valami megoldás? Köszönöm.

Fferi50 Creative Commons License 2015.06.21 0 0 27289

Szia!

 

"Azt tudom, hogy egy oszlopra hogyan keressek."

A másik oszlopra is ugyanúgy kell keresni. A két eredményt kapcsolod össze  "vagy" logikai művelettel, illetve a HA függvénnyel.

 

Üdv.

Előzmény: mtk001 (27288)
mtk001 Creative Commons License 2015.06.21 0 0 27288

Egy nagyobb tábla két oszlopának értékeire keresnék vagyolva, két lekérdező oszlopban megadva a keresendő értékeket. 

 

Azt tudom, hogy egy oszlopra hogyan keressek.

 

Köszi a segítséget.

Fferi50 Creative Commons License 2015.06.19 0 0 27287

Szia!

 

A J1 cellába a Név kell mint az oszlop fejléce.

A J2 cellába írod a konkrét nevet.

A kritérium pedig a J1:J2 cellacímet kell tartalmazza.

 

Minden névhez külön kritérium területet kell megadni.

 

Üdv.

Előzmény: iamthewolf (27285)
Fferi50 Creative Commons License 2015.06.19 0 0 27286

Szia!

 

Elég "kacifántos" a dolog, akkor működik, ha a munkalap maga le van védve. Adott tartományok szerkesztéséhez rendelhetsz jelszót, amit csak annak adsz meg, akinek engedélyezed a szerkesztést.

A felhasználó hozzárendelést az engedélyeknél teheted meg, ott a Windows felhasználók közül kell kiválasztani a szerkesztőket - a beírt neveket ellenőrizheted, hogy tényleges felhasználók legyenek - ebben az esetben ők jelszó nélkül is szerkeszthetik az adott tartományt.

 

A korlátozás csak bekapcsolt lapvédelemnél működik.

 

Üdv.

Előzmény: Redlac (27284)
iamthewolf Creative Commons License 2015.06.19 0 0 27285

Két órája próbálkozom, de nem szeretné az igazságot. Hol rontom el?

 

 

Kép:

 

http://1drv.ms/1Bo587d

Előzmény: Jozsef (27283)
Redlac Creative Commons License 2015.06.19 0 0 27284

Köszi az ötletet :-)

Próbálkozom ezzel a funkcióval, de nem akarja az igazságot..

Előzmény: Fferi50 (27280)
Jozsef Creative Commons License 2015.06.19 0 0 27283

AB.SZUM függvény a megoldás

Előzmény: iamthewolf (27272)
Jozsef Creative Commons License 2015.06.19 0 0 27282

Legegyszerűbb az AB.MAX függvénnyel kapod meg (lásd súgó)

Előzmény: iamthewolf (27281)
iamthewolf Creative Commons License 2015.06.19 0 0 27281

Sziasztok!

Újabb kérdésem lenne. 
Van két oszlopom. Egyik név, másik testmagasság.

Szeretném megtudni, hogy a Sanyi nevű emberek közül - nincs rendezve az oszlop és dinamikusan változik - mennyi a legmagasabb Sanyi értéke?


A MAX és a HA függvény kombója kell, gondolom én, de nem jövök rá a mikéntre.


MÁS:
Tudnátok ajánlani haladó szintű online excel tanfolyamot, ahol a táblázatok kombinálását is oktatják(és a programozást is)? A közeljövőben komolyan akarok foglalkozni az Excel programmal.

 

Fferi50 Creative Commons License 2015.06.18 0 0 27280

Szia!

 

Nézd meg a Korrektúra - Tartományok szerkesztésének engedélyezése menüpontot  (Excel 2010 magyar, más verzióban hasonló funkció található).

Ebben megadhatod, hogy a védett munkalapon ki melyik tartományt szerkesztheti.

 

Üdv.

Előzmény: Redlac (27279)
Redlac Creative Commons License 2015.06.18 0 0 27279

Sziasztok!

 

Egy olyan makrót szeretnék készíteni, ami egy adott oszlopot csak akkor enged szerkeszteni, ha megadott felhasználó nyitja meg a fájlt.

 

Tudnátok segíteni?

 

Köszi :-)

Delila10 Creative Commons License 2015.06.18 0 0 27278

Készíts egy segédtáblát, aminek az első oszlopa a név, második a szám, amit hozzá akarsz rendelni.

Az FKERES függvény a fő tábládban kikeresi a számokat.

Előzmény: pkert (27277)
pkert Creative Commons License 2015.06.17 0 0 27277

Sziasztok!

 

Hatalmas segítséget kérek:

Excel A oszlopa töménytelen mennyiségű nevet tartalmaz (Vezetéknév Keresztnév) Van e olyan függvény, ami pl a Géza, József, István nevek esetén a B oszlopba beír egy választott számot?

Előre is köszönöm, ha valakinek van mentő ötlete! ;)

iamthewolf Creative Commons License 2015.06.17 0 0 27276

óó, királyak vagytok. Köszönöm a gyors segítséget!

Azt hiszem, ideje újra elővenni az Excel tananyagaimat, mert diákként ez még ment.

Előzmény: Fferi50 (27273)
Delila10 Creative Commons License 2015.06.17 0 0 27275

Fürge vagy!

Előzmény: Fferi50 (27273)
Delila10 Creative Commons License 2015.06.17 0 1 27274

Erre találták ki a SZUMHA függvényt, nézd meg a súgóban.

Előzmény: iamthewolf (27272)
Fferi50 Creative Commons License 2015.06.17 0 1 27273

Szia!

 

Szumha függvényt próbáltad-e már?

 

 

Üdv.

Előzmény: iamthewolf (27272)
iamthewolf Creative Commons License 2015.06.17 0 0 27272

Sziasztok!

Van egy szűrési problémám és nem jövök rá, hogyan kellene megoldani a dolgot Excelben.
Van két oszlop, az egyikben random keresztnevek, a másikban a hozzájuk tartozó testmagasságok.

A táblázat állandóan változik törlődnek nevek és kerülnek a helyükre újak, a testmagasságokkal együtt.

 

Azt szeretném megoldani, hogy egy harmadik mezőbe írva a program keresse meg az összes XYZ keresztnevű embert az egész oszlopban és a nevük mellett levő oszlopban levő testmagasságokat adja össze, majd a végeredményt írja ki nekem. Pl.: Adja össze az összes Péter testmagasságát és írja ki az eredményt nekem.

Keresgélek, de nem jövök rá a megoldásra.


Törölt nick Creative Commons License 2015.06.17 0 0 27271

Egyetértek! Egyre rosszabb használni ezeket az új verziókat!

Azt sem tudom megcsinálni, amit 15 éve már megcsináltam... katasztrófális...

 

Előzmény: Sánta Kutya (SK) (27262)
Fferi50 Creative Commons License 2015.06.13 0 0 27270

Szia!

 

Némi búvárkodással ezt találtam még (a printervezérlő kódok között):

&O Turns outline printing on or off (Macintosh only).
&H Turns shadow printing on or off (Macintosh only).

 

Bár a &O -ra nem ugrott,(azaz megmaradt az O) de mégis lehet, hogy a &H az előbbiek miatt nem tetszik neki.

 

Üdv.

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

Vagy csak meg kéne mondani neki, hogy Tilos az Á! :-)

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

Köszönöm az utánajárást! Ezúttal már kinyomtattam a dokumentumot, de lesz még ilyenre szükségem máskor is. Az első út nem járható, a második viszont annak tűnik. Gondolom, további escape-elésekkel 8ami további guglizást jelent) valahogy normálisan is megoldható lenne, hiszen ha egy literális szöveget sehogy nem lehet beírni, az nagy szegénységi bizonyítvány a programozóra nézve.

Előzmény: Fferi50 (27267)
Fferi50 Creative Commons License 2015.06.13 0 0 27267

Szia!

 

Meg kell, hogy kövesselek! (:

Valóban, mentés és újranyitás után, amennyiben a H közvetlenül az & után van (nincs szóköz közte), akkor "átváltozik" Á-vá.

Viszont, ha megnézed a Pagesetup megfelelő footer/header értékét, akkor a K&&H értéket fogja kiírni. Szóval ezek szerint ez egy szép kis bugnak tűnik.

Ha már van egy szóköz ott, akkor viszont normálisan látszik.  Azt gondolom, az &H valamilyen vezérlő karakternek felel meg. Gugliztam egy kicsit, lehet, hogy ez a probléma gyökere:

&color Prints the characters in the specified color. User supplies a hexidecimal color value. A H -t valószínűleg hexa karakternek érzékeli...

Áthidaló megoldás, ha szóközt teszel közé (K && H). Másik lehetőség, a munkalapot elnevezed K&H -nak és a láblécben a &A kód a lapnevet adja be, azt már jól mentés után is. (Ez persze nem feltétlenül járható mindig...)

 

Ettől függetlenül a türelem nem ártalmas - elég sokszor tűnik úgy, hogy a számítógépnek/programnak is van lelke, amit ápolni kell (néha szidással...).  Persze az esetek 110%-ban kiderül, hogy a gép csak azt csinálta amit valaki (jelen esetben egy "redmondi") megadott neki. A türelem ahhoz kell, hogy ezt kinyomozd és megállapítsd, hogy ki a hunyó...

 

Jó hétvégét!

Előzmény: Sánta Kutya (SK) (27265)
Delila10 Creative Commons License 2015.06.13 0 0 27266

Nem a köszönetért írtam, hanem hogy más ne strapálja magát a válasszal. :)

Előzmény: attilalr (27264)
Sánta Kutya (SK) Creative Commons License 2015.06.13 0 0 27265

Türelmesnek egy gyerekkel kell lenni, ha valamilyen hatást el akarsz érni, nem egy számítógépprogrammal, aminek az a dolga, hogy kövesse az utasításaidat. Nehogy már lelkivilága legyen! De egyébként legalább 4-5 próbálkozás után írtam ezt, többször visszajavítottam, elmentettem, újból megnéztem.

Előzmény: Fferi50 (27263)
attilalr Creative Commons License 2015.06.12 0 0 27264

Köszönöm itt is :)

Előzmény: Delila10 (27261)
Fferi50 Creative Commons License 2015.06.12 0 0 27263

Szia!

 

2.Nem tudom, neked miért nem sikerült "megetetni" vele a K&H szöveget. Nálam a magyar excel 2010 megeszi a dupla & mellett, úgy is, ha van szóköz és úgyis, ha nincs közötte szóköz.

Lehet, hogy nem voltál elég türelmes?

3. Ha külön sessionban nyitod meg másik excel fájlt, sajnos valóban így viselkedik, csak akkor tudsz irányított beillesztést, ha egy excel applikációban van megnyitva a két excel fájl (a két-vagy több - ablak látszik a ribbon menüben). Bár emlékeim szerint máskor is sikerült már, de azért arra nem vennék mérget és több száz cellára pláne nem.

 

Üdv.

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

Ma esti dühöngő... Már túl vagyok rajta, de:

 

Excel 2010-ben élőlábat kellett szerkesztenem (ez már önmagában óriási gyötrelem annak, aki korábbi verziókhoz szokott, mert jelentős visszalépést sikerült elérni kényelemben).

 

1. akadály: az ördögnek se vesz be az ampersandet. Próbálkozik a dolgozó mindenféle escape-eléssel, aztán guglizik, kijön a megoldás, hogy kettő kell belőle, hurrá. Akadály leküzdve.

 

2. akadály: Most, hogy sikerült megoldani a kérdést, bepötyögném a láblécbe a "K&H" karakterláncot. Nem reklám, ezeknek a karaktereknek kellett volna ott lenni, természetesen a dupla & jellel. A nyomtatási képen folyton K&Á lesz belőle többszöri visszajavítás, sőt javítás-mentés után is. Mindig ott romlik el. Végül beírtam valami mást, mint aminek ott kéne igazából lennie. Akadály elbukva. Érti ezt valaki?

 

3. akadály: az egyik Excel-táblázatból a másikba nem lehet irányított beillesztéssel áttenni pár száz cellát, mindenáron objektumként akarja beilleszteni, többszöri próbálkozás után. Az emlékeimből előjön, hogy igen, ezzel a sárkánnyal már találkoztam és levágtam a fejét, ez akkor van, amikor két külön folyamatként vagy Excel-példányként érzékeli az Excel a táblázatokat, és a partnerben nem ismeri fel saját magát. Már sokszor mondtam, hogy a Microsoft gyártja azokat a programokat, amik önmagukkal sem kompatibilisek, de ez az egésznek a nonplusultrája. Megoldás: a céltáblázatot bezárni, majd a forrástáblázat file menüjéből újra megnyitni, és így már megy. Akadály leküzdve, de ki érti ezt?

Delila10 Creative Commons License 2015.06.12 0 0 27261

A másik fórumon megadtam a választ. :)

Előzmény: attilalr (27260)
attilalr Creative Commons License 2015.06.12 0 0 27260

HELP! CELLÁK AUTOMATIKUS KITÖLTÉSE MEGFELELŐ ADATOKKAL

 

Sziasztok!

Segítségeteket szeretném kérni egy probléma megoldásához.

Termék nyilvántartó táblázatot kéne csinálnom, de elakadtam a következő pontnál.

A termékek nevéhez automatikusan kéne hozzárendelni a kategória neveket.

Az elképzelés az, hogy egy oszlop tartalmazza a termékek nevét és a másik oszlopba automatikusan írja be a kategória nevét.

"Tanítható" táblázatra gondoltam:

Ha jön egy új termék, akkor természetesen manuálisan írom be hozzá a kategóriát, viszont ha újra jön (pl. más beszállítótól), akkor már magától kéne, hogy mellé kerüljön a kategória neve. 

Valahogy úgy kéne megoldani, hogy a táblázat szélén befognék két oszlopot, egyikbe bevezetném a termékek nevét, a másikba pedig a hozzájuk rendelt kategória nevet. A lényeg az lenne, hogy ez alapján, ha a táblázatba bekerül egy termék, ami egyszer már szerepel a listában, akkor automatikusan dobja hozzá a két oszlopban lévő adatok szerint a kategória nevet.

Példa:

Az A1 mezőben szerepel a termék neve: Zanussi ZRT18100WA

A B1 mezőbe be kéne írnia magától: Hűtőszekrény

 

Ezt az alapján kéne kitöltenie, ami a fent említett két oszlopról írtam, amennyiben abban szerepel ez a párosítás. 

Ha nincs, akkor tegyen mellé valamit (pl. X), ebből látom, hogy még nincs ilyen párosítás, ebben az esetben beírom kézzel és hozzáteszem a listához.

Ez így lehet bonyolultnak tűnik, de remélem van aki tud segíteni.

 

Köszönöm.

szaszitoo Creative Commons License 2015.06.10 0 0 27259

megvan SUMIFS

szaszitoo Creative Commons License 2015.06.10 0 0 27258

Sziasztok!

Segítsetek már légyszi: google sheet-en mi van a szumhatöbb helyett? köszi!

Delila10 Creative Commons License 2015.06.06 0 1 27257

A képlet

 

=ÉS($A2="Skoda";$C2=2012)

 

Az érvényességet megadhatod az A és C oszlopra: =$A$2:$A$500;$C$2:$C$500 – az 500 helyett a saját sorszámodat írd. Ebben az esetben ezt a két oszlopot formázza.

 

 

 

 

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

Arra már rájöttem, hogy ezt a feltételes formázást képlettel kell megcsinálni, csak a képletre nem jövök rá, ami nem csoda, középiskola óta nem foglalkoztam Excel-el. :D

Előzmény: Delila10 (27254)
Törölt nick Creative Commons License 2015.06.05 0 0 27255

Szia,

 

ne haragudj az újabb zavarásért, feleségemnek próbálok segíteni... egy állásinterjú második köréhez kell excel, de nem nagyon boldogulok vele. :D Próbálom önállóan megoldani, mert úgy lehet tanulni, de ezen azóta ülök, mióta válaszoltam, hogy köszönöm! :D

 

 

Ha tudsz segíteni azt nagyon megköszönném.

 

Üdv.

Előzmény: Delila10 (27252)
Delila10 Creative Commons License 2015.06.05 0 0 27254

Nincs mit. :)

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

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

Előzmény: Delila10 (27252)
Delila10 Creative Commons License 2015.06.05 0 0 27252

Erre jó a DARABHATÖBB függvény.

 

=DARABHATÖBB(A:A;"Volvo";H:H;"yes")

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

Üdv mindenkinek!

 

Segítségre lenne szükségem. Itt a feladat:

 

Meg kellene mondani egy képlettel, hogy összesen mennyi panasz érkezett a volvo-tól. Képlettel kell! Tehát kell valami, ami kiszűri az A oszlopból a volvokat, majd összepárosítja a H oszloppal és végeredményül megadja, hogy összesen mennyi YES érték szerepel.

 

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

thomas5000 Creative Commons License 2015.06.05 0 0 27250

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

 

Tökéletesen működik! 

Előzmény: Fferi50 (27249)
Fferi50 Creative Commons License 2015.06.05 0 1 27249

Szia!

 

Szerintem csak makróval: 

 

Sub torol()
Dim pict As Shape
For Each sh In ActiveSheet.Shapes
    If sh.Type = msoPicture Then
       On Error Resume Next
       If Not sh.Hyperlink Is Nothing Then sh.Hyperlink.Delete

       On Error Goto 0
    End If
Next
End Sub

 

Üdv.

 

Előzmény: thomas5000 (27248)
thomas5000 Creative Commons License 2015.06.05 0 0 27248

Sziasztok! 

 

Az lenne a kérdésem, hogy az excelben képeken lévő hivatkozásokat, el lehet-e valahogy tüntetni egyszerre?

Tehát nem egyesével "hivatkozás törlése", mert az nem opció sajnos, mert nagyon sok képem van a dokumentumban.

 

Arra találtam megoldást, ha szövegen lennének a hivatkozások, de sajnos ilyen esetre nem találtam megoldást. (Remélem van)

 

A válaszokat előre is köszönöm!

Delila10 Creative Commons License 2015.06.05 0 0 27247

Szívesen. :)

Előzmény: Törölt nick (27245)
Fferi50 Creative Commons License 2015.06.05 0 0 27246

Szia!

 

Beleteszed az elsőben levő két sort a másodikba.

A SheetName értékét pedig egy cellába értékadással tudod beírni:

Range("A1").value=SheetName vagy Cells(1,1).value=Sheetname

 

Ilyesmire gondoltál?

 

Üdv.

Előzmény: djmorphy (27244)
Törölt nick Creative Commons License 2015.06.05 0 0 27245

Okesz, köszi szépen! Sokat segítettél!

Előzmény: Delila10 (27243)
djmorphy Creative Commons License 2015.06.05 0 0 27244

Sziasztok!

Elkezdtem végre foglalkozni VBA-val és rájöttem hogy eddig hülye voltam hogy miért nem használtam :D

A következőkben tudnátok segíteni, hogy ezt a két scriptet hogyan lehetne egybe gyúrni? Azaz hogy tudok a dátumnak változót adni amire tudok hivatkozni hogy hova másolja. Mert ugye a dátum mindig változik?


Sub datumosmf()

Dim SheetName As String

SheetName = Format(Date, "dd-mm-yyyy") 'a fomrátumot lehet változtanti

End Sub



Sub achiválás()
Dim i, lastrow
Dim mytext As String
lastrow = Sheets("projects").Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow
mytext = Sheets("projects").Cells(i, "C").Text
If InStr(mytext, "archiválva") Then
Sheets("projects").Cells(i, "A").EntireRow.Copy Destination:=Sheets("delivered").Range("A" & Rows.Count).End(xlUp).Offset(1)
'Sheets("projects").Cells(i, "A").EntireRow.Delete
End If
Next i

End Sub

Delila10 Creative Commons License 2015.06.05 0 0 27243

A 2 azt adja meg, hogy a hivatkozott tartomány 2. oszlopában lévő érték legyen az eredmény, a 0 (ami helyett írhatsz HAMIS-at is) pedig azt, hogy pontos eredményt vársz, nem közelítő értéket.

 

Nézd meg a súgóban az FKERES függvény leírását.

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

A színezés is sikerült! Köszi szépen!

 

De mi a 2;0

Előzmény: Delila10 (27239)
Törölt nick Creative Commons License 2015.06.04 0 0 27241

A szerkesztőlécben a végén a 2;0 mit takar?

Előzmény: Delila10 (27239)
Törölt nick Creative Commons License 2015.06.04 0 0 27240

De igen, még tegnap este, de a színnel nem volt időm babrálni, mert tényleg nem sikerült.

Előzmény: Delila10 (27239)
Delila10 Creative Commons License 2015.06.04 0 0 27239

Látom, még nem próbáltad ki. A 2. feltételes formázás helyesen =$A1=2

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

Köszi, nézem!

Előzmény: Delila10 (27237)
Delila10 Creative Commons License 2015.06.03 0 0 27237

Az A oszlopba beírod a számot, a B1 cella képlete kikeresi a hozzá tartozó nevet a H1:I4 tartományból. Ezt látod a szerkesztőlécen.

 

 

Feltételes formázást adsz a B1:Bn tartományra. A képletek:

=$A1=1   ehhez rendelsz egy színt

=$A2=2   ehhez a következő színt, és így tovább.

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

2007-es az excel

 

Egyelőre 3 név lenne. De ez majd bővülne.

 

Köszi

Előzmény: Sánta Kutya (SK) (27234)
Törölt nick Creative Commons License 2015.06.03 0 0 27235

Képes vagy idejönni és kérdezni úgy, hogy nem olvasod végig az előző 27000+ posztot?

Ejnye.

Előzmény: Törölt nick (27233)
Sánta Kutya (SK) Creative Commons License 2015.06.03 0 0 27234

Az Excel verziója értékesebb információ, mint a Windowsé.

Hány névről van szó? 4 vagy 100?

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

Tiszteletem!

 

Volna egy kérdésem, hátha valaki megszán, és megmondja a tutit.

 

Win7-esem van.

Az excelben azt szeretném megoldani, hogy ha beírok valamilyen számot, akkor a mellette lévő cellában egy általam megadott név jelenjen meg és lehetőleg egy meghatározott színnel.

 

Korábban dolgoztam ilyen megoldással a munkahelyemen, de sehogy sem jövök rá, hogyan volt beírva. Arra emlékszem, hogy sok-sok zárójelet tartalmazott.

Köszönöm előre is!

 

(Bele-bele olvastam az előzményekbe, de mind nem olvastam el...)

djmorphy Creative Commons License 2015.06.01 0 0 27232

Szia!

 

Köszönöm!

Előzmény: Fferi50 (27231)
Fferi50 Creative Commons License 2015.06.01 0 0 27231

Szia!

 

A HA függvényt kellene inkább alkalmaznod az ÉS mellett, pl. így:

 

=HA(ÉS(A1=0;B1=0);0;HA(ÉS(A1=0;B1<>0);1;HA(ÉS(A1<>0;B1<>0);15/7,5;20/9,7)))

 

Üdv.

Előzmény: djmorphy (27230)
djmorphy Creative Commons License 2015.06.01 0 0 27230

Sziasztok!

Egy egyszerűnek tűnő problémába beletört a bicskám.

A következőt kellene megoldanom annak függvényében hogy 0 érték melyik cellában van. A képletet egy cellán belül kellene megvalósítanom segédcellák nélkül

A1             B1                   C1

0                0                 Legyen az érték 0
0             valami            Legyen az érték 1
valami     valami                  15/7,5

valami     0                         20/9,7


"Valami" az nagyobb mint 0

Az "és" "vagy"-al operáltam de teljes mértékben soha nem értem el a célt.

 

Timur Lenk Creative Commons License 2015.05.28 0 0 27229

Szia, Fferi50,

 

 

Hmmm, érdekes, új file-ban valóban működik nekem is. Csak importáltam/exportáltam a userformot egy teljesen új Excelbe.

 

 

Timur Lenk

Előzmény: Fferi50 (27228)
Fferi50 Creative Commons License 2015.05.28 0 0 27228

Szia!

 

Biztos, hogy van Sheet1 nevű munkalapod. Azért kérdezem, mert nálam 2010-es excelben műxik a dolog.

 

Mi lenne, ha kilépnél az excelből és egy "frissen nyitott" példánnyal próbálnád meg. Lehet, hogy összezavartad már a memóriáját a sok próbálkozással...

 

Üdv.

Előzmény: Timur Lenk (27226)
Fferi50 Creative Commons License 2015.05.28 0 0 27227

Szia!

 

Ez szerintem csak bonyolítja a folyamatot. Akkor már inkább

 

Sheets("Sheet1").Range(kez,veg).Value=Sheets("B_TB_BT").Range(kez,veg).Value

 

Így egyáltalán nincs szükség a vágólapra itt sem.

 

Üdv.

Előzmény: Törölt nick (27221)
Timur Lenk Creative Commons License 2015.05.28 0 0 27226

A másolás megy, a beillesztésnél adja fel.

 

 

Timur Lenk

Előzmény: Fferi50 (27224)
Timur Lenk Creative Commons License 2015.05.28 0 0 27225

Jesszus, pedig eszemben sincs ilyesmi!

Erre a másolásra gondolok:

Worksheets(“B-TB_BT”).Range(kez, veg).Copy Destination:=Sheets("Sheet1").Range(kez, veg)

De most kipróbáltam array nélkül a sheet exportálást is. Ugyanaz a hiba.

 

 

Timur Lenk

Előzmény: Törölt nick (27223)
Fferi50 Creative Commons License 2015.05.28 0 0 27224

Szia!

 

Worksheets("B-TB_BT").Range(kez, veg).Copy

 

Ezt a sort végre tudja hajtani ebben a formában, vagy már itt kiakad?

 

Annyit megjegyeznék, hogy azért ez nem idézőjel ám " . Ha ez van benne a kódodban is, akkor ne csodálkozz, hogy nem megy.

 

Üdv.

Előzmény: Timur Lenk (27222)
Törölt nick Creative Commons License 2015.05.28 0 0 27223

Nagyon szereted a talányos fogalmazást...

Erre a másolásra gondolsz?

Sheets(Array("TB_List")).Copy

 

Lehetne esetleg

Sheets("TB_List").Copy

Előzmény: Timur Lenk (27222)
Timur Lenk Creative Commons License 2015.05.28 0 0 27222

Köszönöm az ötleteket! Sajnos mindkét megoldásnál megkapom ugyanazt a hibát, mégpedig a másolási parancssornál. Ha kiveszem a sheet átnevezését, hagyom Sheet1-nek, akkor is ugyanebbe ütközöm, ugyanott.

 

 

Timur Lenk

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

Nekem meg az a gondolatom támadt, hogy

 

Worksheets(“B-TB_BT”).Range(kez, veg).Copy Destination:=Sheets("Sheet1").Range(kez, veg)

 

helyett

 

Worksheets(“B-TB_BT”).Range(kez, veg).Copy

Sheets("Sheet1").Range(kez, veg).PasteSpecial(xlPasteValues)

 

kódot érdemes lenne kipróbálni. Ha nem jön be, amit Feri mond.

Előzmény: Timur Lenk (27219)
Fferi50 Creative Commons License 2015.05.28 0 0 27220

Szia!

 

Ha lépésenként futtatod, akkor melyik sornál jön be a hibaüzenet?  (Fejlesztőeszközök - makrók - makrókiválasztás - lépésenként, utána F8 egy sorral továbbviszi a programot.)

 

Van egy olyan érzésem, hogy a sheet1 átnevezése okozhatja a problémát:

 

Az elején ez van: Worksheets("Sheet1").Visible = True

Majd a másolás után  Sheets("Sheet1").Select és a formázás után pedig ActiveSheet.Name = "TB_List" és ezt másolod át egy új munkafüzetbe.

A régiben pedig ottmarad a munkalap, mostmár TB_List néven.

 

Természetes, hogy innentől hiába szeretnél ismét Sheet1-re hivatkozni, mert az már nincs.

 

Nem biztos, hogy ez a gond, de mi lenne, ha az átnevezést csak a Sheet1 új munkafüzetbe másolása után - az új munkafüzetben tennéd meg, azaz a Sheet1 -et másolod át és ott nevezed át TB_List-re.

 

Üdv.

 

Előzmény: Timur Lenk (27219)
Timur Lenk Creative Commons License 2015.05.28 0 0 27219

Szia, Fferi50!

 

 

:-)

 

Csupán azt gondoltam, a hiba az Excel működésében rejlik. Itt a teljes Excel export kód:

 

Application.ScreenUpdating = False

Worksheets(“B-TB_BT”).Visible = True

Worksheets("Sheet1").Visible = True

Worksheets(“B-TB_BT”).Activate

 

Dim LastRowb As Long

 

With Sheets(“B-TB_BT”).UsedRange

    LastRowb = .Rows(.Rows.Count).Row

End With

 

kez = "A1"

veg = "B" & LastRowb

 

Worksheets(“B-TB_BT”).Range(kez, veg).Copy Destination:=Sheets("Sheet1").Range(kez, veg)

 

Sheets("Sheet1").Select

 

Columns("A:B").Select

Selection.EntireColumn.AutoFit

With Selection

    .HorizontalAlignment = xlLeft

End With

Range("A1").Select

ActiveSheet.Name = "TB_List"

 

Dim nev As String

 

nev = Worksheets("B-TB_DDP").Range("G1").Value

 

Sheets(Array("TB_List")).Copy

       

ActiveWorkbook.SaveAs ThisWorkbook.Path & "" & "Export" & "_" & nev & ".xlsx"

ActiveWorkbook.Close SaveChanges:=False

 

A hibaüzenet:

Automation error

The object invoked has disconnected from its clients.

 

 

Timur Lenk

Előzmény: Fferi50 (27212)
Eredő Vektor Creative Commons License 2015.05.28 0 0 27218

akkor lennél sz@rban, ha a word-öt sem szeretné. :/

Előzmény: Garffi (27213)
Sánta Kutya (SK) Creative Commons License 2015.05.28 0 0 27217

Akkor én is tanultam valamit. :-)

Előzmény: Delila10 (27206)
Sánta Kutya (SK) Creative Commons License 2015.05.28 0 0 27216

A főnökök többnyire megértik idővel, hogy amit mondasz, az jó nekik. Amelyik teljesen fejlődésképtelen, annak úgysem érdemes dolgozni. :-)

Például amikor majd módosítani kell valamit ezen a táblázaton, mondd azt, hogy Excelben két perc alatt megcsinálnád, de újból áttenni Wordbe és normálisan elrendezni plusz egy óra munkaidő, ami miatt egy másik feladatot halasztani kell.

Gutta cavat lapidem.

Előzmény: Garffi (27213)
Delila10 Creative Commons License 2015.05.28 0 0 27215

Szívesen. :)

Előzmény: Garffi (27214)
Garffi Creative Commons License 2015.05.28 0 0 27214

Köszönöm szépen sikerült!!!!!!

Előzmény: Delila10 (27206)
Garffi Creative Commons License 2015.05.28 0 0 27213

Üdv.

 

Sajna a főnököm nem szereti az excelt és mindent wordben akar.

Hát ez van! :)

 

Előzmény: Sánta Kutya (SK) (27205)
Fferi50 Creative Commons License 2015.05.27 0 0 27212

Szia!

 

Sokat segítenél, ha a "mindenféle misztikus hibaüzenet" szövegét megosztanád velünk, mivel abból lehetne következtetni a probléma okára.

"A másolásnál valami gubanc van" jó lenne tudni, milyen módon másolod és mi a "gubanc".

 

Üdv.

Előzmény: Timur Lenk (27211)
Timur Lenk Creative Commons License 2015.05.27 0 0 27211

Sziasztok!

 

 

Van egy spreadsheetem, amely egyik lapjának két oszlopa multicolumn lisboxban kerül a képernyőre. Két command button van alatta, az egyik PDF-be exportálja a listboxban megjelenő adatokat a sheetről, a másik külön Excelbe. Az Excelbe való exportálás nem közvetlenül működik, hanem előbb egy másik sheetre másolódik a két oszlop az eredeti helyről, majd maga ez a sheet másolódik ki külön fájlba. És ennél a lépésnél, a másolásnál valami gubanc van.

 

A gondom a következő.

 

Ha csak az egyik exportálást használom, minden megy, mint a karikacsapás. Ha viszont előbb PDF-be, majd utána egyből az Excelbe való exportálásra kattintok, mindenféle misztikus hibaüzenettel szembesülök. Ami azért érdekes számomra, mert vagy az egyik, vagy a másik működik. A kettő együtt nem. Illetve úgy igen, ha az exportálás befejezése után automatikusan bezárom a listbox ablakát, és arra kényszerítem a felhasználót, hogy újból jelenítse meg a listboxot, ha mindkét exportálást végre szeretné hajtani. Szeretném visszont kiküszöbölni ezt a felesleges lépést.

 

Nagyon örülnék, ha valaki valami tanáccsal tudna szolgálni.

 

 

Timur Lenk

Törölt nick Creative Commons License 2015.05.27 0 0 27210

A francba...

:)

Előzmény: Delila10 (27209)
Delila10 Creative Commons License 2015.05.27 0 0 27209

A(z) =KÓD(A1) az A1 cella első karakterének az ASCII kódját adja vissza, nem szükséges a beágyazott BAL függvény. :-)

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

Onnan, hogy a TRIM nem cseréli le :)

Amúgy:

=KÓD(BAL(A1;1))

ha ennek értéke 160, akkor nem sima szóköz.

Előzmény: poleee89 (27207)
poleee89 Creative Commons License 2015.05.27 0 0 27207

Köszönöm a válaszaitokat, remélhetőleg így már menni fog :)

 

Amúgy ezt honnan lehet tudni, hogy nem sima szóköz?

Előzmény: Fferi50 (27201)
Delila10 Creative Commons License 2015.05.27 0 0 27206

A Wordben kijelölöd a 7 sort, majd a Táblázat menüben kiválasztod a címsorok ismétlését.

 

Ez a 2003-as verzióban igaz, magasabb verzióban itt egy leírás: http://informatika.gtportal.eu/index.php?f0=w3_tablazat_123.

Előzmény: Garffi (27204)
Sánta Kutya (SK) Creative Commons License 2015.05.27 0 0 27205

Szerintem ez így nem fog menni.

Maximum ha külön kimásolod azt a hét sort a Word-dokumentum élőfejébe, mert ott az ismétlődik. Át kell állítani az élőfejnek hagyott helyet.

 

Csak kíváncsiságból: miért akarsz ilyet tenni? Én el nem tudnám képzelni az indokot.

Ugye felkészültél rá, hogy a Word memóriáját sokkal jobban igénybe fogja venni, mint az Excelét?

Előzmény: Garffi (27204)
Garffi Creative Commons License 2015.05.27 0 0 27204

Sziasztok.

Adott egy 6000 soros táblázat.
Ezt szeretném áttenni wordbe.
A problémám az hogy az első 7sort ismétlődő sorként állítottam be hogy minden oldalon ez legyen az első 7sor.
Namost ha kijelölöm a 6000sort és átmásolom vagy csatolom a word dokumentumhoz akkor csak az első oldalon jelenik meg a 7 sor a többin nem.
Hogy tudom átmásolni?
Valahogy az excelben a nyomtatási képet nem lehet "kimásolni"??
Mert ugye a nyomatási képben látszódik minden oldalon a 7sor az excelben.
Köszi!

Fferi50 Creative Commons License 2015.05.26 0 0 27203

Szia!

 

De még egyszerűbben is megy a dolog: Kijelölsz egy "szóközt" egy szám elején vagy végén (mert mindkét helyen találtam), kimásolod.

Ezután a Csere funkciónál a Keresett szöveg helyébe bemásolod, cseréled a semmire.

 

Üdv.

Előzmény: Delila10 (27202)
Delila10 Creative Commons License 2015.05.26 0 1 27202

Fferitől már tudod, hogy 160-as kódú karakter van a számjegyeid között.

 

Jelöld ki a tisztítandó oszlopot, a Csere funkciónál lépj a Keresett szöveg rovatába. A bal Alt gombot nyomva tartva a számbillentyűzeten írj be 0160-at, engedd fel az Alt-ot. Ezt cseréld semmire az összesnél.

Előzmény: poleee89 (27200)
Fferi50 Creative Commons License 2015.05.26 0 1 27201

Szia!

 

"Csak" annyi történt, hogy nem rendes szóköz van a cellákban, hanem annak 128-cal megnövelt kódú változata, azaz nem 32 a kódja, hanem 160. Ezt a tiszít függvény úgy tűnik, nem habzsolja fel.

Javaslom ezt a képletet: = helyette(B3;karakter(160);"")

ha még így is van problémád, akkor nyilván maradhatott "normál" szóköz is, amit elvileg a tisztít felismer, vagy dupla helyette függvényt használsz: =helyette(helyette(B3;" ";"");karakter(160);"")

 

Üdv.

 

Előzmény: poleee89 (27200)
poleee89 Creative Commons License 2015.05.26 0 0 27200

Sziasztok!

 

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

Adott egy oszlop adatokkal (példában 9 jegyű azonosítószámokkal), a kapott adatok feleslegesen tartalmaznak szóközöket a számok elején és/vagy végén. Akár többet is.

 

Excelben elvileg a KIMETSZ (TRIM) függvény képes ezt tisztítani. Egy egyszerű próbánál, kézzel beírt adatokkal rendesen működik is, azonban az elvégzendő állományon nem teszi a dolgát. A szóközzel tűzdelt számok vegyesen vannak számként, általánosként, illetve szövegként formázva. Próbáltam ÉRTÉK függvény használatával formázni, de az a szóközök miatt megint csak nem lehetséges. Viszont manuálisan változtatva a cellaformázásokat arra jutottam, hogy nem ez okozhatja a KIMETSZ függvény problémáját.

 

Csatolok egy lista töredéket, amelyen látszik, hogy nem szedi ki valamiért a szóközöket. Többszáz/ezer darabnál kellene megoldani, így fontos lenne. A probléma, hogy a szóközök miatt nem tudom összekerestetni a cellaértékeket FKERES-sel.

 

Tudnátok ötletet adni, hogy mi a probléma oka, mi lehet a megoldás?

 

 

Csatolni nem tudtam, így itt egy link hozzá: (előre is köszönöm a segítséget)

http://s1.toldacuccot.hu/letoltes?sid=8b26ef50c9c24c60a8c1341fd6e7bf42&file=KIMETSZ%20hiba.xlsx

Sánta Kutya (SK) Creative Commons License 2015.05.21 0 0 27199

Lehet például makróvírus.

Előzmény: Törölt nick (27196)
Sánta Kutya (SK) Creative Commons License 2015.05.20 0 0 27198

Éppen ma kellett egy csomó file-ból törölnöm egyforma részeket. Rájöttem, még program sem kell hozzá. Megnyitottam egyet Notepad++-ban, makrórögzítéssel megcsináltam, hogy csere-mentés-bezárás, ehhez hozzárendeltem egy könnyen elérhető billentyűkombinációt, aztán Total Commanderben kijelöltem az állományokat (nem mind a 42-t egyszerre, hátha sok lenne neki, hanem 3 részletben), jobb gomb, megnyitás Notepad++-ban, és ott annyiszor megnyomtam a makróhoz rendelt kombinációt, ahány meg volt nyitva. Szerintem annak kell tudnia regexet is. Nekem pillanatnyilag ez volt a leggyorsabb, de 100 file felett már lehet, hogy írnék programot.

Előzmény: attilalr (27197)
attilalr Creative Commons License 2015.05.20 0 0 27197

Szia!

A csv-t nem excelben csinálom. Ott csak megszerkesztem a táblázatot, amit a netes konvertálók csinálnak, aztán copy az egész OpenOfficeba és ott mentem a csv-t. Ennek az az oka, hogy vannak szerkesztési funkciók, amik OOfficeban nincsenek. De ha tudsz esetleg valami egyszerűbb megoldást, szívesen veszek minden ötletet.

 

Üdv.

Előzmény: Sánta Kutya (SK) (27193)
Törölt nick Creative Commons License 2015.05.20 0 0 27196

Sziasztok! Tud valaki segíteni, hogy mitől romolhat el az Excelnek csak a mentés másként parancsa, akárhányszor a mentés máskéntre kattintok lefagy az egész és onnnatól vége van!! Köszönöm

pimre Creative Commons License 2015.05.20 0 0 27195

Bocs, figyelmetlen voltam. Pont azt nem olvastam el, amire a választ küldtem. 

Előzmény: Eredő Vektor (27194)
Eredő Vektor Creative Commons License 2015.05.19 0 0 27194

Hogyne menne. Ő maga találta rá meg a megoldást:

27190 hsz.-ben.

És tökéletes.

Előzmény: pimre (27192)
Sánta Kutya (SK) Creative Commons License 2015.05.19 0 0 27193

Nem olvastam végig az egész témát, de ha csak az a feladat, hogy XML-ből CSV legyen, ahhoz nem kell Excel, sőt az Excelt használnám utoljára. Előtte pedig bármilyen programnyelvet, amit képes reguláris kifejezéseket kezelni, ez ma már eléggé alap. Úgy értem, töredéke a munkamennyiség, mint regexek nélkül.

Előzmény: attilalr (27187)
pimre Creative Commons License 2015.05.19 0 0 27192

Ez makró nélkül nemigen fog menni. Ha estig más nem jelentkezik vele, megpróbálok összeütni valamit.

Előzmény: attilalr (27190)
Eredő Vektor Creative Commons License 2015.05.19 0 0 27191

Ház igen.  Nekem meg ez nem jutott eszembe, amikor a cserés lehetőséget írtam.

Előzmény: attilalr (27190)
attilalr Creative Commons License 2015.05.18 0 0 27190

Igen, ezeket már mind kipróbáltam, de sajnos mindegyik hagy a csv fájlban egy csomó felesleges kód részletet. Viszont rájöttem a megoldásra:

 

Ctrl+H, beírom: <*>, csere semmire

 

Így a kijelölt területen mindent töröl ami a <> karakterek között van :)))

Eredő Vektor Creative Commons License 2015.05.18 0 0 27189
Előzmény: attilalr (27187)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27188

Még ezt próbáld ki:

valószínűleg struktúrált xml és ezt az excel képes megnyitni:

excelben megnyitás menüpont segítségével kell kitallózni az *.xml fájlt

 

Előzmény: attilalr (27187)
attilalr Creative Commons License 2015.05.18 0 0 27187

Köszönöm!

 

Szinte minden hozzászólásban van valamennyi igazság. 

Hogy könnyebben érthető legyen, leírom amit eddig kihagytam.

Xml árlistákat kell csv-be alakítanom. Eddig nem nehéz a feladat, mert rengeteg ingyenes online konvertáló létezik. A gondom az, hogy az xml fájlból némi "szemét" benne marad a csv-ben. 

Az előző példán mutatva:

 

A cella tartalma most ilyen:

<span style="line-height: 1.6em;">Hasznos adatok</span><br />

 

Nem kell az egész cella tartalmát törölni, csak azokat, amik a "<>" karakterek között vannak. (A példában a "Hasznos adatok" nincs ezen karakterek között.)

 

Nagyon jó lenne a .html-es save as megoldás, de sajnos akkor elveszti a táblázat formáját, már én is gondoltam rá. Akkor megint copyzhatok napokig 1400 termék esetében. 

 

A megoldáshoz Eredő Vektor függvénykombija áll a legközelebb, az a példával tényleg tökéletesen működik, viszont semmi mással nem. :(

Gondolom ennek az az oka, hogy a "<>" jelek közötti dolgok össze-vissza vannak, itt egy másik példa, ezzel sem működik már:

 

<span style="line-height: 1.6em;">Magyar felhasználói útmutató</span>

 

Remélem van megoldás.

 

Köszi mindenkinek.

Delila10 Creative Commons License 2015.05.18 0 0 27186

Klassz, nem ismertem ezt az egyszerű módszert.

Előzmény: Eredő Vektor (27185)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27185

Ja , meg még valami:

Ezek html tag-ek.

Ha kimásolod *.txt-be és azt átnevezed *.html-re, akkor a html megnyitásakor a Hasznos szöveg lesz a böngészőben amit ki tudsz kopizni excelbe.

(Szerintem - és a körülmények ismerete nélkül írom ezt...)

Előzmény: attilalr (27180)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27184

Nem tudni, milyen verziókban fordulnak elő ezek a celláidban....

Ha a példánál maradunk és az adatod az a1-ben van:

 

akkor ezzel a függvénykombival ki lehet szedni a közepét (gondolom ezt akarod):

 

=KÖZÉP(A1;SZÖVEG.KERES(">";A1;1)+1;SZÖVEG.KERES("<";A1;2)-SZÖVEG.KERES(">";A1;1)-1)

Előzmény: attilalr (27180)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27183

Amúgy, ha szigorúan követem a megfogalmazásodat, akkor nyomj a cellán egy del gombot :)

Merthogy ezt írtad :) 

Előzmény: attilalr (27180)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27182

Ja, nem annyira ezt kérted. :) 

Ez max akkor jó, ha a szövegkörnyezet ugyanaz az összes cellában és akkor több lépcsőben kicserélgetheted.

Előzmény: Eredő Vektor (27181)
Eredő Vektor Creative Commons License 2015.05.18 0 0 27181

Ctrl+H

Keresett szöveg: <>

Csere erre:

(vagyis semmire)

 

Előzmény: attilalr (27180)
attilalr Creative Commons License 2015.05.18 0 0 27180

Sziasztok!

Az megoldható excelben valahogyan, hogy egy cellán belül bizonyos karakterek között lévő adatokat töröljön ki?

 

Így néz ki most egy cella tartalma:

 

<span style="line-height: 1.6em;">Hasznos adatok</span><br />

 

Azt szeretném, hogy töröljön mindent a cellából, ami "<>" karakterek között van, lehetőleg úgy, hogy a "<>" is eltűnjenek.

 

Köszönöm.

 

Delila10 Creative Commons License 2015.05.18 0 0 27179

A másik fórumon, ahol szintén feltetted a kérdést, előbb jártam, ott megadtam a választ. :)

Előzmény: Hulioboy (27178)
Hulioboy Creative Commons License 2015.05.18 0 0 27178

Van egy mező,(amibe összeg lesz) és felette 2 kockával egy legördülő-ből választható név mező. A következőt szeretném: Ha beírok egy összeget az adott mezőbe (J7) és mondjuk felette 2-vel (J5) Pisti név van akkor másolja az összeget egy adott mezőbe (F79) és adja hozzá ha már van ott bármilyen összeg. Persze ha Misi név van ott akkor egy másik másik helyre másolja és adja hozzá a már ott lévő összeghez. Max 5 névről van szó
Remélem értelmesen tettem fel a kérdést, de ha nem akkor korrigálom, ha valaki tudna segíteni.. 
Köszi előre is

ypolito Creative Commons License 2015.05.16 0 0 27177

szívesen

Előzmény: Balu424 (27176)
Balu424 Creative Commons License 2015.05.16 0 0 27176

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

Előzmény: ypolito (27173)
Fferi50 Creative Commons License 2015.05.16 0 0 27175

Szia!

 

Ha valaki éjjel 3/4 11-kor teszi fel a kérdést, hamarabb nem lehet segíteni neki :)

(És messze volt még az éjfél, éppen csak akkor pont erre jártam...)

 

Üdv.

 

Előzmény: attilalr (27174)
attilalr Creative Commons License 2015.05.16 0 0 27174

Köszönöm! Mondtam én, hogy primitív :)

Azért ilyenkor tényleg eldobom az agyam... Vannak emberek, akik péntek éjfélkor azzal vannak elfoglalva, hogy vadidegenek bénázásán segítsenek...

Köszi.

Előzmény: Fferi50 (27171)
ypolito Creative Commons License 2015.05.16 0 0 27173

Szia!

 

Adott napon aktuális dátumot a ma() függvénnyel tudod elővarázsolni. Innentől kezdve különbséget vonsz a mai dátumból és a lejárat dátumából a C oszlopban úgy, hogy a mai dátumot rögzíted $ jellel. Arra figyelj, hogy a C oszlop cellaformázása általános vagy számformátum legyen. Ezután még csinálsz a C oszlopra feltételes formázást --> az a cella ami 30 vagy annál kisebb számot tartalmaz legyen kitöltve pirossal.

 

A linken találsz egy mintát.

https://www.dropbox.com/s/nch80hbool37met/Munkaf%C3%BCzet1.xlsx?dl=0

 

Ami 30 nap vagy annál kisebb az sárga, ami lejárt vagyis negatív az piros, ami még nem lejárt és nagyobb mint 30 nap, zöld.

 

üdv.:

P.

Előzmény: Balu424 (27172)
Balu424 Creative Commons License 2015.05.16 0 0 27172

sziasztok

 

Az egyik oszlopban nevek vannak, a másik oszlopban a nevekhez rendelt személyi igazolványok lejártának dátuma.  

Hogy tudnám azt elérni, hogy mindennap bekapcsolva a gépet kijelzi (pirosítsa, aláhúzza stb), ha a személyi igazolvány lejártáig 30 nap vagy annál kevesebb idő van?

Fferi50 Creative Commons License 2015.05.15 0 0 27171

Szia!

 

Excel 2007-től: adatok - szövegből oszlopok - határolójelnek beírod a "|" karaktert.

 

Üdv.

Előzmény: attilalr (27170)
attilalr Creative Commons License 2015.05.15 0 0 27170

Sziasztok!

A segítségeteket szeretném kérni. Lehet nagyon primitív a kérdés, de nem vagyok egy excel zseni.

A probléma: Van 160 xls táblázatom (szerintem xml-ből csinálták). Van néhány egyszerű dolog amiket meg kéne ezekkel csinálnom, a nagy része már kész, de elakadtam.

Feladat:

Vannak olyan cellák, amikben az adatok "|" karakterrel vannak elválasztva. Egy cella tartalma így néz ki:

Adat1 | Adat2 | Adat3

A munka az lenne, hogy az adatokat egymás melletti külön cellákba pakoljam a "|" karakterek mentén. Valahogy így:

Cella1: Adat1, Cella2: Adat2, Cella3: Adat3

 

Remélem tudtok segíteni, előre is köszi.

Fferi50 Creative Commons License 2015.05.14 0 0 27169

Szia!

 

" KIMUTATÁS / Számított mezővel is meg lehetne oldani amúgy"  Eredő Vektor barátunk pont azt javasolta lentebb.

 

Csak kicsit agyalni kell rajta.

 

Üdv.

Előzmény: Gezsoko01 (27168)
Gezsoko01 Creative Commons License 2015.05.14 0 0 27168

Köszi! :) - jah... hát eszembe juthatott volna...

 

csupán kíváncsiságból: KIMUTATÁS / Számított mezővel is meg lehetne oldani amúgy? (vagy akár extra oszlopok beillesztése nélkül?)

Előzmény: Fferi50 (27167)
Fferi50 Creative Commons License 2015.05.14 0 0 27167

Szia!

 

Ahogy én gondolom:  Az 500 egyedi cikkszámot kimásolnám egy új oszlopba (akár azon a munkalapon is - pl. átmásolod az összeset és utána adatok - ismétlődések eltávolítása, vagy ehelyett irányított/speciális szűrés egyedi tételeket).

Tételezzük fel, hogy A oszlop a 20000 tételes cikkszám, B oszlop ugyanitt a mennyiség, C oszlop ugyanitt az egységár. A D oszlopba tennék egy szorzatot: =B2*C2

 

Az 500 egyedi cikkszám pedig a F oszlopban van, legyenek az értékek a második sortól lefelé mindenütt.

 

G2 cella képlete: =SZUMHA(A:A;A2;D:D)/SZUMHA(A:A;A2;B:B)

 

Ezt végighúzhatod az F oszlopon.

 

Üdv.

Előzmény: Gezsoko01 (27166)
Gezsoko01 Creative Commons License 2015.05.14 0 0 27166

súlyozott átlag képlet meg van - és működne is, ha 1 cikkszámra kellene, viszont nekem a 20.000 soros Excel táblában van 500 cikkszám, amelyekre egyenként kellene a súlyozott átlagár... (ha cikkszámonként rendezem és 500 alkalommal kijelölném a tartományt és arra alkalmazom a képletet, valószínű működne is, de talán van kevésbé időigényes megoldás is :) ) Köszönöm előre is!

Előzmény: Törölt nick (27163)
Eredő Vektor Creative Commons License 2015.05.14 0 0 27165

pivotban számított mezővel ki lehet ezt számolni.

Előzmény: Gezsoko01 (27162)
attah Creative Commons License 2015.05.14 0 0 27164

Sziasztok!

 

Azt észrevettétek már Excel 2010-ben, hogy ha egy függőlegesen összevont cellát formátummásolással másolom tovább az alatta lévőkre, akkor az így másolt cellák esetén - a cellaösszevonás mellett is - megtartja minden sor értékét? Ezt a szűrők alkalmazásából lehet észrevenni.

 

Kipróbálási lehetőség:

1. A1 = "Szám" B1 = "Betű"

2. A2= 1; A3= 1;

3. A3= 2; A4= 2; A5= 2

4. B2 = 'a' B3 = 'b' B4='a' B5= 'b'

5. Cellaegyesítéssel az A2 és A3-t összevonom - erre feljön az üzenet, erre OK.

6. Az összevont A2&A3 cellát formátummásoljuk az A4-A5-re.

7. Szűrőt felteszünk az első sorra

8. A oszlopot leszűrjük a 2-esre. -> akkor helyesen A oszlopban a A4-A5-ös cella 2-essel, B oszlopban pedig a B4= a és B5= b

9. Az A oszlopot ezután leszűröm 1-esre, akkor a B oszlopban csak a B2-es cellát hozza fel eredményül, pedig még a B3-nak is meg kellene jelennie. A B3-as cellát csak úgy lehet megjeleníteni a fenti műveletek során, ha az A oszlopot nem 1-esre, nem 2-esre, hanem (Üres)-re szűrjük.

 

Nem tudom, hogy az újabb Excelek esetén is előfordul-e ez a hiba.

Törölt nick Creative Commons License 2015.05.14 0 0 27163

Szerintem ez inkább:

=SZORZATÖSSZEG(darabszámok tartománya;egységárak tartománya)/SZUM(darabszámok tartománya)

De lehet, hogy félreértettem.

Előzmény: Gezsoko01 (27162)
Gezsoko01 Creative Commons License 2015.05.14 0 0 27162

Sziasztok!

 

Kis segítséget szeretnék kérni súlyozott átlag számításhoz! - Van egy 20.000 soros lekérdezésem tele cikkszámokkal. A cikkszámokhoz tartozik egy egységár és eladott mennyiség.

Szükségem lenne egy olyan képletre vagy makróra ami cikkszámonként rendezve a darabszámmal súlyozott egység átlagárakat adja ki! (A PIVOT csupán átlagár számítására képes ami számomra nem megfelelő mert van olyan cikk amit 0 ft/egység 1DB mennyiségben és pl 10ft/egységáron (100DB) átlagban 5ft/DB átlagáron hoz ki pedig nyilván súlyozott átlagként 10 körüli értéknek kellene szerepelnie.)

 

gondolom itt ha / szumha vagy fkeres függvények segítségével lehetne egy összetett képlettel megoldani a problémát.

 

Tudtok ebben segíteni?

 

Előre is köszi

 

Üdv

 

Fferi50 Creative Commons License 2015.05.14 0 0 27161

Szia!

 

Az adott cella interior.colorindexe vagy interior.color értéke (a kettő természetesen nem ugyanaz).

Pl. beszínezel egy cellát, ráállsz és megnézed a VBA nézet immediate panelján :  ?activecell.interior.colorindex (enter)

A VBA immediate panelján a ? (print parancs rövidítése) használatával hasznos információkat tudhatsz meg.

A colorindexnél nem mindegy, hogy melyik szinskála van "használatban", mivel több (elég sok ...) is van belőle. Ezért egyértelműbb a color lekérdezése.

Van néhány konstans is, vbwhite,vbblack,vbyellow,vbgreen pl.

 

A color értéket megadhatod az RGB függvénnyel (pl. RGG(255,0,0)) az piros szín lesz.

 

Üdv.

Előzmény: Gimre70 (27160)
Gimre70 Creative Commons License 2015.05.14 0 0 27160

Sziasztok.

 

Azt szeretném megkérdezni, hogy ha egy cellát valamilyen színnel "befestünk"- háttérszín. Akkor azt a színkódot hol tudom "leolvasni" hogy a makróban tudjam használni a interior.colorindex tulajdonságban.

 

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

 

Sánta Kutya (SK) Creative Commons License 2015.05.12 0 0 27159

Például ezeken az itcafés linkeken milyen okos emberek tanácsait lehet olvasni!

Előzmény: Delila10 (27158)
Delila10 Creative Commons License 2015.05.12 0 0 27158

Off: Szeretek ide járni, itt mindig lehet művelődni. :D  :Off

Előzmény: _Nyuszi (27157)
_Nyuszi Creative Commons License 2015.05.12 0 0 27157

OFF

A kicsit szeretlek pedig a <2,99

:D

Előzmény: Delila10 (27134)
Eredő Vektor Creative Commons License 2015.05.12 0 0 27156

Ok, bocs én általánosságban fogalmaztam a kérdéstől függetlenül.

Csak az egy mondatodon akadtam fenn :)

Előzmény: Sánta Kutya (SK) (27146)
Jarvis94 Creative Commons License 2015.05.12 0 0 27155

Köszi. Rendszeridőt nem váltottam úgyhogy majd holnap kiderül, de gondolom hogy ezt már nem fogja frissíteni.
Még egyszer kösz.

Előzmény: Fferi50 (27154)
Fferi50 Creative Commons License 2015.05.12 0 0 27154

Ez pedig egy makrómentes megoldás:

 

http://itcafe.hu/tema/excel/hsz_26760-26760.html

 

Az iteráció a beállításoknál a képlet közelítések pontossága és kísérletek száma.

Vigyázz, mert ez excel szintű beállítás.

 

Üdv.

Előzmény: Jarvis94 (27152)
Fferi50 Creative Commons License 2015.05.12 0 0 27153

Szia!

 

Nézd meg ezt légy szíves. Itt időről van szó, de a NOW függvény helyettesíted a DATE függvénnyel és máris kész.

 

http://itcafe.hu/tema/excel/hsz_26755-26755.html

 

Üdv.

Előzmény: Jarvis94 (27152)
Jarvis94 Creative Commons License 2015.05.12 0 0 27152

Cégnél lenne rá szükségem. A raktárból a dolgozók által kivitt szerszámokat kéne jegyezni.
Van egy szerszám kivétel dátuma oszlop, egy visszahozatal dátuma oszlop, szerszám neve, darabszáma, dolgozó neve, és pluszba még egy olyan oszlop hogy "Visszahozta-e?".
A ötletem a munka megkönnyítése miatt az volt, hogyha bármit beírok a szerszám oszlopba akkor mellé autómatán beírja a kivétel dátuma oszlopba a rendszer dátumát.
És dettó hogyha a "Visszahozta" oszlopba igent írok, akkor a visszahozatal dátumát is autómatán beírja.

Különben köszönöm a választ. De ehhez makrót hogy kéne keresnem? Ha csak annyit írok hogy fix rendszerdátum beírás, vagy nem frissített rendszerdátum beírás, ezekre semmi érdemlegeset nem találok. Sajna makró íráshoz viszont nem értek.

Előzmény: Sánta Kutya (SK) (27150)
Sánta Kutya (SK) Creative Commons License 2015.05.12 0 0 27151

Viszont a probléma annyira alapvető, hogy a Google biztos talál kész makrót hozzá.

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

Hát erre vagy makrót írsz, vagy fogod, ami megjelent, és érték szerint visszamásolod ugyanoda irányított beillesztéssel. Ha nem túl sok, akkor talán ez az egyszerűbb. Sajnos nincs ilyen beépített lehetőség, pedig hasznos volna.

Előzmény: Jarvis94 (27148)
E.Istvan Creative Commons License 2015.05.12 0 0 27149

Megoldható úgy is, hogy az eredeti csoportosító jelek megnyomásával működjön. Vagyis a már elkészített csoportosítások kinyithatók, becsukhatók, de új csoportosítás nem hozható létre és a meglévők sem változtathatók meg.

 

Private Sub Workbook_Open()

        ThisWorkbook.Sheets("Védett munkalap").EnableOutlining = True

        Sheets("Védett munkalap").Protect Password:=”jelszó”, userinterfaceonly:=True

End Sub

 

 

Ha több munkalapon is szükséges a csoportosítást akkor a fenti két sort minden érintett munkalap nevével meg kell ismételni.

Előzmény: clinttt (27128)
Jarvis94 Creative Commons License 2015.05.12 0 0 27148

Sziasztok!

Excel-ben szeretném megcsinálni hogyha pl: AZ "A" oszlopba egyik cellájába beírok valami, akkor a mellette lévő cellábe beírja az aznapi dátumot.
HA fügvénnyel sikerült megcsinálnom, autómatikusan beleírjon a másik cellába, a rendszeridőt is kitudom jeleztetni. A probléma csak az hogyha másnap megnyitom az excelt akkor  megváltoztatja a dátumot.
Viszont nekem úgy kéne hogy amit 05.11.-én beírok, akkor azt másnap már ne írja át 05.12-re.

Megköszönöm ha valaki tud tippet adni.

clinttt Creative Commons License 2015.05.11 0 0 27147

Nem akartam eddig reagálni erre, de most megteszem:

Mivel én általában nem magamnak csinálok excel táblákat, hanem néha tök laikusoknak is, valószínűleg ezért "alakult ki bennem", hogy próbáljam minél átláthatóbban (ránézésre is követhetőbben) prezentálni a dolgokat. nyilván kihagyhattam volna az igaz-hamis opciót, de akkor három, számokból álló oszlop keletkezett volna, mely úgymond nem különül el egymástól. Így, hogy az utolsó oszlop nem szám, talán gyorsabban értelmezhetőbb a dolog.TUDOM, hogy az igaz-hamis nélkül is működött volna, és valakinek ez "felesleges túlbonyolítás" én ilyen módon is próbálok segíteni a usereknek.

Én kérek elnézést!

 

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

Azért fölösleges, mert rögtön oda lehet írni a kívánt értéket, ahogy mutattam. A másik megoldásban az igaz-hamis csak egy segédérték a szűréshez, de a kérdező nem ezt akarta látni.

Előzmény: Eredő Vektor (27145)
Eredő Vektor Creative Commons License 2015.05.11 0 0 27145

>>az igaz-hamis meg felesleges bonyolítás.

Az igaz-hamis egyáltalán nem felesleges bonyolítás, hanem szükséges és hasznos.

Ha csak és ugyanazt az értéket akarom keresni rendezetlen tartományban, akkor 0 (hamis)

Ha egy intervallumba eső értéket akarok visszakapni, akkor 1 (igaz).  Ekkor kell a csökkenő/növekvő rendezett tartomány

 

Klasszikus példa ez utóbbira:

korosított vevőkövetelési lista.:

A és B oszlopba:

 

-100000 <0

0 0-30

31 31-60

61 61-90

91 91-130

92 >131

 

=FKERES(D1;$A$1:$B$6;2;1)

 

D1-be: 54

eredmény:31-60

Előzmény: Sánta Kutya (SK) (27139)
arsis Creative Commons License 2015.05.11 0 0 27144

Sziasztok!

 

Excel file-t szeretnék megjeleníteni kml-ben.

Ezzel az online Programmal sikerült is a művelet,

http://www.mapsdata.co.uk/online-file-converter/

a konvertált file, rákkantitva, a Google Earth programban, megjelennek ugyanezek az adatok kivéve, a "KÉP" hiperhivatkozás. A fotó hivatkozása, ami ugyanabban a mappában  van mint az eredeti Excel file.

Meglehet egyáltalán ezt jeleníteni KML-ben?

Másik kérdés, hogy tudom változtatni az ikonok színét, méretét, alakját megadva, excel táblázatban, majd átkonvertálva KML-be ott a Google Earth-ben már különböző ikonnal jelenjenek meg az adatok.

Remélem érthető.

 

Fferi50 Creative Commons License 2015.05.10 0 0 27143

Szia!

 

Az Fkeres nagyon jó a pontos egyezés megkeresésére, hidd el (és ahhoz nem kell rendezettnek lennie annak a tartománynak, amiben keresel). Hátránya, hogy csak az első találatot adja meg (de ez igaz az általad favorizált kombóra is....)

"Én az index és hol.van függvényeket használom mindig."

Ez tulajdonképpen a keresőfüggvények általánosított "formája", amikor bármelyik sorban - oszlopban kereshetsz és nézheted meg a hozzá tartozó adatot.

Sőt - az index képes tartományt is visszaadni (erre csak nemrég vezettek rá éppen itt...).

Fkeres és vkeres pedig az első oszlopban ill. az első sorban keres és ahhoz rendeli hozzá a dolgokat.

A  hol.van függvény is hasonlóan viselkedik, mint az fkeres, csak ott a 3. paraméterrel szabályozhatod a keresés formáját.

Még szerencse, hogy ilyen sok megoldási lehetőség van és ki-ki vérmérséklete szerint használhatja az eszközeit.

 

Üdv.

 

 

 

Előzmény: Sánta Kutya (SK) (27141)
Fendergo Creative Commons License 2015.05.10 0 0 27142

Köszönöm mindenkinek, ezek alapján sikerült! :) Mind a két fajta megoldás ötletes, az utóbbi egy kicsit rövidebb, így azt használom.

Sánta Kutya (SK) Creative Commons License 2015.05.10 0 0 27141

Tényleg, én sosem szerettem ezt az fkerest, még a szeme sem áll jól. Becslésre tényleg jó lenne, de azt nem csinálok. Meg a kollégáim, amikor rám akarnak sózni egy félórás-órás munkát, általában azt mondják, hogy "csak egy fkeres". Én az index és hol.van függvényeket használom mindig.

Előzmény: Fferi50 (27140)
Fferi50 Creative Commons License 2015.05.10 0 0 27140

Szia!

 

"Már bocsánat, de az FKERES tudtommal rendezett halmazon működik"

Ezt nem egészen jól tudod. Az Fkeres negyedik paraméter mondja meg azt, hogy "tartományban keres" vagy sem.

Ha a negyedik paraméter hamis(vagy 0, ami ugyanazt jelenti az Excelnek), ez azt jelenti, hogy pontos egyezést keresünk, ebben az esetben nem kell rendezettnek lennie a halmaznak.

A rendezettség akkor szükséges, ha közelítő értéket keresünk, akkor viszont feltétlenül rendezett halmazra van szükség.

 

Az összehasonlításra szerintem is egyszerűbb a képleted.

 

Üdv.

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

Már bocsánat, de az FKERES tudtommal rendezett halmazon működik, az igaz-hamis meg felesleges bonyolítás.

 

Én ezt írnám a C1-be: =HA(DARABTELI(A:A;B1)=0;B1;"")

És kész. Ha két halmaz különbségét akarom megkapni, akkor nem árt látni a két eredeti halmazt is, már csak azért is, mert a bemenő adatokat megsemmisíteni soha nem bölcs dolog, szükség lehet még rájuk, el is lehet rejteni a B oszlopot.

 

Ha a kérdező mégis ragaszkodik hozzá, hogy a B oszlop helyén jöjjön létre az eredmény, akkor C oszlop kijelöl, visszailleszt ugyanoda érték szerint, majd B oszlop töröl, ez sokkal gyorsabb a szűrésnél. Utána akár egy kupacba is lehet gyűjteni őket rendezéssel.

Előzmény: pimre (27137)
clinttt Creative Commons License 2015.05.10 0 0 27138

Valóban így van !

Előzmény: pimre (27137)
pimre Creative Commons License 2015.05.10 0 0 27137

Ez majdnem jó, csak egy kis bibi van. A feladat az, hogy a B oszlopból töröljük a megfelelőket. A megoldásod pedig azokban a sorokban ír igaz értéket, ahol az A oszlopbeli számot talált meg B-ben bárhol. És nem biztos, hogy mellette a B-ben egy törlendő adat van. Pl. az alábbi példában az A oszlopbeli 1, 2 és 3 számokat kellene törölni B-ből, miközben IGAZ értéket a B oszlopbeli 1,3 és 5-höz rendeltünk.

 

A B C

6 4 HAMIS

2 1 IGAZ

7 2 HAMIS

1 3 IGAZ

3 5 IGAZ

 

Ha viszont a keresést a B oszlopról indítva hajtjuk végre, az A-n keresve - ami a lényeget illetően ugyanaz - (=HA(SZÁM(FKERES(B1;A:A;1;0));IGAZ;HAMIS)), akkor jó lesz az eredmény:

 

A B C

6 4 HAMIS

2 1 IGAZ

7 2 IGAZ

1 3 IGAZ

3 5 HAMIS

Előzmény: clinttt (27136)
clinttt Creative Commons License 2015.05.10 0 0 27136

A megoldás lehet az hogy egy üres oszlopba csinálsz egy keresést, ahol az egyik oszlop értékeit megkeresi a másikban, és igaz szöveget ír ki ha talált egyezést (és hamisat ha nem).

Majd leszűrve az igaz értékre kitörlöd a B oszlop adatait.

A példában a keresést az A és B oszlopokban csináltam, (ha nálad más a két oszlop írd át). a függvény lefele húzható.

=HA(SZÁM(FKERES(A1;B:B;1;0));IGAZ;HAMIS)

 

Előzmény: Fendergo (27135)
Fendergo Creative Commons License 2015.05.09 0 0 27135

Sziasztok! Kérlek segítsetek!

 

Egyszerűnek tűnő problémám van, de én sehogyan sem jöttem rá: van két oszlopom, minden cellájukban egy-egy számmal. Azt szeretném elérni, hogy a második oszlopból törlődjenek azok a számok, melyek az első oszlopban szerepelnek (vagyis két halmaz különbségét akarom megkapni).

 

Köszönöm!

 

Fendergo

Delila10 Creative Commons License 2015.05.09 0 0 27134

Köszi! Ezt sem tudtam.

Előzmény: clinttt (27133)
clinttt Creative Commons License 2015.05.09 0 0 27133

Szívecske :)  (ha úgy nézed, hogy összeér a két karakter)

Előzmény: Delila10 (27132)
Delila10 Creative Commons License 2015.05.09 0 0 27132

Szívesen.

Mit jelent a "<3"?

Előzmény: wawabagus (27131)
wawabagus Creative Commons License 2015.05.09 0 0 27131

Nagyon köszi Delila10 a segítséget, mint mindig :-)!

<3

Előzmény: Delila10 (27117)
clinttt Creative Commons License 2015.05.08 0 0 27130

Ok, köszönöm az infókat.

Előzmény: Fferi50 (27129)
Fferi50 Creative Commons License 2015.05.08 0 0 27129

Szia!

 

Sajnos a "csoport" gombokhoz nem lehet eseményt (makrót) rendelni. Külön gomb kell a makró(k) indításához és úgy gondolom, csoportonként kell a gomb.

 

Üdv.

Előzmény: clinttt (27128)
clinttt Creative Commons License 2015.05.08 0 0 27128

Ez úgy is működhet, hogy a csoport bontó/nyitó gombra kattintva aktiválódik a makró és végzi el a dolgát, vagy külön egy gombra kell kattintani ? (utóbbi esetben, mi van ha több csoport van egy lapon?)

Előzmény: Fferi50 (27127)
Fferi50 Creative Commons License 2015.05.08 0 0 27127

Szia!

Sajnos direkt van így, csak makróval lehet megoldani, mert átmenetileg fel kell oldani a zárolást.

Legalábbis eddig nálam csak így működött.

 

Üdv.

Előzmény: clinttt (27126)
clinttt Creative Commons License 2015.05.08 0 0 27126

Még egy kérdésem lenne :)

Egy adott lapot szeretnék lapvédelemmel ellátni, és egyidejűleg a csoportosítás funkciót is használni.

Sajnos nem engedi védett lapon ezt a funkciót használni :(, ez direkt van így vagy meg lehet oldani, hogy működjön ?

Mindkét funkció szükséges lenne a lapon.

Köszönöm !

ypolito Creative Commons License 2015.05.08 0 0 27125

Sziasztok!

 

VBA tanfolyammal kapcsolatban van valakinek tapasztalata? A számalkot néztem, a training360-at és a ruandert.

 

Köszi

P.

clinttt Creative Commons License 2015.05.07 0 0 27124

Igen valóban így működött, most hogy összefoglaltad, megértettem, Fferi képlete, tök jól működik, Köszönöm nektek !

Előzmény: pimre (27122)
clinttt Creative Commons License 2015.05.07 0 0 27123

Na ez a megoldás nem jutott eszembe, jól működik!, Köszönöm !

Előzmény: Fferi50 (27121)
pimre Creative Commons License 2015.05.07 0 0 27122

Csak a dolog elméleti pontosítása kedvéért:

 

1. A forrás állományodban (ahol vannak a listázandó elemek) vannak üres elemek. Hiszen, ha A:A formában adtad meg a hivatkozást, akkor - ahogy írod is - az utolsó utáni első üres cella lesz az első e legördülőben.

 

2. Az érvényesítésnél az Excel nem az "első üres cellát" választja ki elsőként, hanem az első olyant, ami egyezik a legördülő mező már meglévő értékével. És ha abba eddig még nem lett semmi sem kiválasztva, akkor megkeresi az első vele azonosat (az első üreset), és azt veszi elsőnek.

Ha már választottál valamit, és erre lépsz vissza, akkor a választott érték lesz az első a legördülő listában.

 

3. Ha meg tudod oldani, hogy a forrás állomány végén se legyenek üres elemek (ezt oldja meg Fferi képlete), akkor nem tud mást tenni, kínjában a lista első elemére áll, ha nem talált üreset az üreshez:-)))

 

Előzmény: clinttt (27120)
Fferi50 Creative Commons License 2015.05.07 0 0 27121

Szia!

 

Az adatérvényesítéshez a nevet dinamikusan kell megadni az offset (2010-ben már eltolás) függvény használatával.

A képlet legyen ez a név megadásakor:

=ELTOLÁS(Munka1!$A$1;0;0;DARAB2(Munka1!$A$1:$A$60);1)

Ezután az adatok érvényesítésénél beírod a lista forrásának  =név

 

A munkalapok nevét és a tartományok helyét változtasd a saját helyzetednek megfelelően, a darab2 tartomány vége lehet természetesen sokkal hosszabb is, hogy tudd tölteni.

A név mindig az éppen teli sorokat fogja tartalmazni. Fontos, hogy az első cellában is legyen adat, ha azt nem szeretnéd megjeleníteni a listában, akkor  =ELTOLÁS(Munka1!$A$1;1;0;DARAB2(Munka1!$A$2:$A$60);1) legyen a képlet.

Remélem érthető és sikerülni fog.

 

Üdv.

 

 

Előzmény: clinttt (27120)
clinttt Creative Commons License 2015.05.07 0 0 27120

Úgy sem működik ha beszúrok egy üres sort :(, mindig az utolsó adat utáni üres cell lesz az első a legördülőben :(  GRRRR

Előzmény: clinttt (27119)
clinttt Creative Commons License 2015.05.07 0 0 27119

Igen, adatérvényesítés, bocsánat :)

Nincsenek üres cellák! Viszont az adatbázis feltöltése folyamatos, ezért kell megadni, cellaérvényesítésnek az egész oszlopot PL B:B.

Ma 10 sor van benne, holnap már 12 lesz stb. Rendezni nem kell, mert az adatoknak sorszáma van, de nincsenek is üres cellák.

Tegyük fel 10 sor van a lapon + a "fejléc" , ekkor a B2:B11 cellákban lesznek azok az adatok, melyek megjelennek a másik lap legördülőjében, viszont ott ezek szerint a B12-es (üres) cella "adata" lesz az első.

És az lenne a jó ha az első (B2) cella adatától indulna a lista. De nem így van.

Azt írtad: "Amíg van üres cella a tartományban, addig az adatérvényesítés onnan fog indulni, ha nincs adat abban a cellában, amelybe írni szeretnél" Ezek szerint az megoldás, ha a fejléc és az első sor közé beszúrok egy üres sort, amit el rejtek és azt is beleveszem az érvényesítésbe ?

Előzmény: Fferi50 (27118)
Fferi50 Creative Commons License 2015.05.07 0 0 27118

Szia!

 

"Meg lehet oldani, hogy a legördülő menü mindig az első adattól mutassa az adatokat ?"

Mit értesz "legördülő menü" alatt? Az adott cellához tartozó adatérvényesítést?

Ha igen és amint írod, egy másik munkalapra készül el az adatérvényesítési lista, akkor miért vannak közte üres cellák? Az üres cellákat vedd ki a tartományból (rendezés után a végére vagy az elejére kerül és törölhető).

Amíg van üres cella a tartományban, addig az adatérvényesítés onnan fog indulni, ha nincs adat abban a cellában, amelybe írni szeretnél.

 

Üdv.

Előzmény: clinttt (27116)
Delila10 Creative Commons License 2015.05.07 0 0 27117

Ímé a makró:

 

Sub Varosok()
   Dim sorTiszta As Long, sorPiszkos, varos As String, usor As Long

   usor = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
   Sheets(2).Select
   sorTiszta = 1
   Do While Cells(sorTiszta, 1) > ""
      varos = Cells(sorTiszta, 1)
      For sorPiszkos = 1 To usor
         If InStr(Sheets(1).Cells(sorPiszkos, 1), varos) > 0 Then _
            Sheets(1).Cells(sorPiszkos, 2) = varos
      Next

      sorTiszta = sorTiszta + 1
   Loop
End Sub

Előzmény: wawabagus (27115)
clinttt Creative Commons License 2015.05.07 0 0 27116

Sziasztok

tudnátok segíteni ?

 

Adott egy sheet melyen soronként, manuálisan történik az adatok feltöltése (naponta változhat)

Ennek a sheetnek az egyik oszlopának az adatairól  (egy másik lapon) legördülő menü készült.

A probléma az, hogy a legördülő menü, sosem az elejéről mutatja az adatokat, hanem mindig valahol középen, ahol nincs adat.

Ezért 1. mindenképpen görgetni kell a listán, 2. a user azt hiszi nincs "benne" adat.

Meg lehet oldani, hogy a legördülő menü mindig az első adattól mutassa az adatokat ?

(akárhogy adom meg a területet (teljes oszlop, elnevezés, cellahatárok), mindig ugyanaz az eredmény). A beállításokban sem találok ilyen lehetőséget :(.

Köszönöm!

 

wawabagus Creative Commons License 2015.05.07 0 0 27115

Szia Delila10!!!

Nagyon köszi a trükkös képletet!!!

Tök jól működik, akkor van csak gond, ha nem 1x található meg a város a piszkos oszlopban...:-/.

Valószínű sokkal egyszerűbb lenne makroval megoldani, az a megérzésem :-D,

Brühühü...képelettel nagyon trükkös az ez egész... 

Előzmény: Delila10 (27114)
Delila10 Creative Commons License 2015.05.06 0 1 27114

Szia!

 

Sajnos a képek beszúrását ügyesen elrontották, pedig egyszerűbb lett volna.

 

A "piszkos" adatok a Munka1 lap A oszlopában vannak, a "tiszták" a Munka2 A oszlopában.

 

A Munka2!B1 képlete: =HAHIBA(HOL.VAN("*"&A1&"*";Munka1!A:A;0);""),

a Munka1!B1-é =INDEX(Munka2!A:B;HOL.VAN(SOR();Munka2!B:B;0);1)

 

Üdv, Delila

 

 

Előzmény: wawabagus (27109)
Fferi50 Creative Commons License 2015.05.06 0 0 27113

Szia!

 

Van itt ebben egy-két dolog amit mailban jobb lenne megbeszélni.

 

Üdv.

Előzmény: Fferi50 (27112)
Fferi50 Creative Commons License 2015.05.06 0 0 27112

Még egy kiegészítés:

 

Az egyesített cellának külön-külön nem lehet makróból beállítani a védelmét, ott az egyesített cellákra kell a védelmet állítani:

 

    If c.MergeCells Then
       c.MergeArea.Locked = c.Interior.Color = 49407  'RGB(255,192,0)=49407
    Else
       c.Locked = c.Interior.Color = 49407
    End If

 

Üdv.

Előzmény: ypolito (27110)
Fferi50 Creative Commons License 2015.05.06 0 0 27111

Szia!

 

Szerintem próbáld meg a keresést szín alapján:

 

Először be kell állítani a keresési formátumot:

application.findformat.interior.color=Rgb(255,192,0)

ezután pedig a

ws.usedrange.locked=false 'felszabadítja a cellákat 

set c=ws.usedrange.find(what:="",searchformat:=true)

sor megtalálja az első adott színű cellát,

c.locked=true ' zárolja a cellát

megkeressük a következő cellát:

set c=ws.usedrange.findnext after:=c

 

Ezt kell beletenni egy ciklusba úgy, hogy az első találatnak megjegyzed a címét: elsocim=c.address

A ciklus kilépési feltétele: if c.address=elsocim, mivel ekkor végigért az összes cellán.

 

Tehát kb. így nézne ki:

set c=ws.usedrange.find(what:="",searchformat:=true)

elsocim=c.address

do while true ' ez az én ugymond hobbim

c.locked=true

set c=ws.usedrange.findnext after:=c

if c.address=elsocim then exit do

loop

 

Azt nem tudom, hogy  végén miért fut hibára.

 

Üdv.

Előzmény: ypolito (27110)
ypolito Creative Commons License 2015.05.06 0 0 27110

Sziasztok!

 

Legyen kedves valaki ránézni:

Lefut, zárol amit kell, de a végén hibát dob: "Range osztály Locked tulajdonsága nem állítható be"

És nem utolsó sorban lassú is. kb 14.000 sor és 17 oszlop ami vizsgálnia kell, képlet sehol sincs csak értékek. Lehet valamit gyorsítani rajta?

 

Köszönöm
P.

 

Sub cella_lock()
Dim ws As Worksheet
Dim c As Range
Dim pwd As Variant

Application.EnableEvents = False
 
pwd = "Company"
    For Each ws In ThisWorkbook.Worksheets
        For Each c In ws.UsedRange
        c.Locked = c.Interior.Color = RGB(255, 192, 0)
        Next c
    ws.Protect Password:=pwd
    
     Application.EnableEvents = True

    Next ws
End Sub

wawabagus Creative Commons License 2015.05.06 0 0 27109

Sziasztok!

Jó rég jártam már erre :-D, de most ismét itt vagyok.

 

Abban szeretnék segítséget kérni, hogy megoldható-e a dolog függvényezéssel:

Adva van egy oszlopom "piszkos" adatokkal,

 

Piszkos adatok

Budapest 87631

9723hdu Kairo

Madrid ö982j312

 

És adva van egy lista is, ahol a vérosnevek "tisztán" szerepelnek

Budapest

Ka

Madrid

 

A kérdés az lenne, hogy tudom a piszkos mellé kikeresni a tisztából a városnevet. A feniek csak példák, mindenféle felesleges dolog van a cellában, de nekem mindig a város kell.

 

Próbálkoztam a FIND függvénnyel:

=FIND(Sheet3!A:A;A1;1)

 

Ugye normál esetben a find első helyére a konkrt értéket kell beírni...de én azt szeretném, ha nem 1 cellát nézne, hanem egész range-ben keresne...nem tudom mennyire érthető...

 

Igy nézne ki rendesen a függvény:

=FIND("Budapest";A1;1)

 

Ez meg az ügyeskedésem:

=FIND(Sheet3!A:A;A1;1)

 

Sheet3!A:A itt tallható a letisztított lista. De valahogy nem akar működni :-(...

 

Szerintem valami array függvény kéne...de lehet hülyeséget beszélek.

Nem szeretném macroval, ha lehetne ezt függvénnyel...vba-ban nem vagyok akkora penge.

 

Van valami ötletetek esetleg?

Előre is köszi!

 

 

Fferi50 Creative Commons License 2015.05.05 0 0 27108

Nincs mit, szívesen segítek máskor is.

 

Üdv.

Előzmény: clinttt (27107)
clinttt Creative Commons License 2015.05.05 0 0 27107

Hogy ez miért nem jutott eszembe, nem tudhatom :)  KÖSZI!

Előzmény: Fferi50 (27106)
Fferi50 Creative Commons License 2015.05.05 0 0 27106

Szia!

 

Használd a kerekítés függvényt. ="az eredmény "  & Kerekítés(500/12;1)

 

Üdv.

Előzmény: clinttt (27105)
clinttt Creative Commons License 2015.05.05 0 0 27105

Sziasztok

Tudnátok abban segíteni, hogy van e megoldás arra, hogy ha 1 cellába szeretnék, szöveget és egy számolás értékét írni akkor, is szabályozható legyen az eredmény hossza.

Pl ennél a számolásnál:  ="az eredmény "&500/12    13 tizedesjegyig kiírja az eredményt, de nem tudom beállítani, hogy csak egyet mutasson.

 

Köszi előre is!

Fferi50 Creative Commons License 2015.05.04 0 0 27104

Szia!

 

Továbbá az sem ártana, ha az eseménykezelést közben letiltanád:

Az elején

Application.enableevents=false

A kilépés előtt  visszakapcsolás

Application.enableevents=true .

 

Üdv.

Előzmény: Gimre70 (27101)
Fferi50 Creative Commons License 2015.05.04 0 0 27103

Szia!

 

Az a baj, hogy az "OFF" már maga szöveg, tehát az str(vege) amiatt lesz type mismatch, mert szövegből szeretnél szöveget csinálni.

Ezért meg kell nézni előbb, hogy szám-e amit bevittél:

if not isnumeric(vege) then 

  ide jön az amit akkor kell csinálnia, ha szöveg van benne

else

  ide jön az amit akkor szeretnél, ha szám

endif

 

(Az időt - és a dátumot is -  egyébként számként értelmezi az excel és a vba is -> a megjelenítését a szám formátum dönti el.)

 

Üdv.

Előzmény: Gimre70 (27101)
Delila10 Creative Commons License 2015.05.04 0 0 27102

If Str(vege) = "OFF" Or Str(vege) = "" Then sorból hagyd ki az str-eket.

Előzmény: Gimre70 (27101)
Gimre70 Creative Commons License 2015.05.04 0 0 27101

Hát megpróbáltam lekezelni a Select case előtt de valahogy így sem akar normálisan működni. 

 

Itt van a javított változat.

 

Dim kezdes, vege
Dim ledolgozott, szamit1, szamit2
Dim szamit As Currency
Const oraber = 430

kezdes = Cells(Target.Row, 3).Value
vege = Cells(Target.Row, 4).Value
If Str(vege) = "OFF" Or Str(vege) = "" Then
Cells(Target.Row, 5) = 0
Exit Sub
End If

Select Case (Minute(vege))
Case 0, 30
    Cells(Target.Row, 5) = ((vege - kezdes) * 24)
Case 1 To 29
    Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5
Case 31 To 59
    Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5
Case Else
    Cells(Target.Row, 5) = 0
End Select

 

Így is Type mismatch hiba jelentkezik.

 

 

pimre Creative Commons License 2015.04.30 0 0 27100

Jogos. Ezek szerint a "A Worksheets helyett a Worksbooks-a is müködne ez az eljárás?" kérdésre a válasz: Igen.

Előzmény: Fferi50 (27099)
Fferi50 Creative Commons License 2015.04.30 0 0 27099

Szia!

 

Kiegészítésként:

A Thisworkbook kódlapon is van elég sok olyan eseménykezelő, amelyik a munkalapok változásaira "indul be":

 

Pl. Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

és van még jópár, amelyik Sheet-el kezdődik.

Az Sh paraméter mutatja meg, hogy melyik munkalapon történt az esemény.

 

Ez azért jó, mert itt tudsz megadni több munkalapra vonatkozóan egyszerre - együtt eseménykezelési eljárást, nem kell minden munkalapon külön - külön beírni a kódlapjára.

Az Sh paraméter alapján pedig elágaztathatod az eljárást attól függően, hogy melyik munkalapon volt az esemény.

 

Üdv.

Előzmény: pimre (27098)
pimre Creative Commons License 2015.04.30 0 0 27098

"A Worksheets helyett a Worksbooks-a is müködne ez az eljárás?"

 

Nem. Az az Excel fix beállítása, hogy a munkafüzeten, illetve a munkalapon milyen eseményvezérlőket használhatsz.

 

Ezt magad is meg tudod nézni a VBA képernyőn következő módon:

 

Munkafüzetnél: Az egyik munkafüzet fölé állsz az egérrel, jobb gomb, majd a listában View Code kiválasztás.

 

A megjelenő Kód ablak bal oldalán fenn a General helyett a Worksheet-et választod (mást úgysem tudsz). És mellette a jobb oldalon legördülő menüben választhatod az itt felsorolt eseményeket.

 

Munkalapnál: A Thisworkbook fölé állsz az egérrel, jobb gomb, majd a listában View Code kiválasztás.

 

A megjelenő Kód ablak bal oldalán fenn a General helyett a Workbook-ot választod (mást úgysem tudsz). És mellette a jobb oldalon legördülő menüben választhatod az itt felsorolt eseményeket.

Előzmény: Gimre70 (27096)
Delila10 Creative Commons License 2015.04.30 0 0 27097

A Select Case előtt, vagy után add meg az "OFF" kezelését. Ilyen értéknél nem tud mit kezdeni a

Minute(vege)-vel.

 

Előzmény: Gimre70 (27096)
Gimre70 Creative Commons License 2015.04.30 0 0 27096

Sziasztok!

 

Először is köszönöm az előző kérdésemre adott választ.

 

Most egy másik gondom van. van egy excel táblázatom amiben a munka időmet tárolom. Sőt a többi kollégáimét is.

na most az a problémám, ahogy a programban is látni lehet ha az aktuális cellába beírom hogy OFF ami azt jelenti, hogy azon a napon nem dolgozom akkor a ledolgozott idő kiszámításánál type Mismatch hiba üzenetet ír ki.

 

Itt a program:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim kezdes, vege
Dim ledolgozott, szamit1, szamit2
Dim szamit As Currency
Const oraber = 430

 

kezdes = Cells(Target.Row, "C").Value
vege = Cells(Target.Row, "D").Value

Select Case (Minute(vege))
Case "OFF"
Cells(Target.Row, 5) = 0
Case 0, 30
    Cells(Target.Row, 5) = ((vege - kezdes) * 24)
Case 1 To 29
    Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5
Case 31 To 59
    Cells(Target.Row, 5) = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5
Case Else
    Cells(Target.Row, 5) = 0
End Select

End Sub

Az órabér változó azért van deklarálva, mert azt akartam, hogy a ledogozott összóraszám szerint kiszámolom az utolsó cellában a kapott pénzt, de ez sem sikerült, mert itt is valami hiba üzenetet ír ki.

 

Ui. A Worksheets helyett a Worksbooks-a is müködne ez az eljárás?

van valami megoldás?

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

djmorphy Creative Commons License 2015.04.30 0 0 27095

Sziasztok!


A segítségeteket szeretném kérni.

A "Dinamukus adatok" munkafüzet "A1" oszlopaban van egy egyedi ID. És az F oszlotól szeretném kiírni, hogy "Bevételek munkafüzet" "AG" oszlopában milyen egységárakon jött be. A "Bevételek Munkafüzet" "AJ" oszlopában van az egyedi ID amivel össze szeretném hasonlítani.

Tehát több találatom is lehet és ez okozza a fejtörést nekem, hogy ezeket hogy lehetne kiíratni egymás utáni cellákba

Norbert Pintér Creative Commons License 2015.04.29 0 0 27094

Nagyon szépen köszönöm a segítségedet.

Előzmény: Eredő Vektor (27091)
Fferi50 Creative Commons License 2015.04.29 0 0 27093

Szia!

 

Ezt írja erről az illetékes help (2010 magyar verzió).

"A szűrő- és nyomtatási beállításokat tetszés szerint módosíthatja. Alapértelmezés szerint minden felhasználó saját beállításait mentheti."

A munkafüzet megosztásakor a közös használat beállítások fülön lehet bejelölni az egyéni beállítások mentését. (Elvileg alapértelmezett, de nézd meg a beállításokat.)

 

Üdv.

Előzmény: nahimo (27092)
nahimo Creative Commons License 2015.04.29 0 0 27092

Sziasztok, egy olyan kérdésem lenne, hogy szűrőket valóban nem lehet használni megosztott munkafüzetek esetében? Én vagyok a file létrehozója, nálam minden tökéletes, viszont akárki már nyitja meg a hálózati meghajtóról, semmi nyoma a beállított szűrőknek. Kösz előre is

Eredő Vektor Creative Commons License 2015.04.29 0 0 27091

a1-be:

=a2

 

feltételes formázásnál kezdőlap/feltételes formázás --> cellakijelölési szabályok - egyenlő

a többi menni fog...

 

 

Előzmény: Norbert Pintér (27090)
Norbert Pintér Creative Commons License 2015.04.28 0 0 27090

Sziasztok!

 

Szeretném a segítségeteket kérni. Adott egy a1-es és egy a2-es cella. Az a2-es cella csak számokat tartalmaz. Létezik e olyan képlet amivel el tudom érni hogy az a1es cella értéke legyen egyenlő az a2es cella értékével, de ha az a2-es cella értéke nulla, akkor az a1-es cella kitöltése legyen mondjuk világos szürke. Remélem érthetően írtam le, nem értek az excel-hez csak használom. :) Segítségeteket előre is köszönöm.

Törölt nick Creative Commons License 2015.04.28 0 0 27089

Ez egy tréning, kérlek szépen. Tesztelik és fejlesztik a "hosszú mondandó tömör és lényeglátó összefoglalása" nevű kompetenciát.

:P

Előzmény: pimre (27088)
pimre Creative Commons License 2015.04.28 0 0 27088

Javaslatodra megtettem. Annyira kíváncsiak rá, hogy valamivel több mint 200 karakterben lehetővé is teszik, hogy megírja az ember az indokokat:-)

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

Ilyenkor kell a lap alján méltó választ adni a "Hasznos volt az információ?" kérdésre. Még indokolni is lehet :)

Előzmény: pimre (27065)
pimre Creative Commons License 2015.04.27 0 0 27086

Ebben a megoldásban kimaradt egy sor. Az első if sor elé kellett volna egy sor:

 

if lastrow=0 then exit sub

 

Ez azt használja ki, hogy amikor megnyitod az Excel táblát, és először indul el a program, a lastrow változó alapértelmezése 0. Ezzel pedig nem tud dolgozni a Range parancs.

 

A többi valószínűleg jó, de nem próbáltam ki.

Előzmény: thomas5000 (27083)
thomas5000 Creative Commons License 2015.04.27 0 0 27085

A színt én állítom, és sajnos semmi nem változik az excelben, amire "rá lehetne ültetni" a parancsot. Úgy értem, hogy semmi olyan változás nem történik az excelben, amiből ő tudná, hogy csinálni kell valamit. Pont ez a baj. Sajnos nem tudom jobban leírni. De közben rájöttem, hogy ez több gondot csinál, mint amennyit segítene.

 

Ne haragudjatok nem akartam programot csinálni nektek. 

 

Amit először írtál már az is nagy segítség volt. Ez nem volt olyan fontos.

Előzmény: pimre (27084)
pimre Creative Commons License 2015.04.27 0 0 27084

Azért nekem is lennének kérdéseim. Miért pont a szín alapján akartál adatokat módosíatni? Ebből persze jön a következő két kérdés: 

1. A színt mi alapján kapja a cella?

2. A színt ki állítja be? Te, vagy valamilyen automatizmus?

 

Azért kérdezem, mert ha magad állítod be, akkor annak valami oka van. Mondjuk az, hogy valamelyik cella adata alapján kiderül, hogy az a sor a B2 típusú szőrszálhasogató gép tartozéka, amire nincs szükség.

 

Ebben az esetben azért én is jobbnak tartanám annak az adatnak (vagy azoknak az adatoknak) a figyelését, amely(ek) változása alapján most pirosra színezed. Ez sokkal könnyebben kezelhető, például az eseménykezelővel.

 

Nem kell a lastrow/lastcol változópárral figyelni az előző cellát.

 

A sorok átmásolásával fenntartom, és nyomatékosan megismétlem, hogy semmiképp nem tenném az eseménykezelőbe. Ha mondjuk munkahelyi gépen dolgozol, akkor elég, ha a főnököd nézegeti a táblázatot és a tudtodon kívül beszúr egy csomó sort a másik munkalapon lévő táblázatba, pusztán azzal, hogy lépeget a sorokon.

Előzmény: thomas5000 (27079)
thomas5000 Creative Commons License 2015.04.27 0 0 27083

Public lastrow As Long

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim usor As Long
     If Target.Column = 7 And Cells(lastrow, "G").Interior.ColorIndex = 3 Then
          Cells(lastrow, "N") = "Nem"
          usor = Munka2.Range("B" & Rows.Count).End(xlUp).Row + 1
          Range("A" & lastrow & ":M" & lastrow).Copy Munka2.Range("A" & usor)
     End If
     lastrow = Target.Row
End Sub

 

Ezt írom bele. Elvileg ez annyit csinálna, hogyha a G oszlopban valamelyik cella hátterét pirosra változtatom, akkor ugyanabban a sorban az N oszlopban a cellába beírja, hogy "Nem".

Ezután az egész sort átmásolja a Munka2 lap utolsó sorában.

 

Nekem viszont sajnos semmit nem csinál. Vagyis Run-time error '1004';-et ír...

Fferi50 Creative Commons License 2015.04.27 0 1 27082

Szia!

 

" If Target.Column = 1 And Cells(lastrow, "A").Interior.ColorIndex = 3 Then                                   Itt az "A"-t átírom, arra a cellára, ahol keresem a piros kitöltést. "G"-re!"

 

Azért "nem csinál semmit", mert mind a két feltételt át kell írnod. A Target.Column=1 helyett Target.Column=7,vagyis feltétel

 

 If Target.Column = 7 And Cells(lastrow, "G").Interior.ColorIndex = 3 Then                                   

a megfelelő változtatás.

 

Üdv.

 

 

Előzmény: thomas5000 (27081)
thomas5000 Creative Commons License 2015.04.27 0 0 27081

 

Public lastrow As Long

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim usor As Long
     If Target.Column = 1 And Cells(lastrow, "A").Interior.ColorIndex = 3 Then                                   Itt az "A"-t átírom, arra a cellára, ahol keresem a piros kitöltést. "G"-re!
          Cells(lastrow, "B") = "Nem"                                                                                                   Itt a "B"-t átírom, arra a cellára, ahova írja be a "Nem" szót. "N"-re!
          usor = Munka2.Range("B" & Rows.Count).End(xlUp).Row + 1                                                Itt a Munka 2-t átírom a másik lap nevére, ahova másolni szeretnék.
        Range("A" & lastrow & ":M" & lastrow).Copy Sheets("Munka2").Range("A" & usor)                   Itt a Munka 2-t szintén átírom.
     End If
     lastrow = Target.Row
End Sub

 

De sajnos így sem csinál semmit.

 

Előzmény: Delila10 (27080)
Delila10 Creative Commons License 2015.04.27 0 0 27080

A 27073-as makróban a

 

 Range("A" & lastrow & ":M" & lastrow).Copy Munka2.Range("A" & usor)

 

sorban csak a Munka2-t kell átírni, végzi a másolást.

 

 

Így is megadhatod

 

 Range("A" & lastrow & ":M" & lastrow).Copy Sheets("Munka2").Range("A" & usor)

 

 

Előzmény: thomas5000 (27079)
thomas5000 Creative Commons License 2015.04.27 0 0 27079

Azért, mert akkor még azt hittem, hogy függvénnyel megoldható a dolog, és csak példának írtam, mert azt még úgy is át tudtam volna írni. de mind1 is

 

A feltételes formázást azt én is megtudom csinálni, de nekem nem az kellett, ezért is írtam ide.

 

Mert szín alapján szerettem volna feltételt adni, de azt nem lehet makrón nélkül.

 

És ebben pimre segített is, hiszen jól működik, amit írt. 

 

Sajnos nekem nem akkor kell ez a dolog, amikor beleírok, hanem amikor megváltozik a háttérszíne a cellának.

 

Ez már csak egy plusz dolog lenne, amit elképzelhető, hogy nem is lehet megcsinálni (én nem tudom, nem értek hozzá).

 

Azért köszönöm a válaszod!

 

 

Előzmény: Delila10 (27078)
Delila10 Creative Commons License 2015.04.27 0 1 27078

Ha akkor változtatod a háttérszínt, mikor írsz valamit a G oszlopba, akkor sokkal egyszerűbb a dolog.

Adj feltételes formázást a G oszlopra, ami akkor változzon pirosra, mikor beírsz oda valamit.

 

Az N oszlopot egy képlet segítségével kitöltheted, nem kell hozzá makró. Az N2 képlete: =HA(G2>0;"Nem";"")

 

A másoló makró továbbra is a lapodhoz rendelve:

 

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim usor As Long
     If Target.Column = 7 And Target <> "" Then
          usor = Sheets("Munkalap2").Range("A" & Rows.Count).End(xlUp).Row + 1
          Range("A" & Target.Row & ":M" & Target.Row).Copy Sheets("Munkalap2").Range("A" & usor)
     End If
End Sub

 

Mivel beírást kell figyelni, a Worksheet_Change esemény kezelésével egyszerűen megoldható.

 

Nem tudom, az első kérdésedben miért adtál meg a valóságtól eltérő oszlopokat. Mire jó, ha duplán, triplán kell dolgozni 1 feladaton?

Előzmény: thomas5000 (27077)
thomas5000 Creative Commons License 2015.04.27 0 0 27077

Az csak egy példa volt.

A G oszlopban változtatom a háttérszint, és az N-be írja be a "Nem" szót.

Előzmény: Delila10 (27076)
Delila10 Creative Commons License 2015.04.27 0 0 27076

27056-os hsz:

"...az A3-as cella színét megváltoztatom, akkor a B3-as cellába írjon be mondjuk "Nem" szöveget."

 

Akkor most melyik oszlopban változtatod a háttérszínt?

 

Előzmény: thomas5000 (27075)
thomas5000 Creative Commons License 2015.04.27 0 0 27075

Igazából annyira lenne szükségem, hogy ha a "munkalap1"-en a G oszlopban egy cellát pirosra színezek (töltök ki), akkor az a teljes sor (A-M-ig) másolodjon át a "munkalap2"-be.

Folyamatosan feltöltve azt, egymás alá, és ismétlés nélkül. 

Előzmény: pimre (27074)
pimre Creative Commons License 2015.04.27 0 1 27074

Nem javaslom, hogy ezt is a korábbi módon oldd meg. Ezt inkább egy olyan makróban kellene, ami egyszer elindítva végigmegy teljes munkalapon, és másolja a pirossal jelzett sorokat. 

 

Ugyanis, ha ebbe az eseménykezelőbe tennéd bele, akkor valahányszor visszamész egy ilyen sorra, másolatot készítene ezekről a sorokról. Javaslom, hogy készíts egy új modult, és oda másold be a következő makrót:

 

Option Explicit

Sub copypiros()

Dim forrutolsosor As Long, celutolsosor As Long, forrws As Worksheet, celws As Worksheet, i As Long

Set forrws = ThisWorkbook.Worksheets("Munka1")

Set celws = ThisWorkbook.Worksheets("Munka2")

forrutolsosor = forrws.Range("A" & Rows.Count).End(xlUp).Row

celutolsosor = celws.Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To forrutolsosor

    If forrws.Cells(i, 1).Interior.ColorIndex = 3 Then

        forrws.Range("A" & i & ":M" & i).Copy Destination:=celws.Range("A" & celutolsosor + 1)

        celutolsosor = celutolsosor + 1

    End If

Next i

End Sub

 

És persze akkor indítsd el, amikor a másolásra szükség van.

 

Persze fogalmam sincs, hogy tulajdonképpen mit akarsz megvalósítani ezekkel. Enélkül persze nem könnyű tippeket adni.

Előzmény: thomas5000 (27071)
thomas5000 Creative Commons License 2015.04.27 0 0 27073

Sajnos nem tudom működésre bírni.

 

 

Public lastrow As Long

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim usor As Long
     If Target.Column = 1 And Cells(lastrow, "A").Interior.ColorIndex = 3 Then                                   Itt az "A"-t átírom, arra a cellára, ahol keresem a piros kitöltést
          Cells(lastrow, "B") = "Nem"                                                                                                   Itt a "B"-t átírom, arra a cellára, ahova írja be a "Nem" szót.
          usor = Munka2.Range("B" & Rows.Count).End(xlUp).Row + 1                                                Itt a Munka 2-t átírom a másik lap nevére, ahova másolni szeretnék
          Range("A" & lastrow & ":M" & lastrow).Copy Munka2.Range("A" & usor)                                 Itt a Munka 2-t átírom szintén átírom, viszont az utána lévő "A"-t nem igazán tudom mire kéne átírnom...
     End If
     lastrow = Target.Row
End Sub

 

Delila10 Creative Commons License 2015.04.27 0 1 27072

Míg pimre előkerül:

 

Public lastrow As Long

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Dim usor As Long
     If Target.Column = 1 And Cells(lastrow, "A").Interior.ColorIndex = 3 Then
          Cells(lastrow, "B") = "Nem"
          usor = Munka2.Range("B" & Rows.Count).End(xlUp).Row + 1
          Range("A" & lastrow & ":M" & lastrow).Copy Munka2.Range("A" & usor)
     End If
     lastrow = Target.Row
End Sub

Előzmény: thomas5000 (27071)
thomas5000 Creative Commons License 2015.04.27 0 0 27071

Szia Pimre!

 

Tökéletes megoldás volt az amit írtál.


Még egy olyan kérdésem lenne, hogy megoldható-e az esetleg, hogy azt a sort, ahol piros a kitöltése a cellának azt A-M oszlopig átmásolja magától egy másik lapnak az utolsó üres sorához?

 

Az előző makród: 

 

Option Explicit

Public lastrow As Long, lastcol As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If lastcol = 1 Then ' Ha már mozdultunk, és az imént az A oszlopon voltunk

    If Cells(lastrow, lastcol).Interior.ColorIndex = 3 Then

        Cells(lastrow, lastcol + 1) = "Nem"

    End If

End If

lastrow = Target.Row

lastcol = Target.Column

End Sub

 

Válaszod előre is köszönöm!

 

 

 

pimre Creative Commons License 2015.04.27 0 0 27070

Jaj, kapkodtam, hülyeséget írtam. Persze, nem lehet megúszni a kerekítést. Elnézést.

Előzmény: Delila10 (27069)
Delila10 Creative Commons License 2015.04.27 0 0 27069

Dim a, b, c, d, e forma automatikusan variable típusként foglal helyet a változóknak.

 

A Long típus egész szám, -2 147 483 648 és 2 147 483 648 között. Ebbe nem fér bele a kérdező által használt 0,39; 0,4; 0,8 és 0,81-es lebegőpontos érték.

Előzmény: pimre (27068)
pimre Creative Commons License 2015.04.27 0 0 27068

Kezdem egy pontosítással. Az előbb azt írtam, hogy előfordul ilyen az Excelben. Ez hibás válasz volt, éppen Jimmy válaszából derült ki, hogy ez a jelenség nem Excel specifikus, és nem is VBA eredetű.

 

Annyiban mégis VBA eredetű, hogy feltehetőleg nem használod a VBA-ban a Tools-Options->Reqiure Variable Declarationt, ami minden kód elejére beszórja az Option Explicit parancsot. Ettől függetlenül is nagyon ajánlom. Segít az elütések ellen.

 

Vagy, ha használod, akkor "Dim a, b, c, d, e" formában deklarálod a változóidat, ami automatikusan Double típusúnak deklarálja őket.

Deklaráld őket Long típusúnak, és máris nem lesz kerekítési hiba.

Előzmény: enyan (27067)
enyan Creative Commons License 2015.04.27 0 0 27067

Köszi a linkeket, akkor ezek szerint a kerekítés a megoldás. Az a baj, hogy több szálon vannak az értékek felhasználva és a végén összehasonlítás "dönti" el, hogy a csoportosított értékek összege megegyezik-e a teljes összeggel. Szóval a végső összehasonlításnál nem lehet gond egy ilyen beiktatott kerekítésből?

 

Köszi!

Előzmény: pimre (27066)
pimre Creative Commons License 2015.04.27 0 0 27066

Igen, ez előfordul az Excelben. Az egyszerűség kedvéért megadom a linkeket egy másfél évvel ezelőtti beszélgetéshez:

 

kérdés, Jimmy válasza

 

Előzmény: enyan (27064)
pimre Creative Commons License 2015.04.27 0 0 27065

Szia Feri, ma reggel nekiduráltam magam, és elkezdtem átrágni magam az általad is elküldött leíráson. Az igazság az, hogy egy-két nappal előbb már én is megtaláltam, csak annyira utálom a Support office leírásokat (részleteket ld. alább), hogy az visszatartott attól, hogy belekezdjek. Jött a "majd-majd..." effektus. 

 

Kezdem a megoldással: {Születési_idő @"yyyy.MM.dd"}.

 

Eddig a végtelen egyszerű megoldásig több mint egy óra olvasással, és sok próbálgatással jutottam el. És itt kénytelen vagyok egy kis offolással elmondani, hogy mi a bajom ezekkel a Support office leírásokkal.

 

Egyszerűen a használhatatlanságig zavarosak.

 

1. Elkezd a leírás magyarázni valamit, aztán abszolút nem odavaló példákat hoz fel. Pédául ebben a leírásban van egy cím: Mezőkódok szintaxisa. Itt leír 3 elnagyolt sort erről, majd példának leírja a Filenév megadását az élőfej/élőlábban (persze azt is hiányosan). Ezután teljesen más témára tér át.

 

2. Kicsit később jön a mező szerkesztésének leírása. Már kezdtem reménykedni, hogy ez használható leírás lesz,, de mit látok: Kattintson a jobb gombbal a mezőre, és kattintson a Mező szerkesztése parancsra. Megtettem, hát amit itt találtam, az biztos jó valamire, de nem a mező szerkesztés tanulmányozására.  A leírás ajánlja hozzá a SHIFT f9 kombinációt, ami így nem működik. Valamit elront ugyan a mezőben, de nem volt kedvem belemélyedni az okok tanulmányozásába. És további magyarázat nincs, a leírás áttér az eredmények megjelenítésére.

 

3. Aztán végre jönnek a formátum kapcsolók nagyon részletesen. Csak éppen arról, hogy ezt miként kell alkalmazni a saját mezőimre vonatkozóan, arról egyetlen szó nem esik. Jó, itt mondjuk rájöhettem volna, hogy ahol a leírás a saját beépített DATE mezőnevét használja, ott nekem a sajátomat kell.

 

4. A szövegformázásnál többször is említi a MERGEFORMAT kapcsolót. A példák elnagyoltak, és az sem derül ki, hogy miféle formázást lehet ezzel megőrizni. Ráadásul az, hogy az én konkrét esetemben ez nem javítja, hanem éppen elrontja a szándékolt eredményt, az végképp nem derül ki.

 

Szóval ezért kellett most több mint egy óra a megfelelő (egyébként végtelenül egyszerű) formázás megtalálásához, és ezért - nemcsak az egyéb elfoglaltságaim miatt - halogattam a dolgot mostanáig.

 

De azért nagyon köszönet az úton való elindításért, és elnézést a hosszú panaszkodásért.

Előzmény: Fferi50 (27033)
enyan Creative Commons License 2015.04.27 0 0 27064

Sziasztok!

 

Egy érdekes "jelenségre" lettem figyelmes, amit nem igazán tudok megoldani és még abban sem vagyok biztos, hogy én bénáztam el valamit. Megpróbálom amennyire lehet leegyszerűsíteni. Szóval lényegében két cella összegét kell kivonni egy harmadik cella értékéből. Működik is rendesen, de 2 esetben nem. Vagyis, ha a 0,4 és 0,8 a két kivonandó érték és 1,2 amiből ki kell vonni, az excel 0 helyett -2,22045E-16 ot ad eredményül. Ez a hiba jön még 0,81 és 0,39 nél is de fölötte (0,82+0,38) és alatta (0,79+0,41) már nem. Mi lehet a gond? Találkozott már valaki hasonlóval?

 

Köszi előre is!

pimre Creative Commons License 2015.04.27 0 0 27063

Szívesen.

Előzmény: thomas5000 (27062)
thomas5000 Creative Commons License 2015.04.27 0 0 27062

Nagyon szépen köszönöm! Igen pont ilyenre gondoltam!

Előzmény: pimre (27059)
pimre Creative Commons License 2015.04.26 0 0 27061

Szia, még nem. Kicsit zsúfolt hetem volt, de rövidesen nekiesek. 

Előzmény: Fferi50 (27060)
Fferi50 Creative Commons License 2015.04.26 0 0 27060

Szia!

 

Jutottál valamire a körleveles ügyben?

 

Üdv.

Előzmény: pimre (27059)
pimre Creative Commons License 2015.04.26 0 1 27059

Ha azt szeretnéd, hogy a táblázatodon menjen végig a program, és végezze el a "Nem" beírogatását, akkor xxxxxxxx megoldása tökéletes.

 

Ha viszont azt szeretnéd, hogy beírás közben is működjön a figyelés, akkor van egy kis gond. Lehet írni olyan makrót, ami egy cella tartalmának változására reagál, de sajnos a szín esetében ez nem működik.

 

Erre a következő áthidaló megoldást ajánlom. Az alábbi programot szúrd be a vizsgálni kívánt munkalap kódjaként (A technika:Alt + F11 megnyitja a VBA képernyőt. A bal oldalon látod a munkafüzeted lapjait. Egérrel fölé állsz a kívánt munkalapnak, majd jobb gomb után klick a View Code szövegre, és a mellette megnyíló nagy ablakba bemásolod a kódot. Aztán Alt + F11-el visszalépsz a munkalapra):

 

Option Explicit

Public lastrow As Long, lastcol As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If lastcol = 1 Then ' Ha már mozdultunk, és az imént az A oszlopon voltunk

    If Cells(lastrow, lastcol).Interior.ColorIndex = 3 Then

        Cells(lastrow, lastcol + 1) = "Nem"

    End If

End If

lastrow = Target.Row

lastcol = Target.Column

End Sub

 

A makró következőt csinálja: Amint elhagysz egy cellát, elvégzi a szín vizsgálatot. Ha az az elhagyott cella az A oszlopban volt, akkor kiírja az előző cella mellett a B oszlopban a Nem-et.

 

Valami ilyesmire gondolsz?

 

Előzmény: thomas5000 (27056)
XXXXXXXXXXXXX Creative Commons License 2015.04.26 0 1 27058

Pl:

 

Sub Szin()

Dim sor As Long, also As Long

also = Range("A" & Rows.Count).End(xlUp).Row

 

For sor = 2 To also
    If Range("A" & sor).Interior.Pattern <> xlNone Then
        Range("B" & sor) = "Nem"
    Else
        Range("B" & sor) = ""
    End If
Next

End Sub

 

Feltéve, hogy az első sor fejléc és az A és a B oszlop játszik.

Előzmény: thomas5000 (27057)
thomas5000 Creative Commons License 2015.04.26 0 0 27057

Sub Piros()
If Cells(2301, 7).Interior.ColorIndex = 3 Then
Cells(2301, 14) = "Nem"
End If
End Sub

 

Ezt a makrót találtam hozzá, ezzel csak annyi a baj, hogy csak a 2301-es sorra érvényes, nekem pedig az összes sorra kéne...

Ezt hogy kéne átírni, hogy minden sornál működjön?

 

A válaszokat előre is köszönöm!

thomas5000 Creative Commons License 2015.04.26 0 0 27056

Sziasztok!

 

Excelben szeretnék egy olyan dolgot csinálni, hogy ha pl. az A3-as cella színét megváltoztatom, akkor a B3-as cellába írjon be mondjuk "Nem" szöveget.

 

=HA(CELLA("szín"; A3) = "v";"Nem"; 0) 

Ezzel próbálkoztam, de nem igazán sikerül... 

Ha csak makróban megoldható, és azt valaki megcsinálná nekem az is nagy segítség lenne, mert én sajnos nem nagyon értek hozzá...

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

thomas5000 Creative Commons License 2015.04.26 0 0 27055

Sziasztok!

 

Excelben szeretnék egy olyan dolgot csinálni, hogy ha pl. az A3-as cella színét megváltoztatom, akkor a B3-as cellába írjon be mondjuk "Nem" szöveget.

 

=HA(CELLA("szín"; A3) = "v"; A3 * "Nem"; 0) 

Ezzel próbálkoztam, de nem igazán sikerül... 

Ha csak makróban megoldható, és azt valaki megcsinálná nekem az is nagy segítség lenne, mert én sajnos nem nagyon értek hozzá...

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

Törölt nick Creative Commons License 2015.04.26 0 0 27054

A Select kiválasztja az objektumot, az Activate aktivál egyet a kiválasztottak közül. Kiválasztani többet is lehet egyszerre, de azok közül mindig csak egy aktív.

Pl:

 

Range("C3:F20").Select
Range("D8").Activate

 

vagy

 

Sheets(Array("Munka1", "Munka2", "Munka3")).Select
Sheets("Munka1").Activate

 

A makrórögzítő előszeretettel használja mindkét metódust, ezért aztán gyakran megjelennek az ember által írt makrókban is, de a futáslassításon és a képernyő-villogtatáson kívül különösebb értelme nincs egyiknek sem. Bármilyen objektum használatát biztonságosabb és hibamentesebb, tehát célszerűbb teljes hivatkozáson keresztül végezni, mint úgy, hogy Selection vagy Activecell, ActiveWorksheet, stb.

 

Az Activate esetleg hasznos lehet bizonyos esetben, amikor mondjuk aktiválsz egy munkalapot, mert akkor onnantól kezdve munkalap előtag nélkül használhatod a Range hivatkozásokat.

 

Tehát pl. teljes hivatkozás:

Thisworkbook.Worksheets("Munka12").Range("C9").Value = Thisworkbook.Worksheets("Munka12").Range("C9").Value + 4

 

vagy:

Thisworkbook.Worksheets("Munka12").Activate

Range("C9").Value = Range("C9").Value +4

 

Utóbbi módszerrel talán megspórolható némi kódírás, de igazából ezt is inkább úgy kéne, hogy:

 

With Thisworkbook.Worksheets("Munka12")

    .Range("C9").Value = .Range("C9").Value +4

End With

 

 

A Worksheets property csak a munkalap típusú sheet-eket veszi figyelembe, a Sheets property viszont munkalap és diagram típusú sheet-eket egyaránt

Előzmény: Gimre70 (27052)
Heno1974 Creative Commons License 2015.04.25 0 0 27053

csak nem tudom mi az a sqvi :(. de ha azzal lehetne .................

Előzmény: Eredő Vektor (27051)
Gimre70 Creative Commons License 2015.04.24 0 0 27052

Sziasztok.

 

Szeretnék kérdezni Excel makró vagyis Excel programozás terén.

 

Arra szeretnék választ kapni, hogy mi a különbség az activate és a select metódus között? Mind a kettő kijelöli az objektumot. Nem?

 

A másik kérdésem az lenne, hogy melyiket mikor kell használni a Worksheets és a Sheets objektumokat?

 

Ha például az írom hogy Worksheets.add after:=Worksheets(Worksheets.Count)

Vagy így Sheets.add after:=Sheets.count.

 

Mert sajnos amit tudok - bár nem sokat - azt is autodidakta módon tanultam sajnos nem tanultam iskolában teljes Excel programozást.   Bár jó volna ha lenne valaki aki megtanítana. De tudom hogy ez pénzbe kerül.

 

Erre szeretnék választ kapni.

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

 

Eredő Vektor Creative Commons License 2015.04.24 0 0 27051

Azt te tudod miért kell közvetlen excel, de egyébként SQVI-ben lekérdezhető bármelyik tábla, akár relációval is. Ezt pedig azonnal át tudja adni az excelnek.

Előzmény: Heno1974 (27050)
Heno1974 Creative Commons License 2015.04.24 0 0 27050

szia!

a Logon szkript megvan már azt megirtam.

a tábla lekérdezést nem tudom hogy kell megirni.

excelbe kiexportáltam a táblát hogy mik is vannak benne, s mi kellene nékem belőle.

Előzmény: ypolito (27049)
ypolito Creative Commons License 2015.04.24 0 0 27049

Hello!

 

Láttam már ilyet (és használtam is) megírni sajna nem tudom. Az excelbe kell egy logon script, ami nem bonyolult. Viszont ahhoz hogy le tudj kérdezni bármit tudni kell a táblák neveit és a bennük található mezőkét is, ami azért szép számmal van (és nem árt ha van jogosultságod ezeket megnézni mondjuk SE12-ben). Egy sablont ráhúzni az egészre csak részben lehet.

 

üdv

P.

Előzmény: Heno1974 (27048)
Heno1974 Creative Commons License 2015.04.23 0 0 27048

Sziasztok!

SaP-ból szeretnék lekérdezést excelbe vba-val tudna segítteni valaki ékem??

Fferi50 Creative Commons License 2015.04.23 0 0 27047

Szia!

 

Magyar 2010-es excelben a Darabhatöbb függvényt használhatod. Egyik vizsgálandó oszlop az id lista, kritérium az kérdéses id, másik vizsgálandó oszlop a belépés dátuma, kritérium az adott nap. Ez így megmutatja, hogy hányszor lépett be a felhasználó azon a napon.

pl.  A oszlop az id-ket tartalmazza, B oszlop a dátumokat.   C1 cellába írod a keresendő id-t, C2 cellába a napot.

A képlet az E1 cellába:

= darabhatöbb(A:A;C1;B:B;C2)

 

Üdv.

Előzmény: kisC77 (27046)
kisC77 Creative Commons License 2015.04.23 0 0 27046

Milyen függvénnyel kell ezt megoldani?

 

Tehát nem tudom milyen függvénnyel kéne megoldani, hogy van egy több oszlopos táblánk. De igazából ehhez csak két oszlop szükséges szerintem. Az egyik egy id oszlop ahol a kódok, a másikba pedig dátum szerepel. Na és nekem olyan kellene, hogy a függvény leszűrje azt hogy 1 bizonyos id-val léptek e be egy nap többször, illetve hányszor?

Delila10 Creative Commons License 2015.04.23 0 0 27045

Itt is szívesen. :D

Előzmény: huliganboy (27044)
huliganboy Creative Commons License 2015.04.23 0 0 27044

Mindenkinek nagyon köszönöm!

 

Delila10 megoldása a nyerő.... kezdenem kell a makróval foglalkozni...

 

Sánta Kutya
Timur Lenk
Delila10

Előzmény: Delila10 (27043)
Delila10 Creative Commons License 2015.04.23 0 0 27043

A másik fórumon, ahol 1 órával előbb tetted fel a kérdést, írtam Neked 2 makrót. Az első simán transzponál, a második az eredeti értékek bal oldali 5 karakterét másolja egymás alá.

 

BAL(TRANSZPONÁLÁS(Munka2!B3:H3);5) képlet hibás.

Előzmény: huliganboy (27040)
Timur Lenk Creative Commons License 2015.04.22 0 0 27042

huliganboy:

 

Vannak itt nálam sokkal okosabbak, de az is egyszerű, ha notepadba másolod száz sorba (csak copy/paste, pillanatok alatt megvan), majd mindet kijelölve másold vissza az Excel oszlopod első sorába.

 

Timur Lenk

Előzmény: huliganboy (27040)
Sánta Kutya (SK) Creative Commons License 2015.04.22 0 0 27041

Nézegesd az INDIREKT és a SOR függvények leírását, és szerintem meg fogsz világosodni.

Ha az első sorba azt írod, hogy SOR(B1), az 1, és abból mér lehet képletet csinálni, pl. 2*SOR(B1)+1.

Mondanék többet is, de fejből nem nyomom a szintaxist, keresni meg te is tudsz.

Előzmény: huliganboy (27040)
huliganboy Creative Commons License 2015.04.22 0 0 27040

Sziasztok!

 

Ezt a függvényt, hogy tudom több száz soron át ismételni, manuális bevitel nélkül? Sorokat próbálok átalakítani oszlopokká. 

 

=BAL(TRANSZPONÁLÁS(Munka2!B3:H3);5)

 

A Munka2 B3 és H3 oszlop adatait rakja föggőlegesen egymás alá... Minden második sorból kellene hivatkozni..... Tehát a fenti B3-H3 után B5-H5 majd B7-H7 és így tovább következik...

UI: A függvény sajnos csak crtl+shift+enter esetén tömbként működik....

Köszönöm 

Fferi50 Creative Commons License 2015.04.20 0 0 27039

Szia!

 

Itt még egy link, amit egy másik fórumon most találtam:

https://support.office.com/hu-hu/article/Mez%c5%91k%c3%b3dok-besz%c3%bar%c3%a1sa-%c3%a9s-form%c3%a1z%c3%a1sa-a-Word-2010-alkalmaz%c3%a1sban-7e9ea3b4-83ec-4203-9e66-4efc027f2cf3?ui=hu-HU&rs=hu-HU&ad=HU

 

Üdv.

Előzmény: pimre (27032)
Sánta Kutya (SK) Creative Commons License 2015.04.19 0 0 27038

Így van. A tranzisztortól a mikrochipig sem egy csettintéssel jutottak el, vagy akkora munkával, ami egy ilyen fórumon az önkéntes segítségnyújtás kereteibe belefér.

És főleg nem olyan emberek, akik a tranzisztor mibenlétét sem voltak hajlandók megérteni.

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

Természetesen megoldható. Nem kell más hozzá, csak írj egy jó programot a honlapodnak, ami emulálja az Excel összes funkcióját, a VBA környezetet is beleértve. Ha ez megvan, utána már gyerekjáték lesz.

Előzmény: Balu424 (27034)
Balu424 Creative Commons License 2015.04.19 0 0 27036

Azt hitték annak idején a technika csúcsa a tranzisztor.  És lám-lám ma már mikrochipekkel működik sok dolog.

Szerinted nem lehet valakinek megoldása, amire még nem gondoltál?

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

A korábbi válaszokat elolvastad? Vagy úgy gondolod, mint az egyszeri utas a zalaegerszegi gyorson, hogy ha azt mondjuk, hogy "léccilécci", akkor Debrecenbe fog menni?

Előzmény: Balu424 (27034)
Balu424 Creative Commons License 2015.04.19 0 0 27034

Jó estét!

 

csak megpróbálom még egyszer, hátha valakinek lesz ötlete hozzá?

 

Van ez a kis program (egy kedves topictárs készítette). Innen letölthető: http://www.baloghweb.hu/Debrecen_utcai1.xls

 

Ha elindítjuk a makrót az Utcalap nevű munkalapon, akkor elindul egy kis program, mely Debrecen utcaneveinek adatait mutatja be.

 

Kérdésem: meg lehetne oldani, hogy ezt feltöltve a honlapomra ott is működjön?

Fferi50 Creative Commons License 2015.04.19 0 0 27033

Szia!

 

Megtaláltam a korábbi (több mint egy évvel ezelőtti) sikeres próbálkozásomat, amire emlékezve írtam, hogy lehet a mezőt formázni:

Próbáld így:

A születési idő mezőre jobb egérgombbal rákattintasz, kiválasztod a mezőkódok váltást, majd  bemásolod  a vastag bordó szöveget úgy, hogy a kapcsos zárójelen belül legyen:

 {MERGEFIELD  Születési_idő \@"yyyy.MM.dd" \* MERGEFORMAT}

A \ a kapcsoló, a @ a formátum, a Mergeformat pedig azt jelenti, hogy frissítésnél megőrzi a formátumot.

Már nem emlékszem rá, de valahonnan valamelyik Help volt a segítő akkortájt.

Remélem, neked is sikerül megoldani.

Üdv.

(Hülye blogmotor úgy gondolja, hogy ahol kukac van, az csak link lehet....)

Előzmény: pimre (27032)
pimre Creative Commons License 2015.04.19 0 0 27032

Hát éppen ez az, ami nekem nem jön össze a 2010-es verzióval sem. Készítettem egy nyúlfarknyi körlevelet itt, és egy még nyúlfarknyibb forrásfájlt itt.  Letoltés után a docx elvileg automatikusan rákérdez, és nyitja a hozzátartozó excel táblát. És a levelezés->eredmény megjelenítés nekem az amerikai formátumot hozza.

 

Olvastam valahol arról, hogy a 2010-es Excelnek milyen bonyolult mezőkód formázó parancsai vannak, de nem tudom, hol lehetne elérni őket.

 

Szóval valamit nagyon nem tudok ebben a témában.

Előzmény: Fferi50 (27031)
Fferi50 Creative Commons License 2015.04.19 0 0 27031

Szia!

 

A 2010-es World-ben lehet állítani a körlevélbeli dátummező formátumát, amit akkor is megtart, ha az excelből jön a dátum. (Legalábbis nekem sikerült már ilyen.)

 

Üdv.

Előzmény: pimre (27030)
pimre Creative Commons License 2015.04.19 0 0 27030

A következő gondom nem feltétlen Excel, bár érinti azt. De egyrészt nincs olyan fórum, ami élő és az Office-on belül készítendő körlevelekkel foglalkozik, másrészt az Excel adatforrásokat érinti ezért kénytelen vagyok itt kérdezni.

 

Szóval körlevelet írok WORD-ben (Doc, vagy Docx teljesen mindegy, működik). Ugyanakkor már évekkel ezelőtt tapasztaltam, hogy Word táblázatból nem igazán tudom kezelni a körlevél címzettjeit, és az adatmezők beszúrását a levélbe (ez lehet, hogy az én hibám), Excel táblából viszont igen. Azóta az adatforrást Excelben kezelem. Aztán egyszer beleütköztem egy olyan problémába, hogy a dátumokat nem hajlandó az én választásomnak megfelelően beolvasni, hanem minden beállítási próbálkozás ellenére amerikai stílusban hónap/nap/év formában olvassa be azokat az adatmező helyére.

 

Hosszas nyomozással kiderítettem, hogy az adatforrás fájl megnyitásakor beállítható, hogy kérdezzen rá a megnyitás módjára, és itt az "MS Excel munkafüzetek DDE által (*.xls)" opcióval kell megnyitni az Excel táblázatot adatforrásként. És így működik. Vannak ugyan korlátai, például az Excel táblában csak egy munkalap lehet, de legalább jól használja az adatokat.

A hiba jelentkezésekor még – szerencsére – Office 2003-al dolgoztam, másképp soha nem tudtam volna rájönni a megoldásra.

 

Amióta áttértem az újabb Office verziókra (2007 vagy 2010), azóta az xlsx fájlt szeretném használni adatforrásnak. Viszont ezeknél kizárólag az "OLE DB adatbázisok" opcióval engedi megnyitni a fájlt. Igaz ugyan, hogy itt már lehetne egy-egy körlevélhez munkalapokat is kiválasztani, de a dátumformátumnál nem tudok megszabadulni a hónap/nap/év formától. Aztán vannak még egyéb furcsaságai is a mezők kezelésének ebben a formátumban, de azzal addig nem is foglalkozom, amíg ezt meg nem oldom.

 

A lényeg, hogy hiába az újabb Excel verziók, az adatforrás használatához kénytelen vagyok a 2003 verzióhoz visszanyúlni.

 

Tudja valaki, hogy lehet megoldani a dolgot a 2007, vagy 2010-es verzión belül?

 

Fferi50 Creative Commons License 2015.04.18 0 0 27029

Szia!

 

Ott is lehet offset-et használni:

Set accountlist=Range("A1", Range("A1").Offset(Range("A" & Rows.Count).End(xlUp).Row - 1, 1))

Az accountlist range az A-B oszlop azon részét tartalmazza, amelyben vannak az adatok (tehát 2 oszlopot, ha csak egy oszlopot szeretnél, akkor a végéről a ,1 elhagyható, vagy ,0 kell helyette.

De ennél szerintem egyszerűbb a két oszlop megfogása így:

Set accountlist=Range("A1", "B" & Range("A" & Rows.Count).End(xlUp).Row)

 

Ha itt megtartod a két oszlopot, akkor a további részben kell kis változtatás:

 

For Each i In accountlist.Columns(1).Cells

If i.Value = Sheets("Data").Range("A1").Value Then
Dest.Value=range(i,i.offset(0,1)).Value
Set Dest = Dest.Offset(1)
End If

 

vagy

For Each i In accountlist.Rows

If i.cells(1).Value = Sheets("Data").Range("A1").Value Then
Dest.Value=i.Value
Set Dest = Dest.Offset(1)
End If

 

Üdv.

Előzmény: ypolito (27028)
ypolito Creative Commons License 2015.04.18 0 0 27028

Jó reggelt!

 

Köszönöm! Az offset paramétereit ismerem, az volt a gond, hogy én a "Set accountlist = Range("A1", Range("A" & Rows.Count).End(xlUp))" résznél próbáltam offszetelni.

A többit is köszönöm, egyszerűsítek.

 

...és jól indul a reggel :)

 

üdv

P.

Előzmény: Fferi50 (27027)
Fferi50 Creative Commons License 2015.04.17 0 0 27027

Szia!

 

Valószínűleg azt nem kalkuláltad, hogy az offset-nek két paramétere van, sor és oszlop.

 

Ezért i.EntireRow.Copy helyett range(i,i.offset(0,1)).copy az első két oszlopot fogja kimásolni. (A Set Dest=Dest.Offset(1) azért működik, mert egy sorral mész lejjebb az oszlop változtatása nélkül.)

 

De egy pár dolgot még lehetne egyszerűsíteni rajta.

 

A másolás - irányított beillesztés helyett működik az értékadás pl.

 

Set Dest=.Range("A2") helyett  Set Dest=.Range("A2:B2")

 

Ezután az

If i.Value = Sheets("Data").Range("A1") Then
i.EntireRow.Copy
Dest.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Set Dest = Dest.Offset(1)
End If

programrész helyett helyett:

 

If i.Value = Sheets("Data").Range("A1") Then
Dest.Value=range(i,i.offset(0,1)).Value
Set Dest = Dest.Offset(1)
End If

 

Üdv.

Előzmény: ypolito (27026)
ypolito Creative Commons License 2015.04.17 0 0 27026

Hello!

 

Na van még egy gondom és nem igazán tudok rájönni a nyitjára. A kód működik, de kellene bele egy olyan módosítás, hogy ne entirerow legyen, hanem csak A és B oszlop. Offset-tel próbálkoztam, de az valamiért nem akart úgy működni ahogy én szerettem volna. Mit nem látok?

 

köszi

P.

Sub Copy_accounts2()
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim accountlist As Range
Dim i As Range
Dim Dest As Range
Sheets("ax 3.0 főkönyvi adatbázis").Select
Set accountlist = Range("A1", Range("A" & Rows.Count).End(xlUp))
With Sheets("new accounts")
Set Dest = .Range("A2")
End With
For Each i In accountlist
If i.Value = Sheets("Data").Range("A1") Then
i.EntireRow.Copy
Dest.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Set Dest = Dest.Offset(1)
End If
Next i
Worksheets("data").Activate
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Előzmény: Delila10 (27025)
Delila10 Creative Commons License 2015.04.17 0 0 27025

Szívesen! Klassz, hogy ilyen apróságnak ennyire tudsz örülni.

Előzmény: ladygabriella (27024)
ladygabriella Creative Commons License 2015.04.17 0 0 27024

Működik! Nagyon szépen köszönöm! :) Szép napot mindenkinek, így már az én kedvem ma semmi nem ronthatja el :)

Előzmény: Delila10 (27023)
Delila10 Creative Commons License 2015.04.17 0 0 27023

Mivel a sor minden cellájában a C oszlop adatát kell alapul venni, a C-t fixálni kell $ jellel.

 

Kijelölve a tartományt – ami a címsor miatt a 2. sorban kezdődik – a képlet a feltételes formázásnál

=$C2="zene"

 

Előzmény: ladygabriella (27022)
ladygabriella Creative Commons License 2015.04.17 0 0 27022

Sziasztok!

 

Már csak egy képlet hiányzik a megvalósításhoz, de arra nem tudok sehogy sem rájönni. Feltételes formázásról lenne szó.

 

Van egy excel táblám, aminek egyik oszlopában legördülő listából lehet kiválasztani a kategóriákat. Én azt szeretném, ha kiválasztok egy kategóriát, akkor az egész sor színeződjön be adott színre. Azt már megtaláltam, hogy a cellát hogyan lehet beszínezni, ha adott szöveg szerepel benne (feltételes formázás/cellakijelölési szabályok/szövegtartalom), és képlettel szeretném ezt kiterjeszteni az egész sorra, ami tartalmazza adott szót.

 

például:

fejléc: fellépő neve, időpont, műfaj. A műfajnál van a legördülő lista. Pl. ha "zene" kategóriát állítok be azt szeretném, ha az egész sor zöldre váltana.

 

Ha eddig jól kutakodtam, akkor ide kellene beírni egy képletet:

Feltételes formázás/új szabály/A formázandó cellák kijelölése képlettel.

ezt kellene lefordítani képletté: Minden sor, ami tartalmazza "xy szó", legyen zöld.

 

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

Üdv Mindenkinek!

 

Delila10 Creative Commons License 2015.04.17 0 0 27021

Örülök, hogy sikerült, szívesen. :)

Előzmény: ypolito (27020)
ypolito Creative Commons License 2015.04.17 0 0 27020

Köszönöm!

Kicsit még átalakítottam, de jó lett.

Előzmény: Delila10 (27014)
Fferi50 Creative Commons License 2015.04.16 0 0 27019

Szia!

 

"Elfelejtettem, hogy én rendszerszinten tizedespontot használok, ahol vessző van, az nálam szöveg".

Nincs semmi gond, előfordul az ilyesmi néha nálam is.

 

Üdv.

Előzmény: pimre (27018)
pimre Creative Commons License 2015.04.16 0 0 27018

Na ezt észre sem vettem. Automatikusan A2:C6-nak olvastam.

 

A következő (#20217) valóban megoldotta rejtélyt. Elfelejtettem, hogy én rendszerszinten tizedespontot használok, ahol vessző van, az nálam szöveg. A javítás után már működik. Köszönöm.

 

Előzmény: Fferi50 (27016)
Fferi50 Creative Commons License 2015.04.16 0 0 27017

Szia!

 

Semmi más baja nem volt a fájlodnak, csak annyi, hogy a B oszlopban nem számként, hanem szövegként vannak az értékek. Ha átalakítod számmá, azonnal rendbe jön a képlet eredménye.

 

Üdv.

Előzmény: pimre (27015)
Fferi50 Creative Commons License 2015.04.16 0 0 27016

Szia!

 

Ha bemásolod a magyar excel INDEX hivatkozás formátum súgójában levő táblázatot, akkor pontosan úgy működik, ahogyan írják.

Egyetlen "bibit" látok:

"Az oldal egyik példája szerint az =SZUM(B2:INDEX(A2:C6;5;2)) képlet eredménye:

A B2 cellánál kezdődő és az A2:A6 tartomány ötödik sorának és második oszlopának metszéspontjában végződő tartomány értékeinek összege, azaz B2:B6 összege (2,42)"

A magyarázatban rossz tartományról beszél, mivel egy db oszlopnak nem lehet második oszlopa...

 

Üdv.

Előzmény: pimre (27015)
pimre Creative Commons License 2015.04.16 0 0 27015

Sziasztok, nézegetem az Index függvény használatának a leírását itt: https://support.office.com/hu-hu/article/INDEX-f%C3%BCggv%C3%A9ny-0ee99cef-a811-4762-8cfb-a222dd31368a?ui=hu-HU&rs=hu-HU&ad=HU#bmreference_form. És ebben a következő szerepel:

 

Az INDEX függvény hivatkozást ad eredményül; más képletek ennek megfelelően kezelik. A képlettől függ, hogy az INDEX függvény által szolgáltatott érték értékként vagy hivatkozásként kerül-e felhasználásra. A CELLA("szélesség";INDEX(A1:B2;1;2)) képlet például egyenértékű a CELLA("szélesség";B1) képlettel. 

 

Ez nagyon megtetszett, és rögtön ki is próbáltam, az általuk adott példában. A példában a következő minta szerepel. Mivel itt az indexen táblázatot bemásolni nem tudok, ide tettem:

http://data.hu/get/8676071/Index_fuggveny_mukodes_teszt.xlsx.

 

Az oldal egyik példája szerint az =SZUM(B2:INDEX(A2:C6;5;2)) képlet eredménye:

A B2 cellánál kezdődő és az A2:A6 tartomány ötödik sorának és második oszlopának metszéspontjában végződő tartomány értékeinek összege, azaz B2:B6 összege (2,42) *

 

Viszont amikor kipróbáltam nekem 0 értéket adott.

 

Amikor kiveszem belőle az INDEX-et, az =INDEX(A2:C6;5;2) képlet 0.59-et ad, ami megfelel a B6 értékének, csak éppen mintha mégsem lenne igaz, hogy a SZUM függvény nem az értéket, hanem a címet veszi figyelembe.

 

Szerintetek én értek félre valamit, én rontok el valamit, vagy a fent hivatkozott működési mód nem igaz Excel 2010 alatt?

 

*/Megjegyzés: Afenti link példájának szövege Chrome alatt olvashatatlan volt, teljesen szétesett nálam a képernyő. Kénytelen voltam Explorerrel nyitni a linket. Úgy olvasható volt/

Delila10 Creative Commons License 2015.04.16 0 0 27014

Sub Sortorles()
Dim usor As Long, sor As Long

usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = usor To 6 Step -1
If Cells(sor, "A") > "" Then Rows(sor).Delete shift:=xlUp
Next
End Sub

Előzmény: ypolito (27013)
ypolito Creative Commons License 2015.04.16 0 0 27013

Sziasztok!

 

Olyan kódra lenne szükségem, ami a 6-os sortól kezdődően töröl minden sort a  aminek az "A" oszlopában adat van.

 

Nagyon megköszönném ha valakitől kapnék egy ilyet.

 

Köszi
P.

Jarvis94 Creative Commons License 2015.04.16 0 0 27012

Sziasztok!
Szükségem lenne egy kis segítségre. QR kódot kéne raknom az excelbe. De Úgy hogyha változtatok a benne lévő cellának az adatain akkor a QR kódot autómatikusan megváltoztassa. Vonalkóddal csináltam már ilyet. De QR kódra nem találok megoldás.
Nemhiszem hogy sima Font elég lenne hozzá. Viszont nemtudom hogy a letölthető addon-ok nem kamuk-e vagy ilyesmi.
Cégnél kéne. Egy addon-t próbáltam de az nem működik. Semmitsem csinál.

(PGI) Creative Commons License 2015.04.16 0 0 27011

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

 

:)

Előzmény: pimre (27009)
E.Istvan Creative Commons License 2015.04.16 0 0 27010

A válasz benne van a kérdésedben. Nem "Makróbarát Excel-munkafüzet (*.xlsm)"-ként hanem "Excel-bővítmény (*.xlam)"-ként kell elmenteni. A mentés helyét automatikusan át is állítja az Excel AddIns könyvtárára. Ezután a bővítmények között ki kell pipálni, ha az nem történik meg automatikusan.

Előzmény: Gimre70 (27002)
pimre Creative Commons License 2015.04.16 0 1 27009

Másold be a Munkalapon a Forrástábla érték első sorába a következőt: 

=INDEX('Forrás lap'!A:M;HOL.VAN(B2;'Forrás lap'!B:B;0);HOL.VAN(C2;'Forrás lap'!$A$2:$M$2;0))

 

Majd ezzel töltsd ki lefelé a forrástábla többi sorát!

Előzmény: (PGI) (27007)
pimre Creative Commons License 2015.04.15 0 0 27008

Bocs, a délutániban elfelejtettem, hogy a Backslash-eket elnyeli a motor. Akkor a másolás helye (ahova a *.xlam formátumban mentett programot tenni kell): C:\Users\<felhasználónév>\AppData\Roaming\Microsoft\AddIns

A bejelöléshez meg Beállítások->bővítmények->Ugrás után jutsz el. Ott meg kell, hogy jelenjen a függvényed, és pipálhatod.

Előzmény: pimre (27003)
(PGI) Creative Commons License 2015.04.15 0 0 27007

Bocsi, de a képet nem csatoltam. Feltöltöttem a file-t data.hu-ra.

 

 

Várom válaszaitokat.

 

Köszönettel. :)

Előzmény: (PGI) (27005)
Sánta Kutya (SK) Creative Commons License 2015.04.15 0 0 27006

Kicsit kevés képet csatoltál.

Előzmény: (PGI) (27005)
(PGI) Creative Commons License 2015.04.15 0 0 27005

Sziasztok!

 

Bonyolult problémával fordulok hozzátok, bár nektek valószínűleg nem okoz nagy fejtörést. Teljesen megakadtam az alábbi feladattal.

 

Szeretném ha csatolt képeken látható Munkalap elnevezésű oldal, forrástábla érték mezőiben megjelenne a Forrás lap oldal fehér mezőiben szereplő értékek megfeleője, de úgy, hogy a Munkalapon szereplő adatok És Ha összevetéssel szintén azonosítva lenne a Forrás lapon.

 

Pl. Ha Munkalap Leírás oszlopában szereplő szöveg és A érték mezőben lévő szám és B érték mezőben lévő szám megegyezik a Forrás lap Leírás oszlopban szereplő szöveg valamelyikével és A érték oszlop és B érték oszlopok C2:M2-ben található számaival, akkor a Munkalap Forrás érték mezőiben megjelnjen a Forrás lap C3:M11 mezőiben szereplő társított szám! Bonyolult? Remélem érthetően fejeztem ki magam.

 

Segítségeteket előre is köszönöm! :)

Delila10 Creative Commons License 2015.04.15 0 0 27004

Currentregion.select kijelöli azt az összefüggő tartományt, amelyikben állsz.

Előzmény: Gimre70 (27002)
pimre Creative Commons License 2015.04.15 0 0 27003

Másold a függvényt C:Users<felhasználónév>AppDataRoamingMicrosoftAddIns könyvtárba, majd az Excelben a beállítások->bővítményeknél jelöld be, hogy a bővítményt használni is szeretnéd.

Előzmény: Gimre70 (27002)
Gimre70 Creative Commons License 2015.04.15 0 0 27002

Sziasztok.

 

Excel 2013-ban szerettem volna írni egy saját függvényt Function...end Function de az a problémám, hogy ha elmentem makróbarát munkalapként akkor az excel ad neki egy *.xlsm kiterjesztést a régi *.xlam kiterjesztés helyett. De ha szeretném betölteni mint bővítményt - már mint az valami.xlsm fájlt - akkor nem látható a függvényeim között. hogy oldható ez meg?

 

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

 

Még egy kérdés.  makróban mit jelent a Currentregion. select utasítás?

 

pimre Creative Commons License 2015.04.15 0 0 27001

Igen, a program adataiból az látszik, hogy végig kell mennie a teljes tartományon az Excelnek, hogy megtalálja az adatok első, illetve utolsó folyamatosan kitöltött celláját. Hiszen, ha minden cellában tárolná a tartomány egyes adatait, annak valóban nagy memóriaigénye lenne. Nem is beszélve arról, hogy egy adott cella tartozhat egyszerre több tartományhoz is.

Viszont az Excel a tartományhoz tartozó utolsó folyamatosan kitöltött adat megkereséséhez feltehetőleg kénytelen egyenként kiolvasni az adatokat, hogy megállapítsa, van-e értéke, vagy sem. Hiszen erről semmilyen pointer nem ad információt. És feltételezem, hogy maga a kiolvasás lehet a leglassúbb része a folyamatnak.

Előzmény: Törölt nick (26998)
pimre Creative Commons License 2015.04.15 0 0 27000

"A táblázatok alatt ott van a sebességteszt adata is."

 

Még mindig képes meglepetést okozni a saját figyelmetlenségem:-( Szóval bocs.

Előzmény: Delila10 (26999)
Delila10 Creative Commons License 2015.04.15 0 0 26999

A táblázatok alatt ott van a sebességteszt adata is.

 

Fferi: idő hiányában egyáltalán nem foglalkoztam vele. :(

Előzmény: pimre (26993)
Törölt nick Creative Commons License 2015.04.15 0 0 26998

Úgy tűnik, nagyjából arányos az End(xlDown) végrehajtásának ideje az átugrandó cellák számával.

Kicsit módosított programom így néz ki:

 

Sub ugrálás()
    Dim t As String, i As Long, j As Long, r As Range
    For j = 1 To 10
        t = Timer
        Set r = Range("B12")
        For i = 1 To 30000
            Set r = r.End(xlDown)
            Set r = r.End(xlUp)
        Next
        Range("B" & j) = CSng(Timer) - CSng(t)
        Debug.Print j
        DoEvents
    Next
End Sub

 

Az A12-ben kezdődő tartomány 500 soros, a B12-es 5000.

Az A12-ből 30000 ugrálás átlag 0.677 sec, B12-ből 5.694 sec

Ami nagyjából azt jelenti, hogy az End(xlDown) lényegében for-next ciklussal keresi meg az utolsó cellát az oszlopban...

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

Én sem tudok semmi biztosat, csak találgatok.

Kiindulva a pointeres munkahipotézisedből, eszembe jutott, hogy egy adott cellához tartozó memóriahelyen esetleg nem csak az eggyel fölötte lévő cella memóriacímét kell tárolni, hanem más dolgokat is, amelyek megváltozhatnak egy sor beszúrásával. Pl. azt, hogy melyik a tartomány első és utolsó cellája. Amikor ugyanis az End(xlUp) és End(xlDown) metódusokat használjuk, az Excel pillanatok alatt megtalálja, hogy melyik az alsó és fölső cellája a tartománynak. Írtam egy kis tesztprogramot, ami 100 000-szer ugrál ide-oda a tartomány teteje és alja között. Ha minden cellában benne van, hogy hová kell ugrani, akkor időben nincs különbség 600 és 600 000 cella átugrása között. Most fut...

600 cellával kb. 19 másodperc volt a futási idő, 600 000 cellával 15 perce fut, és még semmi visszajelzés. Ha az idő arányos a köztes cellák számával, akkor 5 óra múlva tán lesz eredmény :)

Előzmény: pimre (26996)
pimre Creative Commons License 2015.04.14 0 0 26996

Jimmy, természetesen igazad van. Ezt én is látom, ugyanebből következtetve. 

 

Ezért is fogalmaztam óvatosan: "Ebből számomra az is következik, hogy nem járhatok messze az igazságtól azzal a sejtésemmel, hogy a sorok beszúrásánál és törlésénél valamilyen más technikát alkalmaz az Excel az adatok fizikai átmásolgatásához képest."

 

Hogy mit, azt nem tudom. Csak feltételezéseim, vagy inkább sejtéseim vannak.

 

Az egyik ilyen erős sejtésem, hogy egy nagyméretű Excel táblát - a maga cellánkénti rengeteg tulajdonságával - nem tarthat a memóriában az Excel. Viszont egy 1-2 Gigabájtos memóriában nem lehet nagy gond néhány millió cella helyének tárolása mondjuk cellánként 4 byte igénybevételével. 

Ehhez kapcsolódva persze biztos, hogy vannak ezen túlmenő teendők is ezekkel a mutatókkal. Ezt a kísérleteim is igazolták, azaz hogy a "mozgatandó" sorok számával közel arányosan nő a beszúrás/törlés időigénye.

Ugyanakkor nem tudom pontosan, hogy a memóriaműveletek sebessége hogyan viszonylik a HDD írási és olvasási sebességéhez. Feltételezem, hogy több nagyságrendi a különbség. Ebből próbálok laikus módon arra következtetni, hogy, ha a sorok beszúrását és törlését a memóriában lévő pointerek mozgatásával végzem el, az nagyságrendekkel gyorsabban történik a merevlemezen történő tényleges adatmozgatáshoz képest.  Aztán a tényleges "adatkiírás" (lehetséges, hogy még itt is csak a 4 byte méretű mutatók kiírása szükséges már), csak a mentéskor történik. (Ezt abból a feltételezésből kiindulva gondolom, hogy amikor egy-egy cella tartalma a számítások során megváltozik, annak rögtön kiírásra kell kerülnie fizikailag.) Szintén feltételezem, hogy a mutatók listájának kiírása miatt látszik időigényesebbnek a fájl beolvasása és kiírása, de mégsem annyira, mintha a teljes adatbázist kellene kiírni.

 

Persze mindez csak találgatás részemről. A kísérleteket azért végeztem el, hogy igazoljam az eredeti hipotézisemet, mely szerint a sorok/oszlopok beszúrása és törlése nem a leglassúbb művelete az Excelnek. Sőt! Nagyságrenddel gyorsabb, mint az adatok puszta beolvasása a merevlemezről.

 

Mindezek ellenére nagyon örülnék, ha sikerülne a Microsofttól, vagy más hasonló fejlesztőtől információhoz jutni arról, hogy mi a titka az Excel sokszor elképesztő sebességének.

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

Viszont magasabb sorszám esetén lényegesen kisebb idő a beszúrás, tehát valahogy mégiscsak függ az alatta lévő adat mennyiségétől. Abban a pointeres verzióban nem függne.

Előzmény: pimre (26993)
Törölt nick Creative Commons License 2015.04.14 0 0 26994

Annyira kapós a tesztprogramod, hogy már a data.hu is megbénult a sok letöltéstől...

Előzmény: pimre (26990)
pimre Creative Commons License 2015.04.14 0 0 26993

Szia Delila, még arra lennék kíváncsi, hogy lefuttattad-e ugyanezzel az adatállománnyal a másik modulban lévő - feldolgozási sebességet mérő - makrót. Amelyik nem tesz mást, mint végigmegy a 2.6 millió adaton, beolvassa őket egy változóba, aztán nem foglalkozik velük. Mert az utóbbinak nálam több mint kétszer annyi volt az időigénye, mint a táblázat elejére történő sor beszúrásnak 1000-szer lefuttatva. Pedig elvileg minden egyes beszúrásnak mind a 2.6 millió adatot arrébb kellene pakolgatnia, ami ezerszer megismételve összesen 2.6 milliárd adat átpakolását jelentené, ami szinte csillagászati szám. És mégis az utóbbi a gyorsabb nálam.

 

Előzmény: Delila10 (26991)
Fferi50 Creative Commons License 2015.04.14 0 0 26992

Szia!

 

Én arra lennék kíváncsi, hogy sikerült-e az adott programodban a bűnöst "kimérni" és valamilyen módon kijavítani.

Mert egy dolog az, hogy van a teszt és másik dolog a "való világ", amikor semmi nem úgy alakul, mint a teszt.

(Írom ezt úgy, hogy még nem volt időm végigrágni Imre anyagát, de előbb - utóbb megteszem, mert kíváncsi vagyok -> arra is.)

 

Üdv.

Előzmény: Delila10 (26991)
Delila10 Creative Commons License 2015.04.14 0 0 26991

Összeállítottam a statisztikát a fájljaid alapján. Nem merek messzemenő következtetéseket levonni, csakis egyet: az én gépem egy leheletnyivel gyorsabb. :D

Egymás mellé szerettem volna tenni a táblázatokat, de akkor hiányosan jelennek meg.

 

 

 

 

Előzmény: pimre (26990)
pimre Creative Commons License 2015.04.13 0 0 26990

Péntekre ígértem, hogy beszámolok az Excel sorok beszúrásával és törlésével kapcsolatos kísérleteimről, de a dolog egy kicsit tovább tartott. Most viszont elkészültem vele, és érdekesek az eredmények.

 

Írtam egy kis tesztprogramot (http://data.hu/get/8669504/Excel_sor_beszuras-torles_sebesseg_teszt.xlsm), amelynek egyik makrója egy 100 000 soros, 26 oszlopos táblázatba ciklusban történő 1000 sor beszúrás időigényeit méri a táblázat különböző helyeire beszúrva az 1000-1000 sort.

 

A program másik makrója nem tesz mást, mint végigmegy a teljes táblázaton, és a fenti táblázat 2.6 millió adatát beolvassa egy változóba. És ennek az időigényét is lemértem.

 

Tekintettel arra, hogy a teljes dokumentum másfél oldalas és nem is túl könnyű olvasmány, nem terhelem a jelen fórumot a részletekkel. Ezek a http://data.hu/get/8669657/Excel_sor_beszuras-torles_sebesseg_teszt.docx címen érhetők el.

 

Itt csak a végső következtetéseimet írom le. Amennyiben nem hibáztam el alapvetően valamit a kísérleteimben, akkor megállapítható, hogy: 

  1. A sor beszúrás és törlés nemhogy lassú művelet az Excelben, hanem sokszorosan gyorsabb a cellák egyszerű kiolvasásánál.
  2. Ebből számomra az is következik, hogy nem járhatok messze az igazságtól azzal a sejtésemmel, hogy a sorok beszúrásánál és törlésénél valamilyen más technikát alkalmaz az Excel az adatok fizikai átmásolgatásához képest.

 

Előzmény: pimre (26977)
Sánta Kutya (SK) Creative Commons License 2015.04.13 0 0 26989

Habár lehet, hogy van az MS Office-nak is valami ilyen felhőalapú verziója, csak nem terjedt nagyon el, de akkor is azzal a verzióval kell rendelkezned, nem a normál Excellel.

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

Ilyen állat nincs. Erre a Google Spreadsheet használható.

Előzmény: Balu424 (26987)
Balu424 Creative Commons License 2015.04.13 0 0 26987

Nem szeretném letölthetővé tenni, hanem hogy ott működjön.

Előzmény: Sánta Kutya (SK) (26985)
Törölt nick Creative Commons License 2015.04.13 0 0 26986

Én találkoztam ilyennel. Sőt! Ennél többet is is felhasznált, ráadásul több lapon csinálta ezt és minden cellába egy függvényt tett.

 

Eredmény: Olyan volt a táblázat mintha az elektronok mankón járnának tehát használhatatlanul lassú ami különösen régi gépeken feltűnő. Alapvetően azért van mert a memória a helyhiánya miatt állandóan a HDD-hez fordult mert a lapozófilébe kellett tárolnia a memóriában el nem férő adatokat. Persze a töménytelen számítás is leköti a gép erőforrásait.

 

Összességében: az ilyen típusú táblázat programozás használhatatlan munkát eredményez nem csak a túlságosan sok oszlop miatt hanem az operátori kezelhetetlenség miatt. Az ilyen típusú adathalmazt érdemes több lapra tördelni és a számítási, kezelési problémákat makróra bízni amik célzottan csak a szükséges cellákban dolgoznak ezért a táblázat kezelése nagyon felgyorsul.

Előzmény: Delila10 (26970)
Sánta Kutya (SK) Creative Commons License 2015.04.13 0 0 26985

Ha onnan letöltik, és a saját gépen futtatják, akkor működni fog.

Ha úgy érted, hoy a webszerveren, akkor meg makró nélkül sem fog "működni"? mert a webszervereken nincs Excel, a táblázatod csak egy fel- és letölthető file.

Előzmény: Balu424 (26984)
Balu424 Creative Commons License 2015.04.12 0 0 26984

sziasztok 

lenne egy kérdésem

lehetséges az, hogy ez excel táblázatban lévő makro, mely egy kis bemutató programot működtet a webre feltéve ott is működni fog. 

Ha igen, akkor csak simán fel kell tenni, vagy kell hozzá valamilyen segédeszköz?

 

üdv

 

Balu

Törölt nick Creative Commons License 2015.04.11 0 0 26983

Van egy olyan szempont is, hogy az Office Pro 3x vagy 4x annyiba kerül, mint a normál verzió, és a cégek nem feltétlenül szeretik felvállalni a plusz költséget csak azért, hogy az Access elérhető legyen. Így aztán a felhasználók nagy része csak Excelben képes gondolkodni.

Előzmény: Delila10 (26981)
Sánta Kutya (SK) Creative Commons License 2015.04.10 0 0 26982

A lehetőség megvan, használni nem kell. Ahogy mondod, a 2^16 sor azért nem  mindig elég, ebbe én is gyakran belefutok. Ugyanúgy lehet, hogy valakinek a 256 oszlop nem elég, csak mi még nem találkoztunk ezzel. És ha nem tud programozni, akkor lehet, hogy inkább megoldja Excelben.

Előzmény: Delila10 (26981)
Delila10 Creative Commons License 2015.04.10 0 0 26981

2007-től 16.384 oszlop, és 1.048.576 sor van 1-1 lapon.

 

"...lehet, hogy én ezt már nem Excelben dolgoznám fel."

Hát erről van szó. Szerintem teljesen felesleges volt ennyi cellát tenni a lapokra.

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

ez hogy jött ki? Egyébként nem arról beszéltünk, hogy valaki a teljes táblázat összes lehetséges celláját kitölti, hanem hogy van-e, aki nagyon sok oszlopot használ. Ilyen adathalmazokat el tudok képzelni, de lehet, hogy én ezt már nem Excelben dolgoznám fel.

Előzmény: Delila10 (26979)
Delila10 Creative Commons License 2015.04.10 0 0 26979

Ha a RAM-od engedné, tárolnál egyetlen fájlban 15.000×10^6 db adatot? Vagy inkább olyan alkalmazást keresnél, ami a wincsin tárolja az adatokat, és csak annyit jelenít meg, amennyire éppen szükséged van?

Előzmény: Sánta Kutya (SK) (26974)
maskeau Creative Commons License 2015.04.10 0 0 26978

tökéletes! köszönöm.

Előzmény: Sánta Kutya (SK) (26976)
pimre Creative Commons License 2015.04.10 0 0 26977

Ezeken én is gondolkoztam, nem tudom a választ. Sőt ötletem sincs, hogy én hogy csinálnám meg, ha az én feladatom lenne az adatszerkezet megtervezése. Csak egyben vagyok biztos. Ha a pointerek alkotta láncon egyenként is kell végighaladni A-tól Ad-ig, majd ezen belül 1-től a 19632. sorig, az még mindig gyorsabb, mintha egy-egy sor beszúrásakor kellene a mögötte lévő 20000, vagy 100000 sor minden egyes adatát fizikailag átmozgatnom.

 

Egyébként most méregetem a sor beszúrási és törlési időket egy 100 000 soros táblázatban, attól függően, hogy melyik sor elé (a táblázat elején, vagy a végén) szúrogatok be, illetve törlök sorokat.  Az eredmények érdekesek. Estére beszámolok a tapasztalataimról.

Előzmény: Törölt nick (26968)
Sánta Kutya (SK) Creative Commons License 2015.04.10 0 0 26976

=KÖZÉP(A1;4;20)

Előzmény: maskeau (26975)
maskeau Creative Commons License 2015.04.10 0 0 26975

sziasztok,

van egy 800 soros oszlopom, amiben ilyen formátumban ( szöveg) szerepelnek számok:  00:02.446. szeretném ezeket átmásolni egy másik oszlopba, úgy , hogy az első két szám és kettőspont ne menjen át. ez legyen az új oszlopban: 02.446. és, hogy ne kelljen ezt egyesével 800 sorral megtenni. valójában a végső cél az lenne, hogy lehessen műveleteket végrehajtani ( összeadni, kivonni) ezekkel a számokkal, mert egyelőre - talán a kettőspont miatt - nem engedi.

nagyon köszi a gyors segítséget!

üdv.

Sánta Kutya (SK) Creative Commons License 2015.04.10 0 0 26974

A szoftver biztosítja mindenkinek a lehetőséget, hogy akár hülyeséget is csináljon. A RAM már más kérdés.

 

(Amikor 1985-ben bekapcsoltam a Commodore 64-et, és kiírta nekem, hogy 38911 BASIC bytes free, akkor én is úgy éreztem, hogy ezt teljes képtelenség kihasználni. :-P)

Előzmény: Delila10 (26973)
Delila10 Creative Commons License 2015.04.10 0 0 26973

Azért kérdeztem, mert szerintem képtelenség 16.384 oszlopot használni. OK, a 65.536 sor olykor kevésnek bizonyult.

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

És lelőtte? :-)

Előzmény: Delila10 (26970)
Sánta Kutya (SK) Creative Commons License 2015.04.10 0 0 26971

"És amikor ki akarod olvasni az AD19632 cella értékét, hány lépésben jutsz el oda?"

 

Megfelelő adatszerkezet esetén 1.

Előzmény: Törölt nick (26968)
Delila10 Creative Commons License 2015.04.10 0 0 26970

Találkozott már valaki olyan felhasználóval, aki több, mint 200 oszlopot használt 1 lapon?

Delila10 Creative Commons License 2015.04.10 0 0 26969

Nálam 2003-ban 1:45, 2007-ben 2:03 alatt futott le a fájlod. Nics olyan "gépparkom", mint Neked, egy szál 32 bites PC áll a rendelkezésemre, ahol 2003, 2007, és 2010 van telepítve.

 

Instr-rel, nem Trim-mel kerestetem meg a kért tartalmat, mert a Trim nem veszi be a ":"-ot, amit 6 oszlopban kell kerestetni.

Az Excel mindkét verziójában a saját, xlsm kiterjesztésű fájlomat futtatom. Mivel semmi cifraság nincs benne, csak adatok, a 2003 simán megeszi egy rövid konvertálással.

 

Köszi a fáradozást!

Előzmény: pimre (26966)
Törölt nick Creative Commons License 2015.04.10 0 0 26968

És amikor ki akarod olvasni az AD19632 cella értékét, hány lépésben jutsz el oda?

Vagy ha van egy képleted, pl. SZUM(Q:R) azt hány lépésben lehet kiszámolni ezzel a pointeres rendszerrel?

Előzmény: pimre (26967)
pimre Creative Commons License 2015.04.09 0 0 26967

Szia Feri, azt írod, hogy "Az insert row, column rendkívül lassú a 2010-ben is", máshol pedig azt, hogy "egész sort/oszlopot nem túl egészséges kezelni benne".

 

Ismerem ezt a véleményedet, de a legnagyobb tisztelet ellenére (lévén, hogy Excel ismereteid sokszorosan meghaladják az enyémet), ebben a dologban vitába kell szállnom veled.

 

Próbálgattam régebben is, most is, és az a tapasztalatom, hogy az Excelnek mindegy, hogy egy sor beszúrásakor egy sort, tízet, vagy százezret kell "hátratolnia". Gyakorlatilag értékelhetetlen az idő, amire ehhez szüksége van hozzá.

 

Nem tudom, van-e valamilyen szakirodalom ezzel kapcsolatban, de arra tippelek, hogy azért nem tapasztalom az általad említett időigényt, mert az Excel táblát a szerzők talán nem úgy tervezték, mint egy olyan táblázatot, az egyes adatoknak fix helyük van. Mint ahogy számunkra a táblázat megjelenik. Ebbe az esetben egy új sor beírásához valóban az összes mögötte lévő adatot el kellene csúsztatni beszúráskor, és vissza kellene csúsztatni törléskor.

 

Ha rám bízták volna az Excel megtervezését, én biztos, hogy egymáshoz láncolnám az adatokat, tehát mondjuk a B1 cella nem egy fizikailag fix hely, hanem az A1 cella tartalmazza az ő helyét (pontosabban, hogy melyik sorban van). A B1 meg C1 celláét. És ha a B1-et törölni kell, akkor egyszerűen a B1-ből kiveszem a C1-re mutató pointert és átteszem az A1-be. És akkor mindegy, hogy hány ezer sor van mögötte.

Jó, ez kis egyszerűsítés, hiszen még az oszlopok helyét is kezelni kell hasonlóan, de azt is csak a láncolás technikájával. 

 

Nagyon valószínűnek tartom, hogy az Excel szerzői is hasonló megoldásokat alkalmaztak hatalmas táblázatok fizikai mozgatása helyett.

Előzmény: Fferi50 (26947)
pimre Creative Commons License 2015.04.09 0 0 26966

Szia Delila!

 

Érdekelt a tegnap esti felvetésed a különböző verziók sebességének különbsége kapcsán. Gondoltam, tesztelem egy kicsit.

 

Létrehoztam egy teszt munkafüzetet. 5000 sorból áll, és minden sorban a G oszlop tartalmaz "—", az O oszlop pedig "-" karaktereket. Elkészítettem 2003 alatt, és konvertáltam 2007-re. És a nagyon egyszerű program végigmegy ciklusban a sorokon, és az O oszlopot eltolja 6 cellával, majd a G oszlopot 2 cellával.

 

Azt akartam tesztelni, hogy a cellaeltolások valóban okozhatnak-e ilyen időkülönbséget a futási időben.

 

Itt érhetők el a programok

http://data.hu/get/8656960/Excel_sebesseg_teszt.xls

http://data.hu/get/8656956/Excel_sebesseg_teszt.xlsm

 

Az eredmények: A legmegbízhatóbbnak azon a laptopomon való futást tartom, ahol egymás mellett van az Excel 2003 és 2007-es verziója, hiszen itt nem kavarhatnak be egyéb különbségek.

 

A programokat többször is lefuttattam a VBA képernyő alól, így a képernyőfrissítés nem zavart be (Lehetett volna a programban is letiltani, de csak későn jutott eszembe, és így is elfogadhatónak tartottam a tesztet). Az egyes lefutások megismétlései között legfeljebb 5-6 másodperces eltérések voltak, így egy hozzávetőleges középértékeket írok.

Az eredmények: A fent említett laptopon Excel 2003 alatt úgy az xls, mint az xlsm változat 01:20 körüli idő alatt futott le, Excel 2007 alatt 00:50 körül.

 

Egy asztali gépen Excel 2010-et használok, így azon csak ezzel tudtam tesztelni. Itt már megfordult a különbség. Az xls változat volt gyorsabb 00:11 körüli eredménnyel, szemben az xlsm 00:18-as értékével.

 

A fentiek 32 bites rendszerben működtek. Megpróbáltam tesztelni a sebességet egy 64 bites gépen Excel 2007 alatt. Ott mindkét változat 02:25 +/- 00.05 között futott, hol egyik volt gyorsabb, hol a másik. Ennél azért nem biztos, hogy a 64 bit a bűnös. A gép egyebekben jól teljesít, elképzelhető, hogy valamelyik háttérben futó program zavart be, és okozta a 2 és fél perc körüli futásidőket.

 

A lényeg, hogy nem tartom valószínűnek, hogy a cellák beszúrása okozott akkora különbséget a 2007-es változat hátrányára, mint amit tapasztaltál. Esetleg egy másik parancs? Vagy lehetséges, hogy az eltérő futásidők két különböző gépről származnak, esetleg ugyanarról a gépről, de egy rendszer újratelepítés után?

Előzmény: Delila10 (26929)
pimre Creative Commons License 2015.04.09 0 0 26965

De most engem is. Szóval nagyon köszönöm.

Előzmény: Sánta Kutya (SK) (26963)
pimre Creative Commons License 2015.04.09 0 0 26964

Kösz a javaslatot. Most látom, hogy ez válasz az esti kérdésemre is. Ez az Excelviewer tényleg jó lehet, ahogy látom a leírásokat, a legújabb változatban már szerkeszteni is lehet. Sajnos futtatni azért nem lehet a programot Excel nélkül, ha jól sejtem.  De az ember ne legyen maximalista:-)

 

Előzmény: Eredő Vektor (26961)
Sánta Kutya (SK) Creative Commons License 2015.04.09 0 0 26963

Bocsi, éjfél után már nem tűnt fel, hogy Access. :-) Abból indultam ki, hogy ennyire jellegzetes hibaüzenetre érdemes ráguglizni, ez már nagyon sokszor kihúzott a bajból.

Előzmény: pimre (26960)
pimre Creative Commons License 2015.04.09 0 0 26962

Kösz. Végülis Sánta Kutya javaslata nyomra vezetett. Valóban az volt a megoldás, amit az ő tippje nyomán belinkeltem.

 

Az történt, hogy néhány hete kísérleteztem egy C# nyelvű segédprogram írásával. Át is küldtem neki, de végül nem jött össze a próbálkozás, így abbahagytuk. Viszont az elkészült dll fájl az én gépemen megmaradt, ő törölte. Ugyanakkor a Tools->References listában bennhagytam, így egy új Excel programnál is szerepelt. Ez nálam nem okozott gondot, mert megvolt a dll fájl, nála viszont már nem. A dll törlésével magamnál is elő tudtam idézni a hibajelenséget. A pipa kivétele pedig megszüntette azt.

 

Már csak azt nem értem, hogy ha a problémát okozó dll fájlnak semmi köze nem volt az új programhoz, miért tudott hibát okozni. És ha mégis hibát okozott, akkor miért nem a Workbook_Openből történő első függvényhíváskor, hanem a program belsejében lévő másik függvény hívásakor.

De azt hiszem, ezt soha nem fogom megtudni:-(

 

Előzmény: Eredő Vektor (26961)
Eredő Vektor Creative Commons License 2015.04.09 0 0 26961

Ha esetleg email csatolmányból, internetről nyitja meg, akkor egy (rejtett attribútumú) temp könyvtárból nyitja meg és lehet hogy a makró azt nem látja / nem úgy látja a ...(ThisWorkBook(Path)...

Csak ezért kérdeztem.

 

(Egyébként létezik ingyenesen letölthető ExcelViewer. Hivatalos, Microsoft-os.)

Előzmény: pimre (26956)
pimre Creative Commons License 2015.04.09 0 0 26960

Kösz, ez ugyan Accessre vonatkozik, de gondolatébresztőnek jó volt. Találtam is olyat, ami megfelelőnek látszik: http://www.mrexcel.com/forum/excel-questions/578631-compile-error-cant-find-project-library.html

Majd este beszélek az érintettel, és megnézzük, hátha tényleg ez a jó irány. Elég sok oldalon ajánlják hasonló módon keresni a megoldást.

Előzmény: Sánta Kutya (SK) (26959)
Sánta Kutya (SK) Creative Commons License 2015.04.09 0 0 26959
Előzmény: pimre (26958)
pimre Creative Commons License 2015.04.08 0 0 26958

Eltekintve attól, hogy nem tud agyoncsapni, nem javasolnám neki, amíg más gondjai nincsenek. Annyira következetesen ezen a ponton jelentkezett nála a hiba, pedig a programot kétszer is újra küldtem (mert én is sérülésre gyanakodtam), hogy egyelőre még magunkban keresem a hibát.

Előzmény: Sánta Kutya (SK) (26955)
pimre Creative Commons License 2015.04.08 0 0 26957

Már dolgozom az ügyön:-)))

Előzmény: Sánta Kutya (SK) (26954)
pimre Creative Commons License 2015.04.08 0 0 26956

Természetesen. Miért, lett volna más lehetőség is?

 

Off: Ha igen, akkor ez nagyon érdekelne más okból. Mert ha egy munkahelyi gépen nincs Excel, csak Open Office, vagy Libre Office, akkor is futtatható egy Excel program? Például ez? Bárcsak lenne rá lehetőség, de eddig megoldhatatlannak hittem. ON.

 

Előzmény: Eredő Vektor (26951)
Sánta Kutya (SK) Creative Commons License 2015.04.08 0 0 26955

"Compile Error, Can't find Project or Library"

 

Ennek alapján azt javasolnám, akármilyen kellemetlen, hogy ha nincs jobb tipp, az ismerősöd telepítse újra az Excelt, amíg te iszod a bort. Elég messze van hozzá, hogy ezt meg merd mondani neki.

Előzmény: pimre (26950)
Sánta Kutya (SK) Creative Commons License 2015.04.08 0 0 26954

Én azt gondolom, hogy ha egy pohár vörösbor nem segít a probléma megoldásában, akkor növelni kell a dózist, mert akkor ez egy különösen makacs probléma.

Előzmény: pimre (26950)
Sánta Kutya (SK) Creative Commons License 2015.04.08 0 0 26953

Érték szerinti irányított beillesztéssel visszamásolod a kapott számokat a saját helyükre.

De az is lehet, hogy a beállítások között találsz olyan pipát, hogy folyton újraszámol mindent, és ha azt kiveszed, úgyhagyja.

Képlettel nem tudod megcsinálni, de ezek esélyesek.

Előzmény: Eredő Vektor (26952)
Eredő Vektor Creative Commons License 2015.04.08 0 0 26952

Van egy kérdésem:

2003 xl, bár a példa lentebb 2010-es

Egy táblázatból véletlenszerűen szeretnék egy sort kinyerni.

A képlet a következő:

FKERES(VÉLETLEN.KÖZÖTT(MIN(Táblázat1[Sorszám]);MAX(Táblázat1[Sorszám]));Szótár!$A:$B;2;0)

 

Szép és jó, de a véletlengeneráló függvények volárisak, vagyis minden egyes cellába íráskor változnak.

 

A fenti képlethez hasonlóan fel tudok szedni egy sort véletlenszerűen úgy, hogy "úgy is maradjon"?

makrómentesnek kell lennie

 

Eredő Vektor Creative Commons License 2015.04.08 0 0 26951

Az ismerősöd LOKÁLISAN elmentette a fájlt?( a saját gépére?)

Előzmény: pimre (26950)
pimre Creative Commons License 2015.04.08 0 0 26950

Sziasztok, nagyon kellemetlen dologba ütköztem. Egy programfutás adott pillanatában egy fájlt szeretnék megnyitni. Minden további nélkül működik nálam Excel 2007 és Excel 2010 alatt. Viszont nem én szeretném használni, hanem az ország másik felében egy ismerősöm. Ő is magyar nyelvű Office 2007-est használ, de nála hibaüzenettel leáll.

 

A problémás rész a következő:

 

If Not filenyit(ThisWorkbook.Path, forrásfile) Then

    GoTo kilép ' Ha gond van a megnyitással, akkor kilépünk

End If

 

'***************************************************************************

'                                          Fájl megnyitása

'***************************************************************************

Function filenyit(útvonal As String, aktwbnev As String) As Boolean

Dim filenév As String, alerts As Boolean

filenév = útvonal & "" & aktwbnev

alerts = Application.DisplayAlerts

Application.DisplayAlerts = False

If Dir(filenév) = "" Then ' Ha a file nincs meg a kívánt helyen

  MsgBox "A programfutás feltétele a következő fájl: " + filenév + " megléte. Kérem pótolni!"

Else

    If Not munkafüzetnyitva(aktwbnev) Then

        While Not filenyit

            On Error GoTo hiba ' Mert, ha eddig eljut, akkor már csak hiba miatt lehet csak megnyitatlan

            Workbooks.Open Filename:=filenév ' Ha nincs nyitva, akkor nyitjuk

            filenyit = True ' Ha ide eljut, akkor jó a megnyitás

ulujra:

        Wend

        Application.DisplayAlerts = alerts

        On Error GoTo 0

        Exit Function

hiba:

        If Err > 0 Then

             If Left(Err.Description, 43) = "Application-defined or object-defined error" Then

                ' Mégse után csak kilépünk

             ElseIf Left(Err.Description, 42) = "Method 'Open' of object 'Workbooks' failed" Then

                ' ESC után is csak kilépünk

             Else

                MsgBox "Hibaüzenet: " & Err.Description ' A Hibaüzenet kiírása

             End If

        End If

        On Error GoTo 0

    Else

        If Not Workbooks(aktwbnev).Saved Then ' Ha nincs mentve az hiba

            MsgBox "A megnyitandó fájl (" + aktwbnev + ") módosítva lett, de nincs mentve." + _

                    " A program indítás előtt kérem menteni, vagy bezárni mentés nélkül!"

        Else

            Err.Clear 'Hibaszám törlése

            Workbooks(aktwbnev).Close

            GoTo ulujra ' De nem fogadjuk el nyitottan.

        End If

    End If

End If

Application.DisplayAlerts = alerts

On Error GoTo 0

End Function

 

A fájlnyitás kicsit bonyolult, de általában ezt használom, hogy minél kevesebb hibalehetőség legyen. De jól működik.

 

Viszont az ismerősöm gépén a legelső sor: If Not filenyit(ThisWorkbook.Path, forrásfile) Then

hibaüzenettel leáll. Az üzenet Compile Error, Can't find Project or Library.

 

A hívó és a hívott részlet ugyanazon modulban van, a fájlnév egy egyszerű "proba_77.xls", az elérési úton belül sincs ékezetes karakter, a path is rövid. És ugyanezekkel a paraméterekkel nálam hibátlanul működik.

 

Elküldhetem a teljes programot is, bár szerintem abból sem nagyon derülhet ki több. Ráadásul messze vagyunk egymástól, egyhamar nem is tudnám megnézni a futást eredeti környezetben.

 

És lövésem sincs, hogy milyen nyomon induljak el a hiba kinyomozásában. Azt hiszem, egy pohár vörösborral kezdem, aztán alszom rá egyet. De ez sem biztos, hogy elég lesz:-)))

 

Van valakinek ötlete, hogy milyen irányban nyomozzak? Talán valami Excel beállítás?

 

pimre Creative Commons License 2015.04.08 0 0 26949

Én is csak ilyen szinten gondoltam megkérdezni, hogy mi a feladat. Hiszen azt már az első hozzászólásodból sejtettem, hogy nem nyilvános, különben közzétetted volna.

Előzmény: Delila10 (26946)
Delila10 Creative Commons License 2015.04.08 0 0 26948

Haragszom is a 2010-re! :)

Előzmény: Fferi50 (26947)
Fferi50 Creative Commons License 2015.04.08 0 0 26947

Szia!

 

"a sort 2-vel jobbra kell lökni"

Na ez pl. okozhat komoly fejtörést a 2007-es excelnek, a 6-ról nem is beszélve. Az insert row, column rendkívül lassú a 2010-ben is.

 

Üdv.

Előzmény: Delila10 (26946)
Delila10 Creative Commons License 2015.04.08 0 0 26946

A feladat:

 

Az A:Z oszlopokban vannak adatok, különböző mennyiségben, de max. 4500 sorban.

9 oszlopban kell végrehajtani valamit. Az egyikben, ha az adat tartalmaz "--"-et, attól a cellától kezdve a sort 2-vel jobbra kell lökni. Egy másik oszlopban "-"-et kell keresni, és 6 az elmozdítások száma.

 

Megadom az oszlopszámot, a keresendő értéket, és az elmozdítások számát, majd meghívom a végrehajtó programrészt, ahol a változók szerint figyel, és mozgat.

Előzmény: pimre (26936)

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