Keresés

Részletes keresés

MGD1 Creative Commons License 2010.01.12 0 0 11144
Nagyon szepen koszonjuk a segitseget.
Előzmény: Delila_1 (11143)
Delila_1 Creative Commons License 2010.01.12 0 0 11143

aNGOLBAN:

 

=IF(ISERROR(MATCH(E2;A2:D2;0));"";INDIRECT(CHAR(MATCH(E2;A2:D2;0)+65)&ROW(A2)))

Előzmény: MGD1 (11142)
MGD1 Creative Commons License 2010.01.12 0 0 11142
KOSZONJUK SZEPEN

A Gond az, hogy nekunk csak angol nyelvu excelunk van es ezert nem mukodik.
Angol nyelven is megtudnad irni. Elore is koszonjuk.
Előzmény: Delila_1 (11140)
Delila_1 Creative Commons License 2010.01.12 0 0 11141
Ha minden sorban ugyanazt a KÓD-ot keresed, akkor a képletben az E2-t írd át mindkét helyen arra a cellára (fixen, $ jelekkel), amelyik a keresendő kódot tartalmazza.
Előzmény: MGD1 (11139)
Delila_1 Creative Commons License 2010.01.12 0 0 11140

Ha jól értem, több oszlopban vannak az adataid. Az egyes sorokban keresel 1-1 kódot, és ha megvan a sorban, akkor a jobbra mellette lévő adatot akarod kiíratni.

 

A példában az adatok az A:D tartományban vannak, az E oszlopba írom a keresendő KÓDot. A képletet az F oszlopba tettem, oda írja a KÓD melletti értéket.

 

=HA(HIBÁS(HOL.VAN(E2;A2:D2;0));"";INDIREKT(KARAKTER(HOL.VAN(E2;A2:D2;0)+65)&SOR(A2)))

Előzmény: MGD1 (11139)
MGD1 Creative Commons License 2010.01.12 0 0 11139
Sziasztok

Szuksegem van egy kepletre amely egy tobb oszlopos tablazatbol egy kod alapjan
egy soron belul hozza az azonos kod melletti oszlopban szereplo erteket.
varom a valaszodat
Árpi84 Creative Commons License 2010.01.11 0 0 11138

Sziasztok!

Köszönöm a segítséget, sikerült megoldani a problémát.

A magyar excel =INDIREKT(A1) néven ismeri fel az utasítást.

Köszi mégegyszer!
Előzmény: SQLkerdes (11137)
SQLkerdes Creative Commons License 2010.01.11 0 0 11137
Feltételezések:
- tudod, hogy kell egyes cellatartományoknak nevet adni (name range)
- angol excel
- nemek lehetőségei: fiú, lány (ez a C1:C2) tartományban van
- a fiúnevek a D1:D5 tartományban vannak
- a lánynevek a E1:E3 tartományban vannak
- a nemek szerinti validation az A1 cellában működik
- a nevek szerinti (nemektől függő) validation az A2 cellában

1. Lépés
- azt a tartományt, ahol a nemek vannak (C1:C2) nevezd el pld. Nemek-nek
- azt a tartományt, ahol a fiúnevek vannak (d1:d5, nevezd el fiú-nak (FONTOS, a range name pontosan meg kell egyezzen a nemek között ehhez a listához tartozó elem-mel (ha ott fiúk, akkor itt is, ha male akkor itt is...)
- a lányneveket tartalmazó tartományt nevezd el lány-nak (a fenti szabály itt is érvényes)

2. lépés
- az A1 cellában csináld meg a list szerinti validálást, Source-ként írd be: =nemek (a nemeket tartalmazó range neve);
- az A1 legördülő listájából válaszd ki valamelyik elemet (mindegy mit, csak legyen érték, különben a következő lépésben hibaüzenetet kapsz)
- Az A2 cellában csináld meg a list szerinti validálást, source-ként írd be: =indirect(A1)

Kész vagy.
Előzmény: Árpi84 (11134)
Jozsef Creative Commons License 2010.01.11 0 0 11136
A választ nagyban segítené, ha megírnád űrlap-/vezérlőelem vagy érvényesítési lista irányban indultál-e el!
Előzmény: Árpi84 (11134)
Törölt nick Creative Commons License 2010.01.11 0 0 11135

Szia!

 

Nézz be ide, hátha találsz itt valami okosságot.

Előzmény: Árpi84 (11134)
Árpi84 Creative Commons License 2010.01.11 0 0 11134
Sziasztok!

Egy olyan problémát szeretnék megoldani, hogy egy cella legördülő menüjének kiválasztott értékétől függjön egy másik cella legördülő menüjének elemei.

Tehát pl: B2 cella legördülő menüjében lehet választani a "Lány" és a "Fiú" közül. Ha a felhasználó "Lány"-t választ akkor C2 cella legördülő menüje a következőket tartalmazza: "Anna","Kati","Panni", ha viszont a felhasználó "Fiú"-t választ, akkor a C2 cella legördülőjében a következők legyenek: "Jóska","Pista","Péter".

A megoldás közben sikerült írni egy makrót, ami megváltoztatja a legördülő menü "értékkészletét" de (a példa betűjeleit használva) nem a C2 celláét, hanem a B2-t írja felül.

Segítségeteket előre is köszönöm.
Delila_1 Creative Commons License 2010.01.11 0 0 11133
A képletet tartalmazó oszlopot messzebb tenném az összegeket tartalmazótól, a képernyőn kívülre, vagy a teljes oszlopot elrejteném. Így (látszólag) csak az A1 cella módosításával lehetne vezérelni a szűrést.
Előzmény: Jozsef (11130)
Delila_1 Creative Commons License 2010.01.11 0 0 11132
Igazad vagyon.
Előzmény: Jozsef (11130)
tibibeee Creative Commons License 2010.01.10 0 0 11131

egy tesztprogram lenne hogy érzékeli e.dososba ismerek ilyet és gondoltam hogy talán meg lehet csinalni excelben is. az enterezés a legnagyobb gond, mert az időre van ötletem.azért köszönöm.

Jozsef Creative Commons License 2010.01.10 0 0 11130
=HA(C2/2=INT(C2/2);"páros";"páratlan")

=HA(MARADÉK(C2;2)=0;"páros";"páratlan")
kissé elegánsabb :)
Előzmény: Delila_1 (11125)
SQLkerdes Creative Commons License 2010.01.10 0 0 11129
Érdekel miért és hogyan, de nem hiszem, hogy lehet segíteni.
Először is: olyan, hogy minden gombot egyszerre lenyomni csak emberi léptékkel van, számítógépes mértékben mindíg lesz egy első gomb (lehet csak század v. ezredmásodpercekkel, de az a gépnek nem számít).

Ha mégis megtudnád valahogy csinálni (billentyűzet kiiktatásával, valami jelet küldesz a gépnek), akkor is rossz a helyzet, mert az excel szinte biztos nem tud mit kezdeni vele.
Az excel ott kezd el foglalkozni a bevitellel amikor az véglegesre (ENTER) bekerült egy cellába (az excel ekkor kezdi el végignézni, hogy milyen cellák értéke függ az adott cella tartalmától, aztán milyen cellák függnek ezen cellák tartalmától, egész addig amíg a függő cellák mindegyikét újraszámolta. Ezután újraszámolja azon cellákat, amelyekben ún volatile függvények vannak, még akkor is, ha nem tartozik az adott cella függő cellái közé.).

Lehet az XP/VISTA/W7 guruk tudnak valami megoldást (lehet a keyloggerek egy csoportja meg tudja csinálni ami neked kell, csak kérdés, hogy hogy fogsz infót kiszedni a keyloggerből...).

Szóval, ha ezek után még hajlandó vagy megosztani a miérteket és hogyanokat, én érdeklőve figyelek.
Előzmény: tibibeee (11126)
Törölt nick Creative Commons License 2010.01.10 0 0 11128
a kalviatúrán simán lenyomom az összes gombot. Engem inkább az érdekel, hogy mihez kell ezt tudni.
Előzmény: tibibeee (11126)
Redondo Creative Commons License 2010.01.10 0 0 11127

sziasztok,

 

nagyon köszi az ötleteket és a segítséget, még nem volt időm kipróbálni őket, ha megvagyok, jelentkezek,

 

Előzmény: Delila_1 (11125)
tibibeee Creative Commons License 2010.01.10 0 0 11126

sziasztok. tudnátok valami megoldást arra hogy ha

lenyomom az összes gombot egyszerre akkor számolja hogy hányszor?

most nyilván megfordul a fejetekbe hogy hogy nyomom le egyszerre

az összes gombot, de ha tudtok segíteni és érdekel akkor elmondhatom.

előre is köszi

 

Delila_1 Creative Commons License 2010.01.09 0 0 11125

Na, még egy próbálkozás, és ez lesz jó.

 

Az A1 cellába bevittem egy érvényesítést, lista, ami az A, és B karaktereket tartalmazza.

A szűrendő oszlop a C. Ennek, és a D-nek is van címsora. A D oszlop függvénye végig a számok mellett:  =HA(C2/2=INT(C2/2);"páros";"páratlan")

A P1 cella képlete:  =HA(A1="A";"páros";"páratlan")

Itt, és a D oszlopban is több egymásba ágyazott HA függvénnyel több eredményt lehet kihozni.

 

A laphoz rendelt kód:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Selection.AutoFilter Field:=2, Criteria1:=Cells(1, 16)
    End If
End Sub

Delila_1 Creative Commons License 2010.01.09 0 0 11124

A case utasítások végén ott hagytam a   , Operator:=xlAnd operátorokat, hogy ha akarod, kiegészíted a feltételeket, pl. így (de lehet xlOr is):

 

Selection.AutoFilter Field:=2, Criteria1:=">100", Operator:=xlAnd, Criteria2:=">=200" 

 

Delila_1 Creative Commons License 2010.01.09 0 0 11123

A laphoz rendelt makróban most 4 egyszerű kritériumot adtam meg:

"A" beírására a 100-nál kisebb értékek jelennek meg a szűrt listában

"B"-re a 100-nál nagyobbak

"C"-re a 300-nál nagyobbak

Bármi más érték az A1 cellába az összes értéket mutatja a B oszlopban.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Select Case Target.Value
        Case "A"
            Selection.AutoFilter Field:=2, Criteria1:="<100", Operator:=xlAnd
        Case "B"
            Selection.AutoFilter Field:=2, Criteria1:=">100", Operator:=xlAnd
        Case "C"
            Selection.AutoFilter Field:=2, Criteria1:=">300", Operator:=xlAnd
        Case Else
            Selection.AutoFilter Field:=2
        End Select
    End If
End Sub

SQLkerdes Creative Commons License 2010.01.09 0 0 11122
A validation list-es megoldás:
- felteszem, tudod, hogy maximálisan mekkora a tartomány ahol számok lesznek (vagyis statikus tartományról beszélünk, nem dinamikusról), itt a példa kedvéért 300 sor nagyságú példát használok;
- egy külön worksheeten jelölj ki egy 300 sor nagyságú területet, pld sheet4!A1:a300
- a terület legfelső cellájába (sheet4!a1) írd be a következő képletet
=LARGE(Sheet1!b1:b300;ROW(INDIRECT("1:300")))
FONTOS, hogy eközben a kijelölésnek meg kell maradnia
- NE ENTER-rel zárd le a képletet, hanem Ctrl - Shift - Enter-rel!
ha jól csináltad, akkor a sheet4 A oszlopának első háromszáz cellájában megjelennek a sheet1 B oszlopának számai csökkenő nagyságrendi sorrendben

- Ezt a területet nevezd el valahogy, itt én most VALLIST-nek hivom
- Bármelyik másik sheet-en ahova szeretnéd rakni a validation list legördülő menüjét, kezdd el a validation list létrehozását, de Source-ként azt írd: =VALLIST (vagy bármilyen nevet amit te használsz)
- ENTER

Kész vagy.

Ha nagyon cifrázni akarod, akkor a LARGE-os képletet belerakod egy IF-be, ahol előbb kiértékeled a LARGE-ot, ha hibát ad, akkor nulla értéket adsz meg.

Valahogy így:

=IF(ISERROR(LARGE(Sheet1!b1:b300;ROW(INDIRECT("1:300"))));0;LARGE(Sheet1!b1:b300;ROW(INDIRECT("1:300"))))

Lehet, hogy a te gépeden a függvények bemeneti adatait nem pontosvesszővel kell elválasztani (mint ahogy én csináltam) hanem vesszővel. Az oprendszered meg az xl-ed nyelvi verziójától függ a dolog.

Most látom, hogy nálad a C oszlopban van a szűrt lista, szóval a fenti példában a sheet1!b kezdetű dolgok helyett használj sheet1!c-t.
Előzmény: Redondo (11111)
Delila_1 Creative Commons License 2010.01.09 0 0 11121

 

A target.address-be természetesen a változó cella címét kell megadni.

Delila_1 Creative Commons License 2010.01.09 0 0 11120

A munkalaphoz rendelve az A1 változásakor végrehajtódik:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        If Target.Value > "" Then
            'első makró
        Else
            'második makró
        End If
    End If
End Sub

Előzmény: Redondo (11117)
tbando Creative Commons License 2010.01.09 0 0 11119
Basszuskulcs. Az E oszlop képletét elszúrtam. :((( Későn van már :))

Helyesen (remélhetőleg):

=Ha(hibas(fkeres(a11;$c$11:$d$310;2;0)=IGAZ;"";fkeres(a11;$c$11:$d$310;2;0))
Előzmény: tbando (11118)
tbando Creative Commons License 2010.01.09 0 0 11118
No akkor itt egy automatikus lefutásu. De ahhoz a B1..B300 közötti számokat tedd át D11..D310-re A többi oszlophoz meg másold végig a 11-ik sorba írt alábbi képleteket:

A11..A310: 1-300
B11..B310: =Ha(D11=$A$1;1;0)
C11..C310: =Ha(B11=0;0;szum($B$11.B11)
D11..D310: a te szamaid
E11..E310: =Ha(hibas(fkeres(a11;$c$11:$c$310;3;0)=IGAZ;"";fkeres(a11;$c$11:$c$310;3;0))

Az E oszlop lesz a te oszlopod.
Előzmény: Redondo (11117)
Redondo Creative Commons License 2010.01.09 0 0 11117

köszi a választ,

 

azért 1-300 között nem nagy kaland megkeresni a prímszámokat... :)

 

billentyűparanccsal meg tudtam oldani (a fapados, de jól működő macro recorder funcióval) a problémát, de pont az lenne a lényeg, h az A1 cella megváltozása után automatikusan fusson le ez a makró, ne egy billentyűparancsra...

 

köszi,

Előzmény: tbando (11116)
tbando Creative Commons License 2010.01.09 0 0 11116
Hát aki tud kreálni egy olyan képletet, ami igaz eredményt ad mondjuk a primszámokra, az csak meg tud csinálni egy helyben szürést. De ha nem, akkor kattogj le neki egy makrót. Persze az sem automatikusan indul, azt is el kell inditani.

Én a hasonló feladatok 99%-nál az alábbi 2 makróval elég jól elboldogulok. Az első keres, a másik helyre állítja a táblázatot. A 10 sor az obligát fejléc, az 1-2 sor az obligát kritérium tartomány

Sub keres()
Billentyűparancs: Ctrl+k
Range("A10:cz65536").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("a1:cz2"), Unique:=False
End Sub


Sub vissza()
' Billentyűparancs: Ctrl+m
ActiveSheet.ShowAllData
End Sub

Előzmény: Redondo (11115)
Redondo Creative Commons License 2010.01.08 0 0 11115

igen, csak ezt automatikusan tegye meg az A1 cella változásakor,

(a felhasználó nem én leszek... :) )

Előzmény: tbando (11114)
tbando Creative Commons License 2010.01.08 0 0 11114
Ha jól értem a problémád akkor a C oszlopra helybeszüröm a táblázatot a >0 feltételre.
Előzmény: Redondo (11111)
toccata Creative Commons License 2010.01.08 0 0 11113
Azt még akartam írni, hogy ilyen általában akkor fordult elő, amikor több, nagy méretű területet vágtam ki és illesztetem be máshova.
Lehet, hogy a vágólapon sérült valamivel nem boldogult rendesen.
Előzmény: toccata (11112)
toccata Creative Commons License 2010.01.08 0 0 11112
Nekem akkor volt néha ilyen problémám, amikor valamiért hibás/sérült adat került bele az fájlba. Volt, hogy a fájlméret is ondokolatlanul nagyra nőtt, de nem mindig.

Az OpenOffice.org Calc-jával megnyitottam, majd elmentettem .xls formában, utána ismét béke volt.
Előzmény: Redondo (11110)
Redondo Creative Commons License 2010.01.08 0 0 11111

lenne egy másik probléma is, amit egyedül nem tudtam megoldani,

 

adott egy 300 elemű lista, egy oszlopban, az egyszerűség kedvéért legyenek ezek most a számok, 1-300-ig, (B1:B300)

 

adott egy másik cellában (A1) egy feltétel, amely befolyásolja az előző listát, pl. (szándékosan a gyakorlatban értelmetlen, de itt és most jól érthető példák):

  • ha ez az érték "A", akkor a páros számok jelenjenek meg a listában,
  • ha ez az érték "B", akkor a páratlan számok jelenjenek meg a listában,
  • ha ez az érték "C", akkor a prímszámok jelenjenek meg a listában,
  • stb.,

 

ebből a módosított listából szeretnék választani egy értéket, a data validation - List megoldással,

 

azt meg tudom tenni, h a C1:C300 területen megjelenik a módosított lista (tehát beképletezve, pl. a C1 cellában: =IF(A1="A";"";B1), stb.), így A1 függvényében a C1:C300 területen lesz egy üres cellákat és értékeket vegyesen tartalmazó lista, a data validation-ben ezt a területet adom meg, így csak az A1 feltételnek megfelelő érték választható ki,

 

(persze kell egy utólagos ellenőrzés, mert az érték kiválasztása után A1 módosítható...)

 

ezzel a problémára mondhatjuk, h megoldva, de ez elég fapados megoldás, mert pl. az A1=C feltétel esetén elég sok üres cella lesz, a lenyíló listában relative ritkán jelennek meg értékek, kényelmetlen a használat,

 

meg lehet azt valahogy oldani, h a listában csak az értékek jelenjenek meg, az üres cellák nem? vagy az lehet a megoldás, h az A1 cella minden változtatása után automatikusan (makró tud ilyet?) a C1:C300 területet sorbarendezze az Excel, és így az üres cellák a végére kerülnek? ebben a makróban tud valaki segíteni?

 

remélem sikerült érthetően leírni a problémát, és előre is köszönöm a segítségeteket,

 

 

 

Redondo Creative Commons License 2010.01.08 0 0 11110

sziasztok,

 

nálunk is felütötte a fejét a tárgyalt probléma... azt jól gondolom, ha egy munkafüzetben a cellaformátumok száma 4001 és 64000 közé esik, akkor az én Excel2007-m teljesen jól működik, míg a kolléga gépe Excel 2003-mal már nem tudja megnyitni ezt a fájlt, és "Too many different cell format" üzenetet ad?

 

abban tudtok segíteni, h mi számít - ebből a szempontból - cellaformázásnak?

 

  • Kitöltés színe
  • Betú színe
  • Betű stílusa
  • Betű nagysága
  • Szegély színe
  • Szegély stílusa
  • Számformátum

ezeken kívül más? létezik, h ezekből összehoztam egy 2MB-os Excelben több, mint 4000 fajtát? :-(

 

az befolyásolja esetleg ezt a számot, ha minden egyes sheet-en a nem használt (táblázaton kívül eső) sorokat és oszlopokat elrejtem? talán ez is formázásnak minősül?

 

előre is köszönöm a válaszokat,

 

Előzmény: SQLkerdes (11090)
SQLkerdes Creative Commons License 2010.01.08 0 0 11109
Nem, valóban nem divat.
De azért ne ragadjunk ki egy szót a környezetéből, utalok itt a szmájlira.

Mindnyájan ismerjük azt az érzést, amikor valami nagy probléma végre megoldódik...
Delila_1 Creative Commons License 2010.01.08 0 0 11108

 

 

Ez szakmai fórum, itt nem divat ez a stílus.

 

 

Előzmény: Ordas (11106)
SQLkerdes Creative Commons License 2010.01.08 0 0 11107
:-)
Előzmény: Ordas (11106)
Ordas Creative Commons License 2010.01.08 0 0 11106

Működik, baszod!

 

Köszi!!!!! :)))

Előzmény: SQLkerdes (11104)
SQLkerdes Creative Commons License 2010.01.08 0 0 11105
Kicsit játszottam az OFFSET bemeneti adatival és lám mire jutottam:
=OFFSET(zona,{0;0;0},{0;1;2},{6;6;6},{1,1,1})

eredménye:

{5,5,5;15,15,15;105,105,105}


Veria2:

OFFSET(zona,{0;0;0},{0,1,2},{6;6;6},{1,1,1})
eredménye:
{5,15,105;5,15,105;5,15,105}

Bárkihez hozzámegyek feleségül aki megoldja nekem ezt a rejtélyt...
SQLkerdes Creative Commons License 2010.01.08 0 0 11104
=ADDRESS(SUMPRODUCT((A1:C6=13)*ROW(A1:C6)),SUMPRODUCT((A1:C6=13)*COLUMN(A1:C6)))

Feltételezve, hogy a keresendő adatok az A1:c6 tartományban vannak és a 13-as értéket keresed.

Azért az OFFSET-re még mindíg haragszom...
SQLkerdes Creative Commons License 2010.01.08 0 0 11103
Az UDF (User Defined Function) a függvényeknek azon csoportja, ami nem beépített excel függvény, hanem a felhasználó saját maga írja meg (VBA kódban), hogy a függvény mit csináljon.

A te problémád megoldására írtam egy UDF-et, ami két három hozzászólással lejjebb van, használati utasítással, hogy hogy kell bemásolni és használni.

Lehet elkerülte a figyelmedet.
Előzmény: Ordas (11102)
Ordas Creative Commons License 2010.01.08 0 0 11102

Szóval akkor UDF függvénnyel oldható meg a probléma?

 

 

Előzmény: SQLkerdes (11101)
SQLkerdes Creative Commons License 2010.01.08 0 0 11101
Abszolút könnyítés ha vektorban vannak az adatok nem pedig mátrixban, mert akkor nem kell a mátrixot széthasogatni vektorokra.

Azonban ez nem változtat azon, hogy az OFFSET-nek működnie kellene...

Egyébként nem kell szétszedd a táblázatodat, a korábban posztolt UDF tökéletesen működik a jelenlegi struktúráddal is...

Ha mégis szétszeded add meg az adatokat és azt is megoldjuk.
Előzmény: Ordas (11100)
Ordas Creative Commons License 2010.01.08 0 0 11100

Húúú, köszi a segítséget. Nem gondoltam volna, hogy ekkora galibát okozok vele.

 

Igazából olyan táblázatot szerettem volna csinálni, ami feldolgozza az eseményeket:

Pl. vásárlás

narancs    100 Ft

citrom       200 Ft

 

Kikeresi, hogy narancs árával melyik cellában foglalkoztam, azt kiadva eredményül egy másik függvény beolvassa a narancs fülre. A citrom árát meg a citrommal foglalkozó fülre (Ezt a függvényzt múltkor megadtátok)

 

Most át próbálom szerkeszteni a táblázatomat, hogy ha A1-től A100-ig kell csak megkeresnie a 100-as értéket? Tehát, ha nem mátrixban, hanem vektroban gondolkodunk? AZ könnyítés? Majd megpróbálom a táblázatomat átalakítani.

SQLkerdes Creative Commons License 2010.01.08 0 0 11099
Persze, hogy lehet feltételes formázással (meg Find-dal is), nem vitás, de Ordasnak a cella címére van szüksége, ő tudja miért.

Engem meg irritál, hogy az OFFSET szívózik!

Meg persze ott van az is, hogy szép kihívás beépített excel függvényekkel megcsinálni...
Előzmény: Delila_1 (11098)
Delila_1 Creative Commons License 2010.01.08 0 0 11098

Egyszerűen ki lehet kerestetni feltételes formázással.

A cella értéke -> egyenlő -> =100

 

Ezt csak azért írtam mert bántja a szememet a hozzászólásokban a sok piros szín. :)

Előzmény: Ordas (11092)
SQLkerdes Creative Commons License 2010.01.07 0 0 11097
Na, emberek most segítsen valaki, mert nem értem mi történik.

Ordas lenti kérdését próbáltam megoldani native excel függvényekkel, de az offset úgy kifogott rajtam, hogy nem is értem mit csinál...

Alapkiindulás:

cellák és tartalmuk:
A1:A6 1,2,3,4,5,6
B1:B6 101,102...106
c1:C6 201,202...206

A fenti A1:C6 tartományt elneveztem zona-nak, hogy a képleteket egyszerűbb legyen írni.

Megpróbáltam egy array functionnel felbontani a fenti 6*3-as mátrixot három oszlopra.

I. írtam egy offset array function-t, ami így néz ki:
=OFFSET(ZONA,0,{0,1,2},6,1)
Ez a gyakorlatban ugyanazt az eredményt kellene adja, mintha azt írtam volna, hogy:
=OFFSET(ZONA,0,0,6,3) (a különbség csak az, hogy míg ez a második egy darab 6*3-as mátrixot ad vissza eredményül, addig az első változat 3 db 6*1-est.

De, ha a szerkesztőlécben a fenti képletekre (még enter előtt) rányomom az F9-et (függvény átváltása annak értékére) akkor:
- a második változat eredménye: {1,101,201;2,102,202;3,103,203;4,104,204;5,105,205;6,106,206} (ez OK, ezt vártam...)

- ezzel szemben az array function változatot elfogadja (még jó!), de az a következő értéket adja vissza: {5,105,205}

HOGY A FÉSZKES FENÉBE LETT EZ A FENTI FÜGGVÉNY EREDMÉNYE?


Látott már bárki bármi hasonlót?

{5,105,205} akkor lesz az eredmény, ha a függvény: =offset(zona,4,0,1,3)

Szóval az excel szerint:
=OFFSET(ZONA,0,{0,1,2},6,1) ugyanaz mint =offset(zona,4,0,1,3)
SQLkerdes Creative Commons License 2010.01.07 0 0 11096
Nos, megpróbáltam excel beépített függvényekkel megcsinálni és bár meg van a koncepcióm valamit valahol elszúrok és most nincs időm kitalálni mit...

Szóval írtam egy UDF-et.

Alaptudnivalók:
- a függvény feltételezi, hogy az a tartomány amin belül keresni kell az értéket el van nevezve és a neve Zona
- a függvény elfogad értéket és cellahivatkozást is mint bemeneti adat.

Az UDF:

*************************************
Function RefKereso(ertek As Variant)
Dim MyRange As Range

For Each MyRange In Range("zona")
If MyRange.Value = ertek Then
RefKereso = MyRange.Address
Exit Function
End If
Next
RefKereso = "Nincs ilyen cella ertek"

End Function
*******************************

UDF bemásolása:
- lépj be a workbookba amiben használni akarod ezt a függvényt
- minden más workbook-ot csukj be
- Alt+F11 (Visual Basic megnyílik
- Insert menü/Modul
- a megnyíló fehér lapra másold be a fenti kódot
- ezután a Refkereso nevű függvényt ugyanúgy használhatod mint bármelyik excel beépített függvényt (pld sum)

Tartományok elnevezése:

- jelölj ki egy cellát a worksheet-en ahol az a tartomány van, amiben az értéket keresnéd
- az excel képernyő bal felső sarkában meg fog jelenni a cella hivatkozása (azt hiszem az a neve a képernyő ezen részének, hogy NameBox
- jegyezt meg ez hol van
- jelöld ki a tartományt amin belül keresni szeretnéd az értéket
- kattints a namebox-ra (a fehér részre, ne törődj vele, ha van ott valami írás (valszeg a kijelölt tartomány bal felső cellájának címe)
- írd be, hogy zona
- Enter

Kész vagy.


SQLkerdes Creative Commons License 2010.01.07 0 0 11095
Durva lesz...
Előzmény: Ordas (11094)
Ordas Creative Commons License 2010.01.07 0 0 11094

A1 és X100 között kell keresni, tehát mátrixban.

 

Egyszer fordulhat elő a 100

 

Köszi

Előzmény: SQLkerdes (11093)
SQLkerdes Creative Commons License 2010.01.07 0 0 11093
Add meg, hogy milyen tartományon belül keresse azt a 100-as értéket.
Pld A1:A100 vagy A1:X100 (nem mindegy, hogy egy vektorban vagy egy mátrixban kell-e keresni)

Hányszor fordulhat elő a 100 az adott tartományban? Ha több találat van, hogy kell eldönteni, hogy melyik legyen az a cella-cím, amit látni akarsz (ha mindet látni akarod, az nem lehetetlen, de durva...)
Előzmény: Ordas (11092)
Ordas Creative Commons License 2010.01.07 0 0 11092

Sziasztok!

 

Most oylan függvényt, vagy bármi más megoldást keresek, ami az alábbi dolgot tudja.

 

Példa:

 

Az A5-ös cella értéke 100.

Mit kell írnom bármely más cellába, ami azt teszi, hogy kkeresi, melyik cella értéke 100 és kiírja a cella nevét. Jelen esetben A5-öt.

pkarak Creative Commons License 2010.01.07 0 0 11091
Köszi, de közben rájöttem, hogy már leírtad....
Előzmény: SQLkerdes (11090)
SQLkerdes Creative Commons License 2010.01.07 0 0 11090
64,000

Előzmény: pkarak (11089)
pkarak Creative Commons License 2010.01.07 0 0 11089
Meg tudnád mondani, hogy a 2007 mennyi cellaformátumot bír? A közeljövőben  frissítünk 2007-re, és lehet, hogy érdemesebb azt kivárnom.
Előzmény: SQLkerdes (11088)
SQLkerdes Creative Commons License 2010.01.07 0 0 11088
Azt írtad, hogy egy workbookban van egy csomó worksheet-ed, egy másikban meg van egy worksheet. Az egy worksheet-et szeretnéd betenni a sok közé.
Mutass egy screenshot-ot arról a workbookról ahol sok a worksheet.

Valószínűleg az a baj, hogy túl komplexek a tábláid formázási szempontból (látom xl2003-ad van, az csak 4,000 cellaformátumot bír el.

Egyszerűsítsd a táblák formázását (betűtipusok, cellahatároló vonalak vastagsága, etc.).

Ha ezt 4000 alá tudod tornázni, ismét működni fognak a táblázataid

Előzmény: pkarak (11087)
pkarak Creative Commons License 2010.01.07 0 0 11087

Ott a képernyő közerén megjelenő ablakban csak annyi, hogy "Túl sok különböző cellaformátum szerepel"

 Amit be akarok szúrni egyszerű táblázatok (kb 5-6 egymás alatt)

Előzmény: SQLkerdes (11086)
SQLkerdes Creative Commons License 2010.01.07 0 0 11086
Én túrót se látok belőle :-)

Egyszerűen írd be ami ott van.

Viszont ha itt tartunk akkor berakhatnál hasonló képeket a B workbooklapjairól, hogy lássuk mennyire vannak (túl)formázva.
Előzmény: pkarak (11085)
pkarak Creative Commons License 2010.01.07 0 0 11085

Bocsi, de most kerültem ismét gépközekbe.

Nem tudom mennyi látszik belőle, de ott a képernyő közepén jelenik meg a hibajelzés, a beillesztés után.

 

 

 

 

Előzmény: SQLkerdes (11081)
SQLkerdes Creative Commons License 2010.01.06 0 0 11084
Unique cell formats/cell styles 64,000

Na, ezt se tudtam.

Lehet ezen lövi túl az új lap bemásolása?
Jó lenne tudni, hogy a cell style vagy a cell format probléma ütötte fel a fejét..

Most hogy jobban belegondolok nem is értem a unique cell format dolgot.
Mi fáj ott neki? A cellák színe, a cellák border-jei?

Nincs túlformázva a munkalap?
Törölt nick Creative Commons License 2010.01.06 0 0 11083
vagy:
http://office.microsoft.com/assistance/hfws.aspx?AssetID=HP051992911038&CTT=3&Origin=HP052091791038&Client=1
Előzmény: pkarak (11075)
Törölt nick Creative Commons License 2010.01.06 0 0 11082
nyomj egy F1-et és a súgóba írd be:
"Az Excel jellemzői és korlátai"
talán az első találat...
Előzmény: pkarak (11075)
SQLkerdes Creative Commons License 2010.01.06 0 0 11081
Másold be ide a pontos hibaüzenetet lécci.
Ha van benne valami kód azt is.
Előzmény: pkarak (11080)
pkarak Creative Commons License 2010.01.06 0 0 11080

Pontosítom a problémát: (kitöröltem az összes custom cellaformátumot)

adott két fájl, ("A" egy lapból áll, "B" többől) amiből egyet szeretnék csinálni úgy, hogy A fájlt beszúrom B fájl egyik lapjára. Ekkor jelenik meg az említett hiba.

Előzmény: pkarak (11079)
pkarak Creative Commons License 2010.01.06 0 0 11079

Köszi,

igazából én sem értem, hogy hogy miért érzékel 200-nál több Custom beállítást, hiszen én "szándékosan" egyet sem hoztam létre....

Előzmény: SQLkerdes (11078)
SQLkerdes Creative Commons License 2010.01.06 0 0 11078
Hmm, hogy hoztál létre Custom formázási kódokat ha nem tudod hogy kell őket törölni?
Ez elbizonytalanít azzal kapcsolatban, hogy jól értem-e a problémádat...

A Custom formázások törlése egyszerű:
- állj rá bármelyik cellára
- Ctrl + 1
- Number fül
- Custom kategória
- a saját custom beállítások ennek a listának általában a legvégén vannak
- nézd meg mit nem használsz és Delete gombbal töröld

(A Delete gomb nem válik aktívvá, ha olyan custom formázást választasz ki ami "beépített" vagyis amit a Microsoft állított be).
Előzmény: pkarak (11077)
pkarak Creative Commons License 2010.01.06 0 0 11077

Köszönöm a gegítséget, de ŐŐŐ..... hát én nem vagyok egy EXCEL-guru. A "Szerintem nézd végig a custom listát és irts ki néhányat" -al pontosan mire is gondoltál.

 

Előzmény: SQLkerdes (11076)
SQLkerdes Creative Commons License 2010.01.06 0 0 11076
MS Office webpage:

Custom format: This format allows you to modify a copy of an existing number format code. This creates a custom number format that is added to the list of number format codes. You can add between 200 and 250 custom number formats, depending on the language version of Excel that you have installed.

Komolyan 200-nál több formátumra van szükséged? Nem zárom ki, csak valószínűtlennek tartom.

Szerintem nézd végig a custom listát és irts ki néhányat, az megoldja a problémádat.

pkarak Creative Commons License 2010.01.06 0 0 11075

Sziasztok,

a köv. probléma megoldásához kérnék segítséget: elég sok mindent összeraktam egy excel progiba. Egy képlet beírásakor a következő hibajelent jelent meg: "túl sok különböző cellaformátum szerepel". És persze azóta semmit sem tudok módosítani. Nem tudom, hogy van-e valami limit a cellaformátumok számát illetően (a mellékelt jelenség szerint igen), és ha igen lehet-e ezt növelni? Vagy van-e valakinek egyéb ötlete a fenti jelenség leküzdésére?

SQLkerdes Creative Commons License 2010.01.05 0 0 11074
Most látom, hogy xl2007-ben report filter néven fut...





http://www.youtube.com/watch?v=962r5nH7CHw
SQLkerdes Creative Commons License 2010.01.05 0 0 11073

http://www.youtube.com/watch?v=kwOtkSenRQ0

Nem page file, hanem page field, a példán a territory-t használja így.

xl2007-es videót most nem találtam, de kis utánajárással biztos nem nehéz.
Előzmény: NeomatiK (11071)
totya001 Creative Commons License 2010.01.05 0 0 11072
Ezt kerestem! Köszönöm szépen!
Előzmény: SQLkerdes (11067)
NeomatiK Creative Commons License 2010.01.05 0 0 11071
Erről hol találok leírást? Mert nem ismerem.
Előzmény: SQLkerdes (11070)
SQLkerdes Creative Commons License 2010.01.05 0 0 11070
A pagefile dolgot még mindíg érdemes megnézni...
Előzmény: NeomatiK (11068)
SQLkerdes Creative Commons License 2010.01.05 0 0 11069
És természetesen ez is rossz volt...

=if(a2=1;1;(a2-b2)/(a2-1))

Lassan kialakul ez...
Előzmény: SQLkerdes (11067)
NeomatiK Creative Commons License 2010.01.05 0 0 11068
Áhá, értem.

Viszont ez csak egy példa volt, az én valós táblázatomban 10-nél jóval több ilyen oszlop van.

Azt hiszem, maradok az összes termék kijelzésénél, mert ez a fajta tagolás nagyon áttekinthetetlenné tenné a kiinduló táblázatomat.

Köszi.

Előzmény: SQLkerdes (11065)
SQLkerdes Creative Commons License 2010.01.05 0 0 11067
=if(b2=1;1;(a2-b2)/(b2-1))

helyett

=if(b2=1;1;(a2-b2)/(a2-1))
Előzmény: SQLkerdes (11062)
SQLkerdes Creative Commons License 2010.01.05 0 0 11066
Igaz, este van már, belezavarodtam.
Mindjárt végiggondolom...
Előzmény: totya001 (11064)
SQLkerdes Creative Commons License 2010.01.05 0 0 11065
[color: 800000]Tegyük fel most van egy sorban három adatod (termék1, termék 5 és termék10), a többi termékből nem volt eladás az adott napon.

Ezt úgy alakítanám át, hogy:
- minden más oszlop változatlan marad (kivéve a termékek)
- két termék oszlop lesz (termék név, termék eladott mennyiség);

Az eddigi egy sor három adat helyett lesz három sorod egy-egy adattal.

- terméknév: 1, mennyiség (mondjuk 10)
- terméknév: 5, mennyiség (mondjuk 6)
- terméknév: 10, mennyiség (mondjuk 8)

[/color]
Előzmény: NeomatiK (11063)
totya001 Creative Commons License 2010.01.05 0 0 11064
Nekem ez magas. A b2-ben szerepel a helyezésem. Amennyiben első vagyok, akkor nullával osztok. Hogyan lesz abból 100%?

Azt szeretném, ha 3 indulóból első vagyok, akkor c oszlop adjon 100%-ot. ha második lettem, mutasson 50%-ot, ha harmadik, akkor 0%-ot és ez magas indulószámnál is teljesülhessen.

Bocs, ha értetlen vagyok!
Előzmény: SQLkerdes (11062)
NeomatiK Creative Commons License 2010.01.05 0 0 11063

"A tábládat át kellene szervezni, hogy csak egyetlen Termék oszlop legyen, abban szerepeljen a termék száma (1...10)."

 

 

Hogyan gondoltad áttenni 1 oszlopba? Én ezt nme tudom elképzelni, hiszen a meglévő minden egyes oszlop a különböző termékekre mutatják az eladott darabszámot.


Előzmény: SQLkerdes (11060)
SQLkerdes Creative Commons License 2010.01.05 0 0 11062
=if(b2=1;1;(a2-b2)/(b2-1))
Előzmény: SQLkerdes (11057)
SQLkerdes Creative Commons License 2010.01.05 0 0 11061
Valós megjegyzés, de hány olyan verseny van, ahol egyedül indulsz?
Ha viszont a gyakorlatban probléma, akkor be kell rakni egy if-be a dolgot.
Előzmény: totya001 (11059)
SQLkerdes Creative Commons License 2010.01.05 0 0 11060

A problémád attól félek fundamentális...
A tábládat át kellene szervezni, hogy csak egyetlen Termék oszlop legyen, abban szerepeljen a termék száma (1...10).
Ha ez meg van, akkor a Terméket berakni a pivottáblába és ott már lehet szűrni.

Egy más módszer lehetne, hogy a termékeket berakod pagefile-ba (nem tom mi a magyar neve).
Viszont azt egyenként kell ki és bekapcsolni...
Előzmény: NeomatiK (11058)
totya001 Creative Commons License 2010.01.05 0 0 11059
Eszerint, ha b2=1, akkor nullával osztok.
Előzmény: SQLkerdes (11057)
NeomatiK Creative Commons License 2010.01.05 0 0 11058
2007, magyar.
Előzmény: SQLkerdes (11056)
SQLkerdes Creative Commons License 2010.01.05 0 0 11057

Igazából azt keresed, hogy hányan vannak mögötted azokból akik mögötted lennének ha első lennél.

Innen adódik a számítás, pld a második sorban
c2: =(a2-b2)/(b2-1)

Előzmény: totya001 (11055)
SQLkerdes Creative Commons License 2010.01.05 0 0 11056

Milyen excel-ed van? 2003 v 2007? Angol v magyar?
Előzmény: NeomatiK (11054)
totya001 Creative Commons License 2010.01.05 0 0 11055
Hello!

Keresek egy képletet.

A oszlopban : versenyen indulók száma.
B oszlopban : helyezésem.
C oszlopban : százalékos eredményem (ide keresek képletet).

Képlet feltétele : ha első vagyok, akkor mutasson 100%-ot, ha utolsó, akkor 0%-ot (további helyezések a megfelelő %-arányt).

Köszönöm!
NeomatiK Creative Commons License 2010.01.05 0 0 11054

Még olyan érdekel, hogy pivot táblába az

 

1. oszlopba kerül az eladó: Józsi, Géza

2. oszlopba munkanapok: hétköznap, szombat, vasárnap

3. oszlopba 1-es termék

4. oszlopba 2-es termék

5. oszlopba 3-as termék

6. oszlopba 4-es termék

.

.

.

12. oszlopba 10-es termék

 

A sorcimkékbe tettem a:

hónapok, eladó, munkanapok

 

Értékekhez tettem a:

1-es termék, 2-es termék, ...... 10-es termék -et, az értékmező beállításoknál a "Darab" helyett "Összeg"-re átállítva.

 

//Ez az átállítás azért kell, hogy az adott nap eladott darabszáma jelenjen meg. Ha pl Józsi hétköznap 50 db-ot adott el, tehát "50" van a forráscellában, akkor 50 jelenjen meg a pivottáblában is. Ha maradna "Darab"-ra állítva, akkor "1" jelenne meg. Na ezt csak úgy intermezzoként leírtam az ügyködésemről, lehet hogy ezt is lehetne frappánsabban?//

 

Tehát így beállíthatom a leválogatás kritériumait a sorcimkékben (pl Józsi, hétköznap -ra állítva), és ez alapján jellenik meg mind a 10 termék eladott darabszáma.

 

Eddig szép és jó, de...

 

De azt is szeretném hogy valami hasonló legördülű menüből állíthassam be, hogy az 1-es termék, 2-es termék stb oszlopaiból melyek jelenjenek meg az eredeti 1-10-es termék helyett ha nem vagyok kíváncsi az összes 10 termékre.

 

Ha a "kimutatás mezőlistán" visszahúzom a nem kívánt termékek - nevezzük így - gombjait (pl a 1-es termék, 2-es termék), a kiindulási ablakba, akkor ha utána szükségem van rá, akkor vissza kell húznom az Értékek ablakba és megint átállítani a "Darab" -ról "Összeg"-re. Szóval ez így elég macerás.

Van erre valami jobb megoldás? Emiatt lenne jó egy ilyen legördülő menü, és így oldalirányban eszerint bővülnének-jelennnének meg az oszlopok.

Tehát ha csak az 1-es, 2-es, 3-as, 4-es, 5-ös termékre vagyok kíváncsi akkor 7 oszlopom lenne (eladó, munkanap, 1-es termék, .... , 5-ös termék).

Ha csak a 4-es, 8-as termékre, akkor 4 oszlopom lenne.

 

Remélem sikerült érthetően leírni ezt az egyszerű dolgot :)

SQLkerdes Creative Commons License 2010.01.05 0 0 11053
Frissítés előtt megkérdi frissítsen-e.
Ha nem leli a file-t akkor megkérdi hol van (asszem).

Szóval ha ezek bármelyikére nemet mondasz akkor marad a legutolsó ismert állapot.

Van még lehetőség a két file közötti kapcsolat elvágására is, akkor is marad az utolsó ismert állapot.
Előzmény: NeomatiK (11052)
NeomatiK Creative Commons License 2010.01.05 0 0 11052

Köszi. Nem akarom bonyolítani a témát, úgyhogy marad az azonos könyvtár, csak kíváncsi voltam.

Egyébként ha másik könyvtárba kerül a forrásfájl, akkor a célfájlban hibaüzenet lesz, vagy megmarad a legutóbbi adat?

Előzmény: SQLkerdes (11049)
NeomatiK Creative Commons License 2010.01.05 0 0 11051
Igen, egy teljes hozzáférést biztosító meghatalmazó levéllel együtt! :D
Előzmény: Törölt nick (11050)
Törölt nick Creative Commons License 2010.01.05 0 0 11050
>>Igaz, de így jobban ki van használva az internet, ha már fizetek érte!

most akkor adjam meg a számlaszámomat? :))
Előzmény: NeomatiK (11048)
SQLkerdes Creative Commons License 2010.01.05 0 0 11049
Nem, a forrás file elérési útvonalának változásakor az cél file nem tudja követni hova tetted a forrás file-t.
Viszont ha máshova raktad a forrás file-t akkor manuálisan meg tudod mutatni a cél file-ban, hogy hova lett a forrás file és onnantól már tudja a következő mozgatásig.

Egyébként xl2007 esetében az adatkapcsolatok alapból le vannak tiltva (ha jól emlékszem), szóval megnyitás után külön engedélyezned kell.

Lehet írni olyan makrót, ami a cél file megnyitásakor automatikusan megnyitja a forrás file-t is és akkor a legegyszerűbb az élet.

Egyébként harmadik megoldás a cellák hivatkozására (pld. file1 a1:a5-t szeretnéd látni file 2 b1:b5-ben):

- file1 a1:a5 kijelöl és Copy (Ctrl+C)
- file 2 b1:b5 kijelöl
- xl2003: Edit/Paste Special/past as link (vagy valami hasonló)
- xl2007: Home tab/Paste lenyíló menü lenyit/Past link

Előzmény: NeomatiK (11048)
NeomatiK Creative Commons License 2010.01.04 0 0 11048
Igaz, de így jobban ki van használva az internet, ha már fizetek érte! :D De azért ki fogom próbálni.

És ha menetközben a Dokumentumok mappából, ahol mindkét xls található, az egyik.xls-t átmozgatom egy másik könyvtárba? Akkor is működik az update?

Előzmény: Törölt nick (11047)
Törölt nick Creative Commons License 2010.01.04 0 0 11047
ennyi idő alatt amíg ezt beírtad simán kipróbálhattad volna ;)
amúgy át.
Előzmény: NeomatiK (11046)
NeomatiK Creative Commons License 2010.01.04 0 0 11046
Túl egyszerű volna, ha kipróbálnám. Inkább itt kérdezősködök! :D

De ha pl az egyik.xls -ben változik a cella tartalma, aztán bezárom a munkafüzetet és utána megnyitom a másik.xls-t, akkor is átíródik?

Előzmény: Törölt nick (11045)
Törölt nick Creative Commons License 2010.01.04 0 0 11045
simán... próbáld ki.

http://office.microsoft.com/hu-hu/excel/HP051995141038.aspx
Előzmény: NeomatiK (11044)
NeomatiK Creative Commons License 2010.01.04 0 0 11044
És ha az egyik.xls -ben változik a nevezett cellák tartalma, akkor hogyan íródik át a másik.xls-ben?
Előzmény: Törölt nick (11042)
NeomatiK Creative Commons License 2010.01.04 0 0 11043
Köszi!
Előzmény: Törölt nick (11040)
Törölt nick Creative Commons License 2010.01.04 0 0 11042
na még 1x:
egyik:
1. egyik munkafüzetbe kezdessz "=" jellel,
2. majd kijelölöd a másik munkafüzetben a kérdéses tartományt első celláját.
3. továbbhúzod a képletet

másik:
ugyanaz minta fenti, csak mindkét munkafüzetben egyforma tartományt jelölsz és ctrl+shift +enterrel viszed be a képletet (tömbképlet)
Előzmény: NeomatiK (11039)
Törölt nick Creative Commons License 2010.01.04 0 0 11041
egyik munkafüzetbe kezdessz "=" jellel, majd kijelölöd a másik munkafüzetben a kérdéses tartományt.
Előzmény: NeomatiK (11039)
Törölt nick Creative Commons License 2010.01.04 0 0 11040
(Fejből):
xlAutomatic
xlManual


Egyébként ha bekapcsolod a makrórögzítőt, akkor az megmondja.
Előzmény: NeomatiK (11037)
NeomatiK Creative Commons License 2010.01.04 0 0 11039

Létezik olyan hivatkozás, ami az egyik munkafüzetből veszi a cellákat a másik munkafüzetbe?

 

pl. ha az egyik.xls -ben az A1:A10 cella tartalmát szertném a másik.xls -be

NeomatiK Creative Commons License 2010.01.04 0 0 11038

"Az auto_close című eljárás pedig a fájl bezárásakor hajtódik végre."

 

Ez sorrendileg mit jelent?

Előbb bezárja a munkafüzetet és utána hajtódik végre?

Vagy amikor bezárom a munkafüzetet, még mielőtt bezárná, akkor hajtódik végre?

 

Ez utóbbira tippelek, mert ugyebár ha már bezárta, akkor min is hajtaná végre?

 

 

Előzmény: Delila_1 (11014)
NeomatiK Creative Commons License 2010.01.04 0 0 11037

Helló makróguruk!

 

 

Ha a képletszámítást másra akarom állítani makróval, akkor a

 

.Calculation = xlSemiautomatic

helyett mit kell beírni

 

- automatikus

- kérésre

 

esetben?

Előzmény: SQLkerdes (11010)
SQLkerdes Creative Commons License 2010.01.04 0 0 11036
Excelből közvetlenül nem tudom hogy lehet, de lehetőségként ott van az, hogy Word-ben csinálsz cimkenyomtatást és az adatokat az excel file-ból veszi be.
Print merge címszó alatt fut a dolog Wordben.

Egy nagyon falmelléki megoldás Excelben lehet az, hogy a cellákat pont úgy formázod be méretre, mint a cimke-öntapadód és így nyomtatod le...
Előzmény: tibibeee (11035)
tibibeee Creative Commons License 2010.01.03 0 0 11035

meg tudja valaki mondani hogy lehet egy cimkenyomtatót excellel irányítani?

vagyis az értékeket amit kér a nyomtató excel celláibol ráküldeni.

tbando Creative Commons License 2010.01.03 0 0 11034
Az angolos excelben szvsz perfekt lesz. A magyaron lehetnek problémák vele. Amíg át nem írja az idirectet indirektre.
Előzmény: SQLkerdes (11033)
SQLkerdes Creative Commons License 2010.01.03 0 0 11033
Indirecttel pld a következő megoldás kínálkozik:
mondjuk b2 tartalmazza a lap1, lap2... potenciális értékeket.

A2-be ez megy: =indirect(b2&"!A1")*17

ez előállítja a b2 által meghatározott lap a1 cellájának 17-szeresét.

Mondjuk a rendszer gyengesége, hogy ha a munkalap átkerül egy angolos excel-t futtató gépre, akkor nem tom mit csinál a lap1 értékkel, de nincsenek jó előérzeteim...
Előzmény: tbando (11029)
SQLkerdes Creative Commons License 2010.01.03 0 0 11032
És természetesen ha rászánod az időt, akkor irhatsz egy UDF-et (User Defined Function = saját függvény), azzal gyakorlatilag már nincs lehetetlen...
Előzmény: Ordas (11030)
SQLkerdes Creative Commons License 2010.01.03 0 0 11031
Cella eredményének képletbe építése: INDIRECT
Emeletes feltételek: CHOOSE

Kisérletezz velük ízlés szerint.
Előzmény: Ordas (11030)
Ordas Creative Commons License 2010.01.03 0 0 11030

Köszi, ez így valóban működik is. 3 esetében már csak "emeletes" HA fügvényt használhatok?

 

Márint, ha lap1, lap2 és lap3 is lehet az eredménye A1-nek.

 

Szóval oylan függvény, vagy vmi eljárás nincsen, hogy egy cella eredményét beépíti a képlet szövegébe? 

Előzmény: tbando (11029)
tbando Creative Commons License 2010.01.03 0 0 11029
Szerintem túlkomplikálod. Lap1A2-be ezt kell írni:

Ha(a1="lap1":lap2!A1*17;lap3!A1*17)

ps. Az előző válaszom szintaktikailag valóban hibás, ahogy SQL írta.


Előzmény: Ordas (11024)
Ordas Creative Commons License 2010.01.02 0 0 11028

Köszi, kísérletezgetni fogok most.

Angol-magyar függvény elnevezéssel nem lesz gond.

 

Másik problémára (képletek parametrizálására) van vmi megoldási ötlet?

Előzmény: SQLkerdes (11027)
SQLkerdes Creative Commons License 2010.01.02 0 0 11027
Igen, ez jó megoldásnak tűnik.
Természetesen képlet = hiba helyett azt kell írni, hogy:
iserror(képlet).

Vagy ki lehet hagyni az A1-A3-ból a HA-t és az A4-ben memóriában megcsinálni a helyettesítést. Ez akkor lehet fontos ha pld az a1-a3-ban nem mindegy, hogy nulla van (mint a számítás eredménye) vagy hiba (amit a HA most nullára cserél).

Szóval, én azt csinálnám, hogy:
- A1-A3-ba menjen a képlet, ha hibát ad, akkor hibát ad
- A4-be azt írnám: =average(if(iserror(a1:a3)," ",a1:a3)) [FONTOS: Ctrl+Shift+Enter-rel kell bevinni a képletet, mert ez egy vektor függvény]

Ennek az az előnye, hogy:
- az a1-a3-ban megkülönböztethető a hibás eredmény és a nulla eredmény, és
- az average csak a számok átlagát számolja, vagyis ha a hibákat memóriában kicseréljük egy szóközre akkor azokat automatikusan ignorálja.

Remélem a képlet nem magyarul kell, mert ahhoz kell még valaki aki tudja a fenti angol függvények magyar nevét...
Előzmény: tbando (11026)
tbando Creative Commons License 2010.01.02 0 0 11026
Pl így:

A1-A3-ba: =ha(képlet=hiba,0,képlet)
A4-be: =Szum(a1:a3/darabteli(a1:a3),"<>0"))
Előzmény: Ordas (11025)
Ordas Creative Commons License 2010.01.02 0 0 11025

Következő bibi...

 

Adott első körben 3 cella (A1, A2, A3), amelyekbe különböző képletek különböző számokat adnak eredményül.

 

A4-ben ezt akarom számolni: (A1+A2+A3)/3

 

Ez idáig megy.

 

Változnak a kiinduló adatok és A2 eredménye az lesz, hogy #ZÉRÓOSZTÓ, vagy egyéb üzenet. Ekkor ezt szeretném számolni az A4-ben: (A1+A3)/2

 

Persze mindezt automatikusan.

 

Köszi

Ordas Creative Commons License 2010.01.02 0 0 11024

Na igen.. köszi. Túlzottan leegyszerűsítettem a példámat.

 

És ha ugyenezt megfűszerezem a munkalapokkal?

 

Pl. van három munkalapom:

lap1

lap2

lap3

 

Lap2 A1 cellájába beírom 5

Lap3 A1 cellájába beírom 3

 

Lap1-en vmilyen feltétel szerint egy képlet az A1-ben azt adja eredményül, hogy lap2. Más kiinduló adatokból a képlet alapján az A1-ben lévő egyenlet erdeménye lap3.

 

A lap1 A2 cellájába meg azt írom, hogy

=lap2!A1*17

Ezzel ugye 5*17-t számol, azaz 85 lesz

 

Ha meg a lap1 A2 cellába azt írom, hogy

=lap3!A1*17, akkor 3*17-et, azaz 51-et kapok.

 

Igen ám, de a lap1 A1 erdeményét fel akarom használni, azaz:

 ha lap1 A1-ben "lap2" az eredmény, akkor a lap1 A2 85-t adjon ki,

 de ha lap1 A1-ben "lap3" az eredmény, akkor lap1 A2 51-et adjon ki.

 

Ez hogy oldható meg? Azaz a képletek hogyan parametrizálhatók?

Előzmény: SQLkerdes (11023)
SQLkerdes Creative Commons License 2010.01.02 0 0 11023
Beírod az A1 cellába, hogy: =AA5 (az egyenlőségjel KELL!)
Beírod az AA5-be, hogy: 3
Beírod az AA6-ba, hogy: 7

Aztán beírod a B2 cellába, hogy: =A1*9

Ezután ha úri jókedved azt diktálja, az A1-et átírod arra, hogy: = AA6
és akkor a B2 tartalma le fogja követni a változást.

A fenti referenciák beírása/begépelése helyett azt is csinálhatod, hogy:
- rákattintasz az A1-re,
- beírod az egyenlőségjelet, és ezután
- rákattintasz az AA5 cellára.

Az egyenlőségjel megmutatja az excelnek, hogy nem az AA5-re akarsz ugrani, hanem az AA5 tartalmát akarod használni.

Jó kisérletezgetést!
Előzmény: Ordas (11022)
Ordas Creative Commons License 2010.01.02 0 0 11022

Sziasztok!

 

Hogyan lehet megoldani excelben az alábbi problémát?

 

Beírom az A1 cellába, hogy AA5.

Beírom az AA5-be, hogy 3

Beírom az AA6-ba, hogy 7

 

Pl. a B2 cellába meg azt akarom látni, hogy A1 szorozva 9-cel, az 27 (mert ugye A1 most az AA5-re mutat, ami meg 3).

 

Ha meg átírom az A1-et AA6-ra, akkor a B2 azt adja ki, hogy 63.

 

Köszi előre is

stromba Creative Commons License 2010.01.01 0 0 11021
Előzmény: redsw (11018)
SQLkerdes Creative Commons License 2010.01.01 0 0 11019
google maps meg tudja csinálni, szerintem.
De ha xl-ben akarod, akkor előbb tudni kellene a képletet. Ha azt nem tudod, akkor valamelyik gps-es topikban tuti megmondják és onnan már mi is tudunk segíteni.
Előzmény: redsw (11018)
redsw Creative Commons License 2010.01.01 0 0 11018
Hűűű, egy éve nem találkoztunk. ;)

GPS koordináták átszámítására keresek egy sémát, hogyan célszerű átalakitani (betű, fok, perc, mp, tizedesvessző után 4 szám - ezt kellene átalakitani fok, 3 tizedesig fokperc alakra).

Delila_1 Creative Commons License 2009.12.31 0 0 11017
Nekem nem volt érdemi részem a segítségben, de azért szívesen.
Előzmény: NeomatiK (11016)
NeomatiK Creative Commons License 2009.12.31 0 0 11016
Insert > Module -be írtam. Úgy tűnik jól csináltam, mert működik :) Köszi nektek!
Előzmény: Delila_1 (11014)
Delila_1 Creative Commons License 2009.12.31 0 0 11015

A 10390-ben kérdeztem, tudja-e valaki, hogy lehet módosítani a saját makrók ikonjának képét a 2007-es verzióban.

 

Most megtudtam, hogy ha saját szerkesztésű képet nem is, de a program által felajánlottak közül valamelyiket hozzájuk rendelhetem. Nem az igazi, de a semminél több. Leírom, hátha valakit érdekel.


A saját makróimat a Gyorselérési eszköztárra tettem ki, az ott lévő gombok képét így módosíthatom:
Office gomb/Az Excel beállításai/Testreszabás. A Gyorselérési eszköztáron kiválasztom a saját makrómat, ekkor elérhető lesz a Módosítás gomb, amivel az Excel saját rajzai közül kiválaszthatom a nekem tetszőt (akkor is, ha nem tetszik ).

Delila_1 Creative Commons License 2009.12.31 0 0 11014

Igen.

Az auto_close című eljárás pedig a fájl bezárásakor hajtódik végre.

Előzmény: NeomatiK (11013)
NeomatiK Creative Commons License 2009.12.31 0 0 11013

Ez azt jelenti, hogy csak ilyenre kell átnevezni?

 

Sub auto_open()

With Application
.Calculation = xlSemiautomatic
.CalculateBeforeSave = False
End With
End Sub

Előzmény: Delila_1 (11012)
Delila_1 Creative Commons License 2009.12.30 0 0 11012
Az auto_open nevű makrók automatikusan végrehajtódnak a fájl megnyitásakor.
Előzmény: SQLkerdes (11011)
SQLkerdes Creative Commons License 2009.12.30 0 0 11011
Lehet Delila még úgy is meg tudja írni, hogy megnyíláskor automatikusan lefusson, én az event tipusú makrókhoz nem nagyon értek...
SQLkerdes Creative Commons License 2009.12.30 0 0 11010
Már látom leírtad, hogy mit szeretnél, itt is van:

Sub Atallito()

With Application
.Calculation = xlSemiautomatic
.CalculateBeforeSave = False
End With
End Sub

Szólj ha nem tudod hogy kell makrókat beilleszteni workbook-ba és azt is megírjuk (bár itt a topikban volt már erről szó).
SQLkerdes Creative Commons License 2009.12.30 0 0 11009
Ha megmondod mit akarsz beállítani akkor megírom neked.
Ha van egy kis kisérletező kedved, akkor a makro-recorder-rel te is meg tudod csinálni.

Nos? Mit szeretnél pontosan beállítani a makróban, adj egy listát és megkapod a makrót.
Előzmény: NeomatiK (11008)
NeomatiK Creative Commons License 2009.12.30 0 0 11008
Megpróbálom ezt. Vagy marad az állítgatás, végülis ki lehet bírni. De néha megszivatott amikor adattáblás számolás van és mentés előtt újraszámolja.
Előzmény: tbando (11006)
NeomatiK Creative Commons License 2009.12.30 0 0 11007
Ez igy elég bonyolult, főleg hogy nem tudok makrót írni :)
Előzmény: SQLkerdes (11005)
tbando Creative Commons License 2009.12.30 0 0 11006
Lemented a munkalapodat sablonfileba. És amikor legközelebb új füzetet hívsz be, felajánlja ezt is, meg a gyári defultot is. Oszt azt hívod be, amelyik teccik.
Előzmény: NeomatiK (11004)
SQLkerdes Creative Commons License 2009.12.29 0 0 11005
Hát, egy brute force megoldás az lehet, hogy írsz egy rövid makrót ami ezeket a beállításokat visszaállítja azokra az értékekre amit szeretnél és minden megnyitás után lefuttatod...
Nos, valószínűleg nem kap szépségdíjat, de működni fog.
Előzmény: NeomatiK (11004)
NeomatiK Creative Commons License 2009.12.29 0 0 11004

Sziasztok!

 

Az van nálam 2007-es excelben, hogy ha a képletszámítást beállítom, hogy pl "adattáblák kivételével automatikusan" és a "mentés előtt" a pipát kiveszem és így kilépek a programból, akkor nem jegyzi meg. És legközelebb a belépéskor állítgathatom megint, mert rendszerint a "mentés előtt" van pipa és az "automatikus" van bejelölve.

Nálatok is így van? Van arra valami gyógyszer, hogy megjegyezze?

redsw Creative Commons License 2009.12.29 0 0 11003
Köszönöm mindenkinek a segitséget, BUÉk mindenkinek. ;)
redsw Creative Commons License 2009.12.29 0 0 11002
Na igen, után meg állithatom vissza veszöre. :-(
Előzmény: tbando (10993)
Delila_1 Creative Commons License 2009.12.28 0 0 11001

Szívesen.

 

Egyszerűen be kell vigyek egy konstanst a képletbe. Ez történik a megfelelő szintaktikával beírt képletben.

 

 

 

Előzmény: SQLkerdes (11000)
SQLkerdes Creative Commons License 2009.12.27 0 0 11000
Köszi!
Az Osszeg*5 részt próbáltam elkerülni, de úgy tűnik nem lehet...
Nos, így jártam.
Előzmény: Delila_1 (10999)
Delila_1 Creative Commons License 2009.12.27 0 0 10999
=SUMPRODUCT((SalesAgent="Joe")*(Datum>2009/01/01), Osszeg*5)
Előzmény: SQLkerdes (10998)
SQLkerdes Creative Commons License 2009.12.27 0 0 10998
Akasztják a hóhért!
Beleszaladtam egy problémába és nem lelek semmi épkázláb segítséget sehol.

Próbálok csinálni egy olyan számítást ahol több mint kettő feltétel szerint próbálok összesíteni valamit.

Egy példa
- van egy névvel ellátott területem, pld A2:A5, a neve SalesAgent
- van egy névvel ellátott másik területem pld B2:B5, a neve Dátum
- és van egy harmadik területem pld C2:C5, a neve Összeg

Egy olyan sumproduct-ot próbálok csinálni, ami a fentiek alapján csinál feltételes összesítést.

Pld. Ha a SalesAgent = Joe, a Dátum későbbi mint 2009/01/01 akkor adja meg nekem az összeg meg egy másik konstans szorzatát.

A képlet az lenne, hogy:
=sumproduct(--(SalesAgent="Joe"),--(Datum>2009/01/01), Osszeg, {5,5,5,5})

Esetünkben a konstans 5.

A gyakorlati problémám az, hogy a bemeneti vektorjaim nem 4 cella nagyságúak, hanem bőven 100,000 felettiek, így a konstans rész berögzítése nem megoldható.

Tudom, h vannak más megoldási módok is mint s sumproduct, de a problémám a fentinél elvontabb (nem csak dimenziójában, hanem elméletében is) és a Sumproductot kell használnom.
Praktikus, itt nem részletezendő okokból nem szorozhatom az Osszeg name range-et, vagyis a Sumproduct(--(SalesAgent="Joe"),--(Datum>2009/01/01), 5*Osszeg) megoldást nem használhatom.
Egyszerűen be kell vigyek egy konstanst a képletbe, úgy hogy a képlet vektornak lássa.
Az input táblához nem tudok hozzányúlni, szóval nem tudok manuálisan csinálni egy olyan D oszlopot ami csak 5-ösöket tartalmaz.

Tuti biztos vagyok benne, hogy van megoldás a problémára, egyszer láttam is a technikáját, de nem emléxem.

Bárkinek bármi ötlete?
szkripnyik Creative Commons License 2009.12.27 0 0 10997
Ugyanúgy, mit EXCEL nélkül: arcsin

Ez visszadja radiánban, azt átszámolod fok-ra ha kell:
fok =ARCSIN(sinusérték)*180/PI()
:-)
Előzmény: csl (10996)
csl Creative Commons License 2009.12.27 0 0 10996

Sziasztok,

 

ha tudom egy szög szinuszát, abból hogyan tudom megkapni azt, hogy hány fokos a szög?

szkripnyik Creative Commons License 2009.12.26 0 0 10995
Sub lapnev()
For i = 1 To Worksheets.Count
MsgBox Worksheets(i).Name
Next i
End Sub


msgbox helyett csinálj, amit akarsz...
Előzmény: fgsgs (10994)
fgsgs Creative Commons License 2009.12.25 0 0 10994

Hello!

Az Excel munkafüzet alján lévő fülek neveit szeretném egy függvénnyel kigyűjteni. Ismer valaki erre egy jó megoldást?

tbando Creative Commons License 2009.12.25 0 0 10993
2. Jó helyen keresgélted. De a Területi beállításoknál még klikkelj rá Testreszabás gombra

Hogy mikre rá nem jön az ember!

Ha a fenti Testreszabásnál a tizedesjelet átállítod pontra, akkor a táblázatodat sima copy-paste-tel hiba nélkül másolhatod.

Előzmény: tbando (10992)
tbando Creative Commons License 2009.12.25 0 0 10992
1. Igen, viszont az a dátumoknál lévőket is átteszi, amit vissza kell tenni.
2. Keresgéltem pont-vessző átalakítást, korábban mintha eltérő nyelvi beállításoknál lett volna ilyen átállitási lehetőség, de nem találtam,


1. Ha nem jelölöd ki az első 2 oszlopot a pont vessző átalakításnál, akkor azokat békén hagyja.

2. Jó helyen keresgélted. De a Területi beállításoknál még klikkelj rá Testreszabás gombra
Előzmény: redsw (10988)
wawabagus Creative Commons License 2009.12.25 0 0 10991
BOLDOG KARACSONYT MINDEN EXCEL GURUNAK!!!!
;-)!!!
Y
szkripnyik Creative Commons License 2009.12.25 0 0 10990
A következőt tettem:
1. A táblázatot lementettem kutya közönséges proba.txt file-ba kutya közönséges jegyzettömb programmal.
2. Ezt megnyitottam az EXCEL-lel, feljött a beolvasás "varázsló" (pfúj,de utálom ezt a "varázsló" szót, nekem program!)
3. Beállítottamm hogy melyik oszlopot hogyan értelmezze:
-- Első oszlop általános
-- oszlop dátum
-- Többi oszlop: TEXT!!!!
4. Gyönyörűen betöltötte, sehol felemás dátum a leendő számok helyén!
5. Aztán: a tizedespontot tartalmazó mezőből tizedes vesszőt tartalmazó numerikusat csináltam: =ÉRTÉK(HELYETTE(C1;".";","))
Előzmény: redsw (10989)
redsw Creative Commons License 2009.12.25 0 0 10989
Excelben nem jó, mert már a rossz cellaérték jelenik meg, be kell elötte iktatni egy szövegbe mentést, ott elvégezni és utána átmásolni. Viszont a dátumoknál vissza kell állitani pontra, amit jó esetben oszloponként vagy soronként kell elvégezni, azt már lehet excelben, csak macerás összetett táblázatnál.
Előzmény: Delila_1 (10981)
redsw Creative Commons License 2009.12.25 0 0 10988
Igen, viszont az a dátumoknál lévőket is átteszi, amit vissza kell tenni.
Keresgéltem pont-vessző átalakítást, korábban mintha eltérő nyelvi beállításoknál lett volna ilyen átállitási lehetőség, de nem találtam, és ez nagyon hiányzik beolvasásnál is, hiszen most már egyre gyakoribb, hogy más országokban használt táblákat kell használni, igy az országonkénti beállitást kezelnie kellene a programnak. Legalább figyelmeztetnie kellene, hogy más országbeli beállitást tartalmaz és lehetöséget adnia a váltásra.
Még egyszer köszönöm a segitséget, akkor valóban marad a kézi csere, majd dátum oszlopoknál a visszacserélés.
Előzmény: tbando (10985)
Delila_1 Creative Commons License 2009.12.25 0 0 10987
Verziótól függ. Nálam a Ctrl+t jelöli ki az aktuális területet.
Előzmény: tbando (10986)
tbando Creative Commons License 2009.12.24 0 0 10986
Nekem is lenne egy kérdésem. A táblázatok sorbarendezésénél az ALT+D bill-kombináció kijelöli a sorbarendezendő táblát. De most kaptam készen egy táblázatot továbbfeldolgozásra, és ott az ALT+D nem az átrendezendő táblázatot jelölte ki. Egészen addig, amíg át nem másoltam egy új munkafüzetbe. Ott már normálisan müködött. Mit állíthattak be az eredeti munkafüzetben, hogy konzekvensen nem jó tartományt jelölt ki?
tbando Creative Commons License 2009.12.24 0 0 10985
redsw!

Szkripnyik ötlete a jó. De ne txtbe másold át a tábládat, hanem wordbe. Akár html-ben is. Aztán itt csinálj teljes cserét, a pontot vesszőre. Ezt aztán már bemásolhatod az exceledbe. Ha az exceled magyar számformátumra van állítva, akkor az értékek már számok lesznek és nem stringek.

Ha még akarod, a 2-ik oszlopban a vesszőket visszacserélheted pontokra.
Előzmény: szkripnyik (10982)
redsw Creative Commons License 2009.12.24 0 0 10984
Köszönöm a szaporodó segítséget, úgy tűnik, valahol excel-be másolás elött kell valamit kitalálni. Közzéteszem a forrást, biztos könnyen rájöttök arra, amire én nem:
http://www.akk.hu/object.392E2AC1-4CAC-4F57-B2CA-0A1E03D8F703.ivy

Csak az első két oszlopot másolja jól, a többi bizonytalan :-(
Törölt nick Creative Commons License 2009.12.24 0 0 10983
Próbáltad már direktben megnyitni a HTML-t Excellel?
Előzmény: redsw (10975)
szkripnyik Creative Commons License 2009.12.24 0 0 10982
Hogyan teszed át a html tartalmát az EXCEL-be?
Sima "kézi" copy-paste, vagy program?

Első esetben iktass be egy sima jegyzettömböt, vagy valamilyen más egyszerű szövegszerkesztőt, ott a javasolt keresés - csere eljárással javítsd ki a bajt okozó karaktert és utána újabb copy-paste-tel tedd be az EXCEL_be!
Program esetén pedig iktasd be a cserét végrehajtó pár sort a programba..
Előzmény: redsw (10980)
Delila_1 Creative Commons License 2009.12.24 0 0 10981
Mit szólsz a keres-cserél funkcióhoz?
Előzmény: redsw (10980)
redsw Creative Commons License 2009.12.24 0 0 10980
Szerintem beillesztés előtt kellene a pont-tizedesvesszö konvertálást megoldani valahogy, de nem jövök rá, hogyan. :-(
html beillesztés egy cellába megy, csak unicode beillesztés működik, de nem ad lehetőséget semmilyen konvertálásra.
Eddig jutottam. :-(
Előzmény: Delila_1 (10979)
Delila_1 Creative Commons License 2009.12.24 0 0 10979
Szomorú. Hátha valakinek lesz használható ötlete.
Előzmény: redsw (10978)
redsw Creative Commons License 2009.12.24 0 0 10978
Na igen, de ekkor a dátum napja szerinti értéket - 40 ezer körüli - adja végeredménynek. :-(
Előzmény: Delila_1 (10977)
Delila_1 Creative Commons License 2009.12.24 0 0 10977

Addig jó, hogy másolod az 1-est. Kijelölöd a dátum formátumú tartományt, Irányított beillesztés, a Beillesztés kategóriában a Mindent, a Műveletnél Szorzás legyen bejelölve.

 

Boraka

Köszönjük a jókívánságokat, Neked is hasonló jókat.

Előzmény: redsw (10976)
redsw Creative Commons License 2009.12.24 0 0 10976
Kihagytam, hogy a súgóban nem találtam megoldást, illetve egy helyen az szerepel, hogy egy cellába írjak egyest és a formátum eszköztár másolás parancsával irányitott beillesztésnék szozást válasszak - csakhogy nincs formátum eszköztárnak másolás parancsa, csak cellaformázás van, vagy a nézet almenüben a formázás eszköztárat bepipálhatom, de semmi többet nem tudok vele csinálni. :-(
Előzmény: redsw (10975)
redsw Creative Commons License 2009.12.24 0 0 10975
Hajnali kérdésem: hogyan lehet rávenni excelt, hogy a számokat ne dátumként kezelje?
html-böl veszek át táblázatot, idióta módon vesszö helyett pont a határoló, excelbe akármilyen beillesztés esetén egy részét dátummá alakitja át. Hiába mondom neki, hogy az szám legyen, közli, hogy az szám, pedig nem az, balra van ütköztetve és pont van tizedesvesszö helyett. Egyesével átirva már jó, de macerás. :-(

Törölt nick Creative Commons License 2009.12.23 0 0 10974

Kedves Topictársak!

 

Áldott, meghitt karácsonyi ünnepeket és nyugodt, békés, egészségben, örömökben, sikerekben gazdag Boldog Új Évet Kívánok!

 

Delila_1 Creative Commons License 2009.12.19 0 0 10973
Köszönöm. Nem értem, miért kell minden új verzióban valamit elrontani, ami a régebbiekben bevált.
Előzmény: NeomatiK (10972)
NeomatiK Creative Commons License 2009.12.19 0 0 10972

A progiban én se látok ikonbuherálási-választási lehetőséget.

 

Ezt találtam viszont,  (itt is azt írják, hogy nincs saját változtatási lehetőség)

 

http://www.pcreview.co.uk/forums/thread-3227540.php

 

http://www.google.hu/search?hl=hu&q=button+image+modify+Excel+2007&btnG=Keres%C3%A9s&meta=&aq=f&oq=

Előzmény: Delila_1 (10970)
NeomatiK Creative Commons License 2009.12.19 0 0 10971
Szuperr! Működik :) Köszi! Ezt a táblát vissza lehet alakítani a kiinduló táblázattá? Eddig nem találtam a módját. Mellesleg kék-világoskék csíkozásúra csinálja azegymást követő sorokat, ez is zavar kicsit.
Előzmény: tt65 (10969)
Delila_1 Creative Commons License 2009.12.19 0 0 10970

2003-as verzió esetén a kimutatás eszköztárán a "Kimutatás vagy kimutatásdiagram" ikon megnyomására előjön a varázsló 3. lapja. A "Vissza" pityke behozza a 2. lapot, ahol módosíthatod a tartományt. Módosítás után "Tovább", itt az "Elrendezés"-nél beillesztheted az új oszlopaidat.

2007-nél nem találom ezt a lehetőséget – mint sok egyebet sem.

 

Lehet, hogy már kérdeztem itt, de eddig nem kaptam választ. A saját makróimat ikonokhoz rendeltem, és kitettem a gyorselérési eszköztárra (vagy valami hasonló elnevezésű helyre). Ezeknek az ikonoknak a küllemét szeretném módosítani, hogy ne egyforma, semmitmondó kinézetűek legyenek. Ad erre módot a 2007? A régebbi verziók adtak.

Előzmény: NeomatiK (10966)
tt65 Creative Commons License 2009.12.19 0 0 10969
  1. Jelölje ki a táblázatban szerepeltetni kívánt cellatartományt egy munkalapon. A cellák lehetnek üresek, de adatokat is tartalmazhatnak.
  2. A Beszúrás lap Táblázatok csoportjában kattintsunk a Táblázat gombra.

    Billentyűparancs  A CTRL+L vagy a CTRL+T billentyűkombinációt is használhatja.

  3. Ha a kijelölt tartomány oszlopfejlécként megjeleníteni kívánt adatokat tartalmaz, jelölje be a Táblázat rovatfejekkel jelölőnégyzetet.

    Az oszlopfejlécek alapértelmezett neveket tartalmaznak, ha nem jelöli be a Táblázat rovatfejekkel jelölőnégyzetet. Az alapértelmezett neveket a kívánt szöveg beírásával módosíthatja.

Előzmény: NeomatiK (10968)
NeomatiK Creative Commons License 2009.12.19 0 0 10968
Ezt hogyan kell?

Amit én használtma adattáblát annak számolási feladata van. Itt pedig ilyenre nincs szükség.

Előzmény: tt65 (10967)
tt65 Creative Commons License 2009.12.19 0 0 10967

az alaptáblából csinálj táblázatot (adattábla)

ha ezt bővíted, akkor a pivot táblában csak egy frissítést kell kérned és voala!

Előzmény: NeomatiK (10966)
NeomatiK Creative Commons License 2009.12.19 0 0 10966

Sziasztok!

 

 

Ha pl egy 20 sor és 20 oszlopból álló táblázatból Pivot táblát készítek...

 

akkor ha későbbiek folyamán ez a kiinduló táblázat plusz 10 sorral bűvül, akkor ez bekerül a Pivottáblába? Vagy ha nem akkor, hogyan lehet megcsinálni, hogy a Pivottábla figyelembe vegye a bővülést?

tbando Creative Commons License 2009.12.17 0 0 10965
Balklikk

Basszus kulcs. Balklikk, de csak az olyan kétbalkezeseknek mint én vagyok. :))))
Előzmény: tbando (10958)
NeomatiK Creative Commons License 2009.12.16 0 0 10963

Helló!

 

A kívánt cellán jobbklikk,

 

cellaformázás

igazítás fül

sortöréssel több sorba bejelöl.

 

Előzmény: Törölt nick (10962)
Delila_1 Creative Commons License 2009.12.16 0 0 10961
Sziv. :)
Előzmény: tbando (10960)
tbando Creative Commons License 2009.12.16 0 0 10960
Kösz. Megint tanultam.
Előzmény: Delila_1 (10959)
Delila_1 Creative Commons License 2009.12.16 0 0 10959

A trendvonal felvitele után meg lehet adni, hogy az egyenlet látsszon a diagramon.

Érdemes ellenőrizni, mert nem feltétlenül igaz az  Excel által megadott egyenlet.

Előzmény: tbando (10958)
tbando Creative Commons License 2009.12.16 0 0 10958
Az ágyúgolyós függvényillesztés szerintem nem Solver probléma. A függvényt neked kell megkreálnod, és utána már minden egyszerű. Az Excel ott tud segíteni, hogy miután az adataidból csináltál egy XY diagramot, annak bármelyik pontjára a balklikk felajánl különböző trenvonal illesztési lehetőségeket. Hogy aztán a trendvonal paramétereit hogy lehet levenni, azt nem tudom. Talán valaki tud itt segíteni. Enélkül úgy csinálnám, hogy a kiválasztott trend szerint transzformálnám az Y értékeket, majd erre sima lineáris regressziót számolnék, majd annak paramétereit vissza transzformálnám a trend szerinti függvényre. Vagy ha nem kell a függvény, csak az eredmény, akkor a lineáris trend alapján számítanam ki az engem érdeklő adatokat, majd azokat transzformálnám vissza az eredeti skálára.
Előzmény: csíkos_elefánt (10939)
tbando Creative Commons License 2009.12.16 0 0 10957
Nekem egy félgigabytos ram egy 28 tényezős lineáris kombinációnál akadt ki.
Előzmény: csíkos_elefánt (10953)
NeomatiK Creative Commons License 2009.12.15 0 0 10956
Valami 500.000 körüli cserére emlékszem.

Már nem emlékszem pontosan - pedig nem volt régen :)) - de lehet hogy az oldalon mást is újraszámolt mindig, amikor egy-egy cellában végzett a cserével. Emiatt elképzelhetőnek tartom, hogy ilyen lassan ért a végére. Majd ha lesz rá késztetésem, lehet hogy visszacserélem és akkor figyelem a körülményeket és az eltelt időt.

Előzmény: SQLkerdes (10952)
NeomatiK Creative Commons License 2009.12.15 0 0 10955
Egyelőre a Shift+F9-cel próbáltam, úgy klassz lett. Lecsökkent az idő 2 percre a 3-ról, mivel két munkalapra lett szétszedve a két táblázat.
Előzmény: NeomatiK (10950)
SQLkerdes Creative Commons License 2009.12.15 0 0 10954
Nem gondolnám, hogy megfekteti a gépedet, próbáld ki.
Én mindíg azt hittem, hogy a Solver használatához kell legyen egy alap függvényed és azt oldja meg bizonyos bemeneti adatok változtatásával.

Lásd:
Előzmény: csíkos_elefánt (10953)
csíkos_elefánt Creative Commons License 2009.12.15 0 0 10953
OFF
Az hogy az Excel a SOLVER funkcióval a csak nem-lineáris függvénnyel leírható jelenségeket is megérti és extrapolációt végez (egy kilőtt ágyúgolyónak ismerjük a sebességét és magasságát különböző távolságokon és megjósolja, hol esik le, vagy a másik példa az elszabadult tehervagonnal 2009.12.14 12:55:28 #10359) az mekkora számítási kapacitást igényel? Régi gépem van, 1GB RAM, 2.5GHz-es CPU. Elég erős? SRY, ha terjengősen írtam le, régen tanultam matematikát, félek összekeverek fogalmakat.
Előzmény: csíkos_elefánt (10951)
SQLkerdes Creative Commons License 2009.12.15 0 0 10952
Igen, ez ugyanaz.

Ami furcsa az az, hogy lentebb csináltunk valakinek egy makrót ami kb 10 millió cellát néz át és az futott le 20 perc alatt.
Ehhez képes a te 650*300=195.000 cella (még akkor is ha egy cellában több = van) egy kicsit lassúnak tűnik...

Az igazat megvallva nagyon lassúnak tűnik!
Előzmény: NeomatiK (10948)
csíkos_elefánt Creative Commons License 2009.12.14 0 0 10951
Köszönöm és SQLkerdes-nek is!
Előzmény: Törölt nick (10947)
NeomatiK Creative Commons License 2009.12.14 0 0 10950
Köszönöm mindenkinek a válaszokat.

Lehet, hogy ez a shift+F9 lesz a nyerő megoldás, bár ehhez külön munkalapra kell tennem a táblázat_2 és adattábla_2-t. Holnap kipróbálom ezt is azt is. Aztán beszámolok róla :)

Előzmény: E.Istvan (10945)
NeomatiK Creative Commons License 2009.12.14 0 0 10949
Ez a munkalapon belüli felosztásos számolás F9-re működik?

Mi kell ahhoz, hogy Worksheet_Change esemény beteljesüljön? Magát a táblázatot akkor már nem változtatnám meg, emiatt kérdeztem, hogy F9-re működik-e.

Előzmény: Törölt nick (10944)
NeomatiK Creative Commons License 2009.12.14 0 0 10948

Magyar nyelvű van (2007-es), ha ez a CTRL+F-re feljövő csere, amit írtál, akkor az ugyanaz amit én csináltam. Szóval kijelöltem az egész mezőt, ahol cserélni akartam, kijelöltem, hogy "képletben" és "mind csere" (vagy ilyesmi neve van).

650 oszlop * 300 sorban kellett cserélni. De egy cellában több = jel van, a benne lévő függvénytől függően.

Előzmény: SQLkerdes (10943)
Törölt nick Creative Commons License 2009.12.14 0 0 10947
A Solver erre való
Előzmény: csíkos_elefánt (10939)
Törölt nick Creative Commons License 2009.12.14 0 0 10946

Ha pedig Excel 2003-ad van:

 

Eszközök -> Beállítások -> Megjelenítés -> Zéró mint érték

Előzmény: SQLkerdes (10942)
E.Istvan Creative Commons License 2009.12.14 0 0 10945
Ha a számolást automatikusról átállítod kézire, akkor az aktív munkalap újraszámolása a SHIFT+F9 kombinációban megy.
Előzmény: NeomatiK (10940)
Törölt nick Creative Commons License 2009.12.14 0 0 10944
Azt lehetne megpróbálni például, hogy a képletszámolást átállítod manuálisra (teljes munkafüzetre vonatkozóan), azután Worksheet_Change eseményre átszámoltatod csak a kérdéses területet.
Példa:
Mondjuk, ha az alapadatok Munka0-n vannak, a táblázat_1 és adattábla_1 MUnka1-en, táblázat_2 és adattábla_2 Munka2-n, akkor Munka0 kódlapjára:

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Munka1").Calculate
End Sub

vagy

Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Munka2").Calculate
End Sub

attól függően, hogy melyiket akarod számoltatni. Lehet adott munkalapon belüli területre is korlátozni a számolást, pl. Munka1-en az A-G oszlopokra:

Sheets("Munka1").Range("A:G").Calculate

Na most, azt nem tudom, hogy a manuális számoltatás akkor is újraszámol-e egy képletet, ha a bemeneti tartománya nem változott meg. Ha igen, akkor ez az elképzelés nem jó, mert minden lélegzetvételre percekig számol majd. Próbáld ki.

Előzmény: NeomatiK (10940)
SQLkerdes Creative Commons License 2009.12.14 0 0 10943
A help alapján amit belinkeltél ezt munkafüzet szinten lehet állítani, szóval nem munkalap szintű dolog.

A 650 =jel kicserélésére a Replace All nem műxik (oly módon, hogy kijelölöd a 650 releváns cellát és utána csinálsz Replace All-t)?
Előzmény: NeomatiK (10940)
SQLkerdes Creative Commons License 2009.12.14 0 0 10942
Ha xl2007-ed van, akkor:
- Office button,
- Excel options
- advanced
- Display options for this worksheet
- Show a zero in cells... --> kattintsd ki

Ez sheet-re vonatkozik, szóval minden sheetre be kell állítanod.

xl2003-ban, valahol a Tools/options-ön belül kell keresni, de nem emléxem h. pontosan hol.
Előzmény: stopposbácsi (10936)
SQLkerdes Creative Commons License 2009.12.14 0 0 10941
Hát, elméletileg a trendline erre van...
A LINEST függvény adja vissza a trendline adatait, de ha grafikonon ábrázolod az adataidat, akkor a grafikonon szépen be lehet mutatni a trendline függvényét is.

Egyéb módszert én személy szerint nem ismerek az ilyen tipusú extrapolációra...

Ha valaki tud jobbat, az engem is érdekel!
Előzmény: csíkos_elefánt (10939)
NeomatiK Creative Commons License 2009.12.14 0 0 10940
A táblázat_2-ben a 650 oszlopban lévő képletekben kicseréltem az = jelet más karakterre. Eltartott vagy 12-15 percig.

De utána a táblázat_1 adattábla_1-et 2 perc alatt kiszámolta. Tehát most már biztos, hogy a táblázat_2-t számolja újra, amikor a táblázat_1-ből számoló adattábla_1-et számoltatom.

De ez a karaktercserélgetés még mindig nem egy elegáns megoldás, és még mindig időigényes. Van valami jó ötletetek ennek a megoldására? Csak az aktív lapra nem lehet szűkíteni az F9-et?

Előzmény: NeomatiK (10935)
csíkos_elefánt Creative Commons License 2009.12.14 0 0 10939
A táblázatkezelő képes arra, hogy bevitt adatokból megállapítson egy függvényt? Pl. egy elszabadult tehervagon sebessége megvan 0 méteren; 10 méteren; 20 méteren; 50 méteren, és ebből meghatározza, hogyan lehet leírni a sebesség alakulását és magától megmondja, mekkora lesz a sebessége bármilyen távolságon vagy mikor fog megállni?
Jozsef Creative Commons License 2009.12.14 0 0 10938
Kipróbáltam. Kicsit későn jött meg az email, kb. fél nap múlva, de ettől pontosabb konverzióval még nem találkoztam.
Előzmény: stromba (10933)
NeomatiK Creative Commons License 2009.12.14 0 0 10937
Munkafüzeten belül egy új munkalapra helyeztem a táblázat_2-t és adattábla_2-t. F9-re az összes munkalapot újraszámolja nem csak az aktívat :(((

Ennek ez a normális működése, hogy az egész munkafüzetet újraszámolja?

Előzmény: NeomatiK (10935)
stopposbácsi Creative Commons License 2009.12.14 0 0 10936
Wow, azt hol találom. Most egy if van benne, de ezt elég ronda megoldásnak tartom. :)

Amúgy csak sima hivatkozás. Ha beírnak egy azonosítószámot az első munkalapon, akkor az automatikusan megjelenik a másodikon is. Ennyi a hivatkozás.
Előzmény: Törölt nick (10930)
NeomatiK Creative Commons License 2009.12.14 0 0 10935

Sziasztok!

 

Számítások idejével kapcsolatos kérdésem van.

 

Egy munkalapon van egy A oszlop kb 300 számmal. Aztán mellette ebből az A oszlopból számoló 300 oszlop, (legyen a neve táblázat_1).  Ennek a 300 oszlopnak van egy összesítője, ami egy változótól függően egy adattábla -ba köpi ki az eredményeket, 180 különböző esetre vizsgál és ennyi eredmény is ad. Legyen a neve adattábla_1.

Ennek a számításideje volt kb 3:15 perc.

 

Más kritériumok mentén ugyanezen A oszlopi számokat alapulvéve ugyanezen a lapon egy 650 oszlopból álló táblázat van, legyen a neve táblázat_2. Ebből a táblázatból számol az ehhez tartozó adattábla, ez 75 esetre vizsgál. Legyen a neve adattábla_2. Ennek a számításideje volt kb 2:45 perc.

 

 

Eredetileg úgy történt hogy először csak az adattábla_1 létezett.

 

Aztán megkreáltam az adattábla_2-őt. Amikor ezzel számoltam, akkor az adattábla_1-ben az adattáblás függvényt kitöröltem, tehát akkor az adattábla_1-et nem számolta program, emiatt is tudott az adattábla_2 számításideje 2:45 perc lenni. (***megjegyzés ehhez lentebb)

 

Aztán most többször 300db számmal (de mindig 300 számból álló csoportokra bontva) kellett feltöltenem az A oszlopot és emiatt megint az adattábla_1-et kell használnom. De előtte az adattábla_2 függvényét töröltem, hogy az a számítás ne vegyen el időt, mert arra most nincs szükség.

 

A számolás úgy van beállítva, hogy "adattáblák kivételével automatikus". Tehát F9-re indul az adattáblás számolás.

 

Igenám, de kb 8 percre jött ki az adattábla számolás ideje (annak ellenére, hogy adattábla_2-t nem számolja) a 3:15 perc helyett.

 

***megjegyzés kifejtése: amikor az adattábla_2-t számolta 2:45 perc alatt, akkor csak az adattábla_1 függvénye volt törölve, de a táblázat_1 megmaradt, ennek ellenére volt csak 2:45perc az adattábla_2 számolási ideje.

 

 

Az a gyanúm, hogy a számoláskor a táblázat_2-ben a 650 oszloppal csinál valamit, újraszámolja.

Próbaképp kitöröltem ezt a teljes táblázat_2-t, akkor az adattábla_1 számolási ideje a 3 perc környékire állt vissza.

 

Remélem, érthető volt a leírás :))

 

Szerintetek, hogy tudnám megcsinálni, hogy törlés nélkül a normális idő alatt számolja ki az adattábla_1-et?

Jozsef Creative Commons License 2009.12.11 0 0 10934
Nekem fel van telepítve a Firefoxban a PDF Download kiegészítő. Ez át tud konvertálni PDF-t HTML-be. Mondjuk elég sok dolgot pl. a táblázatot is, DIV tag-gel old meg.
Előzmény: Törölt nick (10932)
stromba Creative Commons License 2009.12.10 0 0 10933
Előzmény: Törölt nick (10932)
SQLkerdes Creative Commons License 2009.12.10 0 0 10931
Egyetértek, de csak akkor ha a teljes sheet-en el akarja rejteni a nullákat.

Én gyakran csinálom, hogy input mezőkbe direkt nullát írok, hogy lássam, hogy ott nincs érték, nem pedig elfelejtettem bevinni az értéket.

De persze, ez is mint sok más ízlés, szokás kérdése.
Előzmény: Törölt nick (10930)
Törölt nick Creative Commons License 2009.12.10 0 0 10930
A legegyszerűbb megoldás a "Nulla értékek megjelenítése vagy elrejtése" opció használata.
Előzmény: stopposbácsi (10926)
SQLkerdes Creative Commons License 2009.12.10 0 0 10929
A számformázásról 10084 és korábban volt szó, ha érdekelnek további trükkök is, ott alaposan kiveséztük őket.
SQLkerdes Creative Commons License 2009.12.10 0 0 10928
Itt lentebb már volt erről szó.
Szóval a számaid vannak valahogy formázva. Tegyük fel, hogy ezresvesszővel, de tizedesek nélkül. pld 1,500
Ha azt szeretnéd, hogy a nulla értékek ne látszódjanak akkor a következőt kell tenned:
I.) Kijelölöd a cellákat amelyeknek a tartalmát így szeretnéd formázni.
II.) Ctrl+1
III.) Number fül, Custom almenü
IV.) A példaként szolgáló esetben az ezresvesszős, tizedesjegy nélküli formázás "kódját" látod: #,##0;-#,##0
V.) A kód után üss egy pontosvesszőt, a pédánk esetében a formázó kód ezek után így fog kinézni: #,##0;-#,##0;

Kész.

Ha magyar excel-ed van, akkor kicsit játszani kell a formázással (pld lehet vessző helyett szóköz lesz az ezreseknél és nem pontosvesszőt kell alkalmazz ott ahol a fenti példában pontosvessző van, de ezeket könnyű kikisérletezni.
Előzmény: stopposbácsi (10926)
Törölt nick Creative Commons License 2009.12.10 0 0 10927

"Van egy oszlopom, amiben minden mező egy másik sheet oszlopának mezőiből veszi az értéket."

 

És, hogy veszi az értéket, hivatkozással, függvénnyel,...?

Előzmény: stopposbácsi (10926)
stopposbácsi Creative Commons License 2009.12.10 0 0 10926
Nagyon gyökér kérdésem lenne. Van egy oszlopom, amiben minden mező egy másik sheet oszlopának mezőiből veszi az értéket. De amikor üres az eredeti cella, nekem a hivatkozáskor 0-t ír be. Ezt hogyan lehet üresként kiírni? Az összes cellaformázást végigpróbáltam, de egyik sem segített.
Törölt nick Creative Commons License 2009.12.10 0 0 10925
Tök jó :)
Már épp rászántam magam, hogy utánanézek :)
Előzmény: Törölt nick (10924)
murray Creative Commons License 2009.12.10 0 0 10923
thx
SQLkerdes Creative Commons License 2009.12.09 0 0 10922
Vagy az is jó (feltéve, hogy mindíg azonos számjeggyel van dolgunk, itt ha jól látom hét), hogy a Custom számformátumnál azt állítja be a dolgozó, hogy:
0000000

így még matematikai műveleteket is lehet vele végezni.
Előzmény: murray (10921)
murray Creative Commons License 2009.12.09 0 0 10921
köszöntem, aposztróffal jó volt
Előzmény: Jozsef (10920)
Jozsef Creative Commons License 2009.12.09 0 0 10920
Írj egy aposztróf jelet eléje: '0005864
vagy állítsd át a cella formátumát szövegre: Formátum/Cellák menü Szám fül
Előzmény: murray (10919)
murray Creative Commons License 2009.12.09 0 0 10919

hi. szövegként akarok beírni egy pl 0005864 számot és levágja a nullákat az elejéről

állítólag van erre egy képlet hogy látszódjon. tipp vkinek? köszi!

 

Delila_1 Creative Commons License 2009.12.09 0 0 10918

Szia,

 

tedd már meg, hogy beírsz ide, milyen eredményre jutottál a linken található makróval.

Előzmény: Törölt nick (10915)
Törölt nick Creative Commons License 2009.12.09 0 0 10915
Szia,
köszönöm. most találtam ezt is: (bár még nem próbáltam ki)
http://www.ozgrid.com/forum/showthread.php?t=68124
Előzmény: Delila_1 (10909)
sip pista Creative Commons License 2009.12.09 0 0 10914
aha:-)
ez egyelőre a fekete mágia kategóriája nekem, de utánanézek, köszi
Előzmény: Törölt nick (10913)
Törölt nick Creative Commons License 2009.12.09 0 0 10913
Ha csak cellák feltöltését és adatnézegetést kell csinálni, akkor esetleg működhet az az elképzelés, hogy létrehozol egy userform-ot, és ráteszel egy Microsoft Office Spreadsheet 11.0 (vagy hasonló) ActiveX vezérlőt. Ez utóbbi a munkalaphoz hasonló kinézetű objektum, hasonlóképpen lehet dolgozni vele, programozása is hasonló, viszont sokkal több eseménye van. Köztük pl. ott vannak az egérkezelők (MouseOver), amivel már talán lehet valamit kezdeni. (Mivel ha a júzer "elmélyülten tanulmányozza" a táblázatot, nagy valószínűséggel használja közben az egeret is.)
Előzmény: sip pista (10912)
sip pista Creative Commons License 2009.12.09 0 0 10912
hát ez az.. igazából az elmélyült tanulmányozás is esemény:-) vagy a görgetés. valószínűleg winapival lehetne legjobban megcsinálni, de az elég macerás. amúgy a doksi változtatása nem jellemző, egy hibabejelentő-féleség aktuális eseményeit akarom figyelni...
Előzmény: Törölt nick (10911)
Törölt nick Creative Commons License 2009.12.09 0 0 10911
Először is definiálni kellene a "hozzányúlás" fogalmát.
Ha pl. azt jelenti, hogy a júzer változtat egy cella értékén, akkor a Worksheet_Change vagy a Workbook_SheetChange esemény kell, attól függően, hogy egy bizonyos munkalap változásait akarod figyeltetni, vagy az összeset munkalapét egyszerre.
Ha viszont pl. cellák formázása is hozzányúlásnak minősül, az gond, mert erre nincs esemény.
Előzmény: sip pista (10910)
sip pista Creative Commons License 2009.12.09 0 0 10910
üdv,

olyat szeretnék csinálni, hogy ha a júzer x percig nem nyúl hozzá a táblához, az automatikusan megrissíti magát egy külső adatforrásból. amennyire tudom (azaz nemigen), erre az application.ontime való. viszont ha a felhasználó "csinál valamit", törölni kellene az előző időzítést és újat ütemezni (mint a képernyővédő). van valami haladósabb megoldás is? és ha ez, milyen eseménykezelőben lehetne előretolni a frissítés idejét?

kösz:p
Delila_1 Creative Commons License 2009.12.09 0 0 10909

Itt a makró, lehet, hogy Te is ezt láttad. Kipróbáltam, jól működik.

 

Sub DeleteOldItemsWB()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
   
    On Error Resume Next
    For Each ws In ActiveWorkbook.Worksheets
      For Each pt In ws.PivotTables
        pt.RefreshTable
        pt.ManualUpdate = True
        For Each pf In pt.VisibleFields
          If pf.Name <> "Data" Then
            For Each pi In pf.PivotItems
              If pi.RecordCount = 0 And Not pi.IsCalculated Then
                pi.Delete
              End If
            Next pi
          End If
        Next pf
        pt.ManualUpdate = False
        pt.RefreshTable
      Next pt
    Next ws
End Sub

Előzmény: Törölt nick (10908)
Törölt nick Creative Commons License 2009.12.09 0 0 10908
Nem tudod mire gondolok. (Jójóóó honnan tudnád.)
Pivottáblánál előfordul az, hogy az elemek nem frissülnek - ergo a régiek benne maradnak, holott már nem létezik a lekérdezésben, illetve a háttér adatokban.
Valahol láttam erre makrót ami ezeket kitörli, talán itt, csak nem volt időm sajna keresgélni fórumon belül, csak (valszeg rosszul) gugliztam (de egyelőre semmi...)
Előzmény: SQLkerdes (10907)
SQLkerdes Creative Commons License 2009.12.08 0 0 10907
A PivotTáblát is lehet Refresh-elni.
Van rá gomb a Pivot-tal kapcsolatos fülek között.
Előzmény: Törölt nick (10906)
Törölt nick Creative Commons License 2009.12.08 0 0 10906
Sziasztok,
eddig még nem volt erre szükségem, de most beleszaladtam...
hogy lehet a pivottáblában bent ragadt elemeket kitörölni? Excel 2007
(amelyek valójában nincsenek benne, csak régebbről "benntragadtak")
SQLkerdes Creative Commons License 2009.12.08 0 0 10905
http://en.wikipedia.org/wiki/Microsoft_Binder

Szinte biztos vagyok benne, hogy a fenti Microsoft Binder-re lenne szükséged, csak már megszünették...
Előzmény: kisseby (10900)
Delila_1 Creative Commons License 2009.12.08 0 0 10904

 

Kedves Avionique,

 

Jártam a lapodon, onnan töltöttem le a fájlt, és onnan tudom, hogy repülsz. Ezt a lehetőséget tényleg szeretném kihasználni, de messze van még a tavasz!

 

Üdv, Delila

 

Előzmény: avionique (10903)
avionique Creative Commons License 2009.12.07 0 0 10903

Kedve Delila_1

 

Tavasszal... ill. ha egy kicsit derüsebb idő lesz, jobbak  lesznek a látási viszonyok.

Az oldalamon ( http://avionique.jimdo.com) üzenhetsz, szívesen elviszlek egy kanyarra, mondjuk a Daunakanyarba :)

 

Üdv, Avionique

Törölt nick Creative Commons License 2009.12.07 0 0 10902
hátha jó ez is: ha gyorsan 2x nyomod a ctrl+c, c-t, akkor elteszi a vágólapra a kiejölt tartományokat és vissza tudod másolni word-be
Előzmény: kisseby (10900)
Törölt nick Creative Commons License 2009.12.07 0 0 10901

Pl. be lehet illeszteni objektumként az egész munkafüzetet is.

De ha egyik munkalapot akarod a másik után, akkor az már makró.

Előzmény: kisseby (10900)
kisseby Creative Commons License 2009.12.07 0 0 10900
tehát nem lehet?
Előzmény: kisseby (10762)
wawabagus Creative Commons License 2009.12.07 0 0 10899

Na, jó megint sikerült gondolkodnom egy kicsit önállóan és megvan a megoldás...

 

Bocs...

 

C = (B-A)*100 (és egyedi beállításnál #"pts")

 

Nem értem mindig beírok, aztán megvilágosodom...

 

 

Előzmény: wawabagus (10898)
wawabagus Creative Commons License 2009.12.07 0 0 10898

Sziasztok!

Van esetleg tippetek a következőre?

 

A oszlop egy százalék

B oszlop szintén százalék, de egyedi beállítású tehát így néz ki: <86%

C B-A-nak kéne lennie de pontként...

 

Egy példán bemutatva...

 A       B           C

82%   <86%   -4pts

 

Persze simán megoldható, hogy manuálisan, mint text írogatom be a C oszlopot, de szeretném automatizálni a táblázatot...

 

Azt próbáltam, hogy a C is egyedi beállítású cella...#"pts"...de ez -4 helyett 0,4 jön ki...

 

Hogyan tudnám elérni, hogy a különbség ne %, hanem szám+pts jelenjen meg?

 

A text függvénnyel kéne kombinálni? Esetleg egy find-dal?

 

Talán van erre egyszerűbb mód is, de nem bírok rájönni...

 

Van rá esetleg tippetek?

 

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

Y

SQLkerdes Creative Commons License 2009.12.07 0 0 10897
Nézd meg az Input locale beállításodat. Ott van a "hiba"?
Ha nem, akkor az már kacifántosabb az ügy, de előbb látni kell akkor is, hogy hol nincs a hiba...
Előzmény: pkarak (10894)
SQLkerdes Creative Commons License 2009.12.07 0 0 10896
Az xl help szerint:
The WEEKNUM function considers the week containing January 1 to be the first week of the year. However, there is a European standard that defines the first week as the one with the majority of days (four or more) falling in the new year. This means that for years in which there are three days or less in the first week of January, the WEEKNUM function returns week numbers that are incorrect according to the European standard.


Szóval nem azon múlik, hogy mi a második adat (1 v. 2.) hanem, fundamentális eltérés van (52 hét * 7 nap/hét=364, szóval van 53. hét).

Amit tehetsz az az, hogy kiértékeled, hogy az adott év első napja milyen napra esik és ha olyan napra esik ami eltrozítja a weeknum-ot, akkor egy IF függvénnyel csökkented a weeknum eredményét 1-el.

Vagyis ha jan 1 hétfő, kedd v. szerda akkor kell korrigálni. Itt valszeg erről az esetről van szó!
Előzmény: roomgrey (10895)
roomgrey Creative Commons License 2009.12.06 0 0 10895
Köszönöm szépen! Ez is sikerült!! =DDDD

A hetek számánál miért írja az utolsó hétet, 53.-nak???
WEEKNUM(saját adat,1 vagy 2)??? Mindkettőt próbáltam, de egyikkel sem jó.
Hogyan tovább?

Köszönöm!
Előzmény: SQLkerdes (10892)
pkarak Creative Commons License 2009.12.06 0 0 10894
Köszönöm a részletes leírást, a gondom az, hogy mint írtad pont van a vessző helyett alapban az Excelemben beállítva, valahogy árírodott, állítódott, (persze az is lehet, hogy én állítottam át nem szándékosan) ezt szeretném visszaállítani "alapba" tehát, hogy a vessző vessző legyen.
Előzmény: SQLkerdes (10893)
SQLkerdes Creative Commons License 2009.12.06 0 0 10893
Szerintem ezt az oprendszer Input Locale-jában kell átállítani...
XP-ben ez a Control Panel-ben van.

Persze, ha biztos vagy benne, hogy nem okoz problémát, akkor a Replace-szel is megcsinálhatod a dolgot... (mondjuk én csinálnék egy mentést a file-ról mielőtt bepróbálkoznék).

Én úgy csinálnám, hogy:
- feltételezzük, hogy pont van a tizedesvessző helyett a file minden cellájában és vessző az ezresek helyén

- először kicserélnék minden pontot valami különleges karakterre ami tuti nem fordul elő egyetlen egyszer sem, pld | (Alt + W)
- utána kicserélném a vesszőket arra amit ezres-szerarátornak szeretnék, vagy egyszerűen csak kiszedném a vesszőket
- majd visszacserélném a spec karaktert, de nem az eredeti pontra, hanem vesszőre.

Ez persze csak akkor fontos ha file-t kaptál "rossz" formátumban (bár lehet még lehet valamit varázsolni az adatok importálásakor is...)
Előzmény: pkarak (10891)
SQLkerdes Creative Commons License 2009.12.06 0 0 10892
=WEEKNUM(idejönateadatod)&"/"&YEAR(NOW())

Ez mindíg az aktuális évet fogja a hét mögé rakni.
Előzmény: roomgrey (10890)
pkarak Creative Commons License 2009.12.06 0 0 10891

Sziasztok, egy egyszerű (csak számomra nem) problémára kérnék segítséget:

Hol v. hogy lehet az Excel-ben átváltani a tizedesgyet vesszőjét pontra, illetve a pontot vesszőre? Segítségeteket előre is köszönöm.

roomgrey Creative Commons License 2009.12.06 0 0 10890
Köszönöm szépen!
Sikerült.

Még egy dolog. A hetek számának kiszámításánál miért írja az utolsó hétre, hogy 53?? (WEEKNUM-nál próbáltam az 1-es és a 2-es vissza_típust is....)

Illetve hogyan tudom ilyen formátumban: "53/2009", az 53 mögé az aktuális évet íratni, "/"-jellel az év elé?? (mert ugye WEEKNUM-mal számoltatom ki a heteket.)

Köszi
Előzmény: SQLkerdes (10887)
SQLkerdes Creative Commons License 2009.12.06 0 0 10889
A pivottáblát kétségtelen lehet parasztvakításra is használni, de ha valaki tudja hogy kell használni, durván tud vele dolgozni!

Az én tapasztalatom, hogy a Pivottábla megkíván egy kis gyakorlást (nem is annyira, hogy hogy kell létrehozni, hanem annak felismerésére, hogy mikor érdemes és hogy használni), de megéri.

Én azt szoktam csinálni, hogy készítek egy Pivottáblát és utána (ha az adott probléma megkívánja) annak a táblának az adatait használom egy csomó GetPivotData-val, így a Pivottábla gyengeségeit simán ki lehet küszöbölni (kell hozzá egy kis maszírozás amíg az ember beparaméterezi a GetPivotData-t, de amint azzal kész van az ember, halálos fegyver van a kezében...)

Szintén működhet még, hogy Access-ben csinálsz olyan lekérdezést ami szépen megszámolja neked az egyes változókhoz (vagy azok bármilyen kombinációjához) tartozó esetek számát.
Előzmény: redsw (10875)
SQLkerdes Creative Commons License 2009.12.06 0 0 10888
Az access-t tudod ilyenre használni, kétségtelen.

Az Excel-lel kapcsolatos problémádat nem értem pontosan.

Ha a segédváltozót egy rejtett worksheet-en számoltatod (és nem a C oszlopban), ott nyugodtan "lefuttathatod" az első kétszáz sorig, ebben az esetben a Rejtettsheet!A200 fogja mutatni a végleges levelezési listát.

Innen nincs más dolgod, mint belinkelni a Rejtettsheet!A200-at a fő munkalapod valamelyik szabadon választott cellájába. A felhasználók nem fogják látni, hogy az Excel 200 részletben számolja ki a végleges eredményt, csak azt, hogy ahogy új nevet és opciókat visznek fel a fősheet-re a levlista módosul.

Az, hogy pld a 200 sorból 110 üres nem befolyásolja a végeredményt, mert ha valaki nem tartozik bele egy levlistába, akkor a levlista nem változik (ezért tettem ""-t abba az ágba ahol kiértékelődik a tagsága és HAMIS a kiértékelés eredménye).

Vagy félreértem a problémát?
Előzmény: roac (10884)
SQLkerdes Creative Commons License 2009.12.06 0 0 10887
Nos, legalább három lehetőséged van.

I.) Belefoglalod az FKERES-t egy HA függvénybe. HA(FKERES(a te paramétereid)=0,"",FKERES(a te paramétereid ismét))
(lehet nálad nem vessző kell majd hanem pontosvessző az egyes elemek közé)

II.) Átállítod a számok kijelzését, hogy a nulla értéket ne jelenítse meg. Erre megintcsak két lehetőséged van.
IIa) Az egész worksheet-en, akkor az Office button/Excel options (jobb alsó sarok az office button után) / Advanced / Display options for this worksheet / show a zero in cells...
Ezt az opciót kattintsd ki.

IIb) Cellák szintjén átállítod a kijelzési formátumot
1.) Kijelölöd azokat a cellákat amelyekben nem akarsz nullát látni nulla esetén
2.) Ctrl+1 (formázás)
3.) Válaszd a Custom almenüt
4.) A formázási ablakba írd be, hogy: #,##0;;""

Lejjebb ugyanebben a topikban ejtettünk jónéhány posztot a számformázásokról, keresd meg őket ha jobban akarod érteni a dolgot (azokat a hozzászólásokat keresd ahol van egy csomó #)
Előzmény: roomgrey (10886)
roomgrey Creative Commons License 2009.12.06 0 0 10886
Sziasztok!

Naptárat készítek és szeretném napokhoz tartozó ünnepeket megjeleníttetni az adott dátumhoz tartozó oldalon. Létrehoztam egy másik munkalapot és FKERES-sel kikerestettem vele. Csak az a problémám, hogy ahol nem talál semmilyen ünnepet, oda 0-t ír. Hogyan lehet ezt a nullát nem megjeleníttetni?

Köszi
Delila_1 Creative Commons License 2009.12.06 0 0 10885

Kedves Tőled a felajánlás, de mint már előttem egy fórumtárs kifejtette, ez egy nonprofit ág.

Persze, ha egy ilyen apró szívességért egy sétarepülést ajánlasz fel, ott a helyem, nem tudok ellenállni. :))

Előzmény: avionique (10880)
roac Creative Commons License 2009.12.05 0 0 10884
Köszönöm az ötletet, az a gondom az általad leírt módszerrel, h ezt a fájlt nem csak én kell használjam, hanem egy nagyobb munkaközösség, tulajdonképpen egy projekt keretén belül kellene egy levelező listához tartozó embereket osztályozni, és elkészíteni a TO: CC: BCC: email mezőkhöz a leválogatást. Mivel több ember használná, ezért minden egyes új ember felvezetésénél kellene több képletet módosítani, ami hibákhoz vezetne. Ezért gondoltam az array típusú függvényre, mert abban az estben megadhattam volna, h függvény figyeljen 200 sort, ami nagy valószínűség szerint soha nem telne be.

Vagy ilyen esetben érdemes lenne access-ben gondolkodni?
Előzmény: SQLkerdes (10883)
SQLkerdes Creative Commons License 2009.12.05 0 0 10883
Javaslatom, hogy használjuk a C oszlopot és celláit segédváltozónak.

A C1-be írd, be, hogy:
=if(b1=1, A1,"")
A C2-be, hogy:
= IF (B2=1,c1&a2,C1)
Ezután a c2 cellát másold lefele olyan hosszan amilyen hosszú az A és B oszlopod.

Gondolom neked nem az 1-es értékre kell kiértékelned a B oszlop celláit, úgyhogy alkotó módon alakítsd át az IF függvény bármely részét.

FIGYELEM: lehet, hogy a te excel változatodban az IF (vagy HA) függvényen belül nem vesszőt hanem pontosvesszőt kell használni, kisérletezd ki a megfelelő szintaktikát!
Előzmény: roac (10881)
SQLkerdes Creative Commons License 2009.12.05 0 0 10882
Excelben nem kell összefűz parancsot használni, elég helyette az összefűzendő szövegek közé egy & jelet tenni.
tehát pld =A1&", "&B1
Eredménye, ha A1= "Első rész" és B2"második rész" az lesz, hogy:
Első rész, második rész

A tömbben való összefűzés elsőre bonyinak tűnik, utánagondolok hogy lehetne valamit trükközni.

Mondjuk tény és való, hogy egy makró lenne a legkézenfekvőbb megoldás...
Előzmény: roac (10881)
roac Creative Commons License 2009.12.05 0 0 10881
Sziasztok, nekem is segítségre lenne szükségem. Szeretnék összefűzni egy nagy szöveges adatsort (A oszlop) egy cellába bizonyos kritériumnak megfelelően (B oszlop).
Pl.:
A oszlop sorai: szöveg1, szöveg2, szöveg3
B oszlop sorai: 1, 2, 1

Azt szeretném, h pl. C1=szöveg1; szöveg3 (mivel mindkettőhöz a B oszlopban 1-es érték kapcsolódik)

Úgy terveztem, h array függvénnyel és összefűz paranccsal oldom meg, de megtudtam, h az összefűz parancsot nem lehet array függvényekben használni.

Van erre valamilyen megoldás excel függvénnyel? Makrókhoz nem igazán értek.
avionique Creative Commons License 2009.12.05 0 0 10880

Kedves Delila_1

 

Meg tudtam csinálni! Micsoda sikerélmény! Használtam az eszemet, na meg az Excel súgóját! Egész eccerű volt és nem is fájt! :)

Az igéretem a vaníliára pedig áll!

 

Üdv: Avionique

Előzmény: Delila_1 (10876)
avionique Creative Commons License 2009.12.05 0 0 10879

Kedves Delila_1

 

SZUPER! Most már csak azt kellen tudnom, hogy ezt a makrót hogy tehetem át a "rendes" fájlba, amit igazából használok?

 

Nagy örömet szereztél! Naked is felajánlom az ajándék vaníliát, ha elfogadod...

 

Üdv: Avionique

Delila_1 Creative Commons License 2009.12.05 0 0 10878

Szia Moni!

Baj van a függvényeddel. A HA függvénynek 3 paramétere van.

1. feltétel (pl. A1="kinder")

2. feltétel - mi legyen az eredmény, ha igaz a feltétel (pl. B1*0,15, vagyis a B1 15%-a)

3. feltétel - mi legyen az eredmény, ha a feltétel nem igaz, vagyis nem kinder, hanem más adat van az A1 cellában (pl. B1*0,06, azaz a B1 cella 6%-a)

 

Valószínűleg nem 3, hanem több féle adatod van az A oszlopban, és mindegyiket más százalékkal kell szoroznod. Ilyenkor érdemes felvenni egy segédtáblázatot, és azt alkalmazni a HA függvény helyett. Legyen a segédtáblázat a példában a K és L oszlop. K1-től lefelé szerepeljenek a termékek: kinder; malom; abc; stb. Mindegyik mellé az L oszlopba beírod a megfelelő szorzót, 0,15; 0,06; 0,08, vagy így:15%, 6%, 8%.

A C1 képlete: =A1*FKERES(A1;K:L;2;0) (nem fontos a C oszlopba, máshova is írhatod).

Az FKERES (függőlegesen keres) függvény megkeresi az első paramétert (A1-et) a második paraméter (K:L) tartomány első (K) oszlopában. A harmadik paraméter (jelen esetben 2) azt adja meg, hogy a tartomány hányadik oszlopában lévő érték legyen az eredmény. A K:L tartomány 2. oszlopa az L oszlop. Tehát ha az A1 értéke malom, akkor eredménynek a szorzó 6% lesz. A negyedik paraméter a keresés pontosságát adja meg, a fenti képletben a 0 (nulla) azt jelenti, hogy pontos egyezést kérsz – ezt most nem részletezem, a súgó tartalmazza a leírást.

A képletet másold le a többi adat mellé. Ezt úgy is megoldhatod, hogy az első képletet tartalmazó cellára állsz, és a jobb alsó sarkában megjelenő kis fekete négyzetet az egérrel lehúzod addig a sorig, ameddig az A oszlopban van adat. Figyeld meg, hogy a második képleted ez lesz: =A2*FKERES(A2;K:L;2;0), a harmadiknál A3 szerepel majd a képletben.

 

Előzmény: freymoni (10877)
freymoni Creative Commons License 2009.12.04 0 0 10877

szia! Nagyon szépen köszi a választ, és megnézegettem a súgót, de vmit még kérdeznék, ha lehet...

 

Most megcsinálja amit szeretnék, de csak akkor, ha bemásolom a képletét.

 

A                     B                       C

kinder             122                   =HA(A1="kinder";B1*0,15)

malom             230                   =H A(A1="kinder";B2*0,06)

abc                 100                    =HA(A1="kinder";B3*0,08)

kinder             500                    ?

 

Ideírtam kb, mire gondolok. TEhát, ha megint a kinder szó jön az A oszlopban, akkor

szeretném, ha automatikusan kiszámolná a C oszlopot. (és a B oszlop persze változó érték). Tehát megcsinálja magától???

 

köszi előre is, remélem érthető...

 

Moni

Előzmény: Delila_1 (10867)
Delila_1 Creative Commons License 2009.12.04 0 0 10876

Szia!

 

Így még egyszerűbb a dolog. A Számla lapra tettem egy gombot. Azt megnyomva átkerül a 4 adat a számlaösszesítő lap első üres sorába.

A kiterjesztés xlsm (makróbarát füzet) lett.

A füzetet ide tettem http://data.hu/get/1942817/SZAMLAZO_teszt.xlsm.html

Jó munkát!

Előzmény: avionique (10874)
redsw Creative Commons License 2009.12.04 0 0 10875
Én legszivesebben leválogattam volna az adatokat, mert úgy néz ki, hogy területi azonositó szerint Bp 65%, pár száz egyéb van mellette, életkorban 18-40 év a skála, de ebböl 19-21 év 60%, és más adatoknál is van 2-3 elem, ami 40-60%-ot ad ki.
Szóval lényegében minden egyes oszlopnál bal oldali, exponenciálisan csökkenö függvényt lehet ábrázolni - kérdés, hogy ezek összevonva milyen eredményt adnak.
Hiszen nyilván nem ugyan az a 40-60% van minden csoportnál, igy a leválogatással hamis képhez jutnánk, ezért jött az a javaslat, hogy valami többváltozós statisztikai elemzés kell. Én viszont jó évtizede csak kétváltozós regresszió és korreláció számitásig jutottam a sulival vivott harcban, többváltozós elemzésre nem is volt lehetöség - lévén 486-os gépek voltak, és a tanárok.se szerettek sokat számolni.
A pivotábla nekem gyanús, az adatbáziskezelésnél lényegében sor-oszlop transzponálást jelent és jelentéskezelésnél használják "parasztwapításra", ezzel adják el százmilliókért a megoldásaikat, de ha itt másról van szó, megnézem. ;)

ui:
kaptam egy tippet, hogy spss vagy hasonló guru kellene a kérdéshez, de úgy látom, azok a fórumok évek óta döglöttek. :-(
Előzmény: SQLkerdes (10866)
avionique Creative Commons License 2009.12.04 0 0 10874

Itt mégegysze a weboldalam címe, hogy ne kelljen keresni:

http://www.avionique.jimdo.com

 

Előzmény: Delila_1 (10869)
avionique Creative Commons License 2009.12.04 0 0 10873

Kedves Delila_1

 

Megpróbálkoztam a makróval (vagy az nem is az, amit küldtél?), de én tényleg béna vagyok! Nem megy. Nem tudom hol és mit kell tennem.

Igazából azt szeretném, ha a SZÁMLÁZÓ.xlsx "Számla" oldaláról lennének a kért adatok kigyűjtve, a SZÁMLÁZÓ.xlsx "számlaösszesítő" oldalára.

Az nem baj, ha a SZÁMLÁZÓ.xlsx az adatokkal együtt lesz elmentve, a következő számla bevitelekor azt amúgyis átírom. Tudniillik a "Számla" oldal csak mint egy kitöltendő adatlap szerepel. Amikor kitöltöttem egy számlát, elmentem PDF-be és aztán kezdem a másikat.

Feltöltöttem az oldalmra egy SZÁMLÁZÓ teszt.xlsx próbafájlt, ahol ezeket biztos látni fogod.

A CIKKSZÁM oszlopba írom be a mátrixban szereplő termékek cikkszámát, majd a darabszámot. A többi megy automatikusan. Most már csak ezt az adatkigyűjtést kellene megoldani valahogy.

 

Üdv: Avionique

 

 

Előzmény: Delila_1 (10868)
Törölt nick Creative Commons License 2009.12.04 0 0 10872

köszi, folytattam.

Előzmény: SQLkerdes (10862)
SQLkerdes Creative Commons License 2009.12.04 0 0 10871
1700 karakter bőven belül van az xl limitjén.
Amit nem értek az a fölé megyek rész... Változtasd meg a cella (sor és oszlop) méretét, hogy látszódjon a cella teljes tartalma.

Vagy nem erre gondoltál?
Előzmény: murray (10870)
murray Creative Commons License 2009.12.04 0 0 10870

helló. egy kb 1700 karakternyi szöveget másolnék egy cellába.

de úgy hogy ne csak akkor jelenjen meg a teljes szöveg ha fölémegyek 

lehetséges?

úgy emlékszem van vmi limit.

köszi

 

Delila_1 Creative Commons License 2009.12.04 0 0 10869
Eszerint az arab írás hasonlít az óegyiptomi írásmódok egyikére?
Előzmény: Ibrahiim (10858)
Delila_1 Creative Commons License 2009.12.04 0 0 10868

Szia!

 

Jimmynek igaza van, mint mindig.

Az Összesítő.xls-be kell tenni a makrót, és arra a lapra tegyél ki egy gombot, ahova be kell másolni az egyes számlák adatait. Legyen nyitva az aktuális számlafüzet.

 

Sub Osszesites()
    Dim usor, összeg As Long, kelt As Date, név As String
   
    usor = ActiveSheet.UsedRange.Rows.Count + 1
   
    ActiveWindow.ActivatePrevious 'Váltás az aktuális számla füzetre
    Sheets("Munka1").Select
    összeg = Cells(26, 1): kelt = Cells(26, 3): név = Cells(26, 5)
    ActiveWorkbook.Save  'Itt menti a számlafüzetet,

    ActiveWorkbook.Close  'itt pedig bezárja
    
    Cells(usor, 1) = "FR. " & összeg
    Cells(usor, 2) = kelt
    Cells(usor, 3) = név
    ActiveWorkbook.Save
End Sub
.

A Sheets("Munka1").Select sorban a Munka1-et írd át a számla füzet megfelelő lapjának nevére.

Ez a makró az adatok átvezetése után az aktuális számla füzetet menti, és bezárja.

Előzmény: avionique (10864)
Delila_1 Creative Commons License 2009.12.04 0 0 10867

Az X oszlop képlete:

=HA(A1="a";C1*D1;C1+D1)

 

Nyilván a C1*D1 és a C1+D1 helyett a saját képleteidet írd be.

 

Ha az "a" és "b" értéken kívül más is szerepelhet az A oszlopban:

=HA(A1="a";C1*D1;HA(A1="B";C1+D1;""))

 

Nézd meg a HA függvény alkalmazását a súgóban.

Előzmény: freymoni (10857)
SQLkerdes Creative Commons License 2009.12.04 0 0 10866
Ha a vizsgálandó adatok számszerűek, akkor a statisztikai függvényeket ajánlom, koreláció, linest, stb.

Ha viszont döntési fa-szerű dolgot akarsz csinálni, akkor a PivotTable lesz a barátod. A youtube-on keress rá, hogy pivottable, excel és egy csomó dolgot fogsz találni ahol megmutatják hogy kell használni (a te esetedben nem Sum-okat kell táblázatba foglalni, hanem Count-okat).


Előzmény: redsw (10863)
Törölt nick Creative Commons License 2009.12.04 0 0 10865
Szerintem nem kellene az egyes számlákba makró. A fő munkafüzetbe kellene egy, ami pl. gombnyomásra összesít, exportálja az aktuális adatokat külön munkafüzetbe, és el is menti, továbbá esetleg kiküldi PDF nyomtatóra.
Előzmény: Delila_1 (10849)
avionique Creative Commons License 2009.12.04 0 0 10864

Kedves Delila_1

 

Hát ez nekem egy kicsit kínai :)

 

Egy szót sem értek az egészből....   Sajnos, mint említém, egyáltalán nem értek a programozáshoz. Egy - két függvényt még csak valahogy összehozok, de az már minden elképzelésemen túl van. Azért köszönöm, hogy foglalkoztál vele.

 

Avionnique

Előzmény: Delila_1 (10849)
redsw Creative Commons License 2009.12.03 0 0 10863
Üdvözlet, érdeklödöm, esetleg statisztikában is jártas valaki?
Van egy nagy táblázat, 11 paraméterrel (településtipus, nem, életkor, foglalkozás, stb.) soronként. Meg kellene határozni, melyek a domináns paraméterek.
Részösszegek révén tudom, paraméterenként (oszloponként) hányféle elem fordul elö és milyen gyakorisággal, ezek közti kapcsolatokat, hatásokat kellene meghatározni.
Az általam tanult módszerek csak két oszlop összehasonlitására vonatkoznak, hogyan lehet kettönél többre elvégezni az elemzést? (a legtöbbféle elem a foglalkozás, 220 féle van, a többiben sokkal kevesebb féle van.)
SQLkerdes Creative Commons License 2009.12.03 0 0 10862
Robbantómester: neked hagytam egy üzenetet az MS SQL Server segítségkérés topikban.
Előzmény: Törölt nick (10859)
SQLkerdes Creative Commons License 2009.12.03 0 0 10861
Lehet az IF (HA) függvényről van szó?
Írj le egy konkrét példát és az alapján jobban tudunk segíteni.
SQLkerdes Creative Commons License 2009.12.03 0 0 10860
Azt nem mondom, hogy értem a dolgot, de hurrá, hogy működnek a makrók!
Előzmény: Ibrahiim (10858)
Törölt nick Creative Commons License 2009.12.03 0 0 10859

nem nagyon értem amit írsz, de szerimntem az FKERES fgv kell neked.

FKERES(amit keresel;ahol keresed, aminek első oszlopában van az "amit keresel";hányadik oszlopból adja vissza a találatot;0)

Előzmény: freymoni (10857)
Ibrahiim Creative Commons License 2009.12.03 0 0 10858
Szóval mea culpa

Az arabban vannak mássalhangzók és magánhangzók. A szavak alapját a mássalhangzók adják, a magánhangzók egy része, és más egyéb írásjelek, pl. a betűkettőzés változhat. Ezeket a hétköznapokban (újságok) pl. nem is írják ki.
A szótárprogram amit használtam a magánhangzókat kicsit mostohán kezelte, ezeket a kiexportálásnál mind cserélni is kellett. Ami nem derült ki: a kettőzés jelét egyáltalán nem kezelte, ezek eltűntek az ismétlődő kifejezésekből.
A Word-öt ez nem zavarja, mert ő a keresésnél csak a mássalhangzókat veszi figyelembe, és ez hasznos is, hiszen így a szótövekre lehet keresni. Így egész mostanáig nem is vettük észre a hiányukat, hiszen a word mindig megtalálta, akármelyik kifejezésre kerestem rá. Az excel viszont nem ilyen intelligens, és hiányolta a betűkettőzés jelöléseket a szövegből. Miután az eredeti szövegből minden betűkettőzést kitöröltem, már vígan - de elég lassan, működnek a makrók.

Még egyszer köszönet mindenkinek, és elnézést, hogy ilyen bonyodalmakat sikerült okozni, de ez van, ha valaki olyan dolgozik arab szöveggel, aki nem tud arabul :(

Előzmény: Delila_1 (10855)
freymoni Creative Commons License 2009.12.03 0 0 10857

sziasztok!

 

Szeretnék kérni egy kis segítséget tőletek... eléggé elavult már az excel-tudásom. A problémám: A oszlopban vannak a cégek, és X oszlopban szeretnék használni egy egyszerű képletet. Hogy kell azt csinálni, hogy ha "a" cég van az A oszlopban, akkor egy fix képletet használjon, és ha "b" cég van A oszlopban, akkor az ahhoz tartozót... Előre is köszönöm!!!  Moni

SQLkerdes Creative Commons License 2009.12.03 0 0 10856
Ne a .value-t nézd, hanem a .text-et, az én makrómban az működött (részben, mert ezek szerint nem talált meg mindent, de azért megtalált egyes dolgokat).

Előzmény: Delila_1 (10855)
Delila_1 Creative Commons License 2009.12.03 0 0 10855

Sajnos, nem tudok mit kezdeni vele.

A egyik lapon csak azt a 3 sort hagytam meg, amikhez megadtad, hogy a másik lapon mi a bekezdésük száma. A másik a lapon a jelzett bekezdésűeken kívül minden más sort töröltem. Kétféle makrót futtattam a kigyomlált füzetben, és mindegyik egyszer működött, máskor nem.

Hihetetlen!

Előzmény: Ibrahiim (10854)
Ibrahiim Creative Commons License 2009.12.03 0 0 10854
Az Office 2010-zel is tök ugyanaz a helyzet. Jó hogy béta. Elég gáz ez az egész...
Előzmény: SQLkerdes (10847)
Ibrahiim Creative Commons License 2009.12.03 0 0 10853
Kedves Delila_1

De akkor miért van, hogy egyes kifejezéseket megtalál? Mert az A3 cellában lévő kifejezést pl. megtalálja az első tízből. És miért van az, hogy a Word megtalálja, ha átmásolod a cellák tartalmát oda? Amúgy a Windows XP alá simán fel lehet tenni a jobbról-balra nyelvek kezelését (verérlőpult - területi és nyelvi beállítások - nyelvek fül - pipa a jobbról balra író nyelvek fülre), és ez a traditional arabic-ot is felteszi. Nekem ezek mind fent vannak, de nem megy sem 2003, sem 2007, sem 2010 alatt. A Windows 7 alatt az arab nyelvi csomagot kapásból felkínálja a Windows Update ha be van állítva automatikusra. Ott is feltettem. Szóval valami gáz van itt. Keresek valamelyik mecsetben egy arab windowsos gépet, amin van arab office (ha egyáltalán van ilyen), aztán azon megpróbáljuk lefuttatni a makrót, hogy ahhoz mit szól - insha Allah :) De azért ez elég gáz a Microsoftnak.
Előzmény: Delila_1 (10852)
Delila_1 Creative Commons License 2009.12.03 0 0 10852

Ibrahiim Korán-ja.

Én még ilyet nem láttam....

 

Végre sikerült letöltenem.

Figyeltettem a makródnál a For Each c.Value értékét. Egy nagy halom ?-nek értelmezi a cellák tartalmát, mindegyikét. Átváltottam Arial készletre, ugyanaz. Az a gyanúm, hogy képként értelmezi Traditional Arabic betűkészletet, és azért nem jut 5-ről 6-ra.

Talán telepíteni kellene hozzá ezt a font készletet.

Előzmény: Törölt nick (10768)
Delila_1 Creative Commons License 2009.12.03 0 0 10851
Nem vettem észre ezt a hozzászólásodat. Az értékadásnál természetesen ezeket a cellákat vidd be.
Előzmény: avionique (10848)
Delila_1 Creative Commons License 2009.12.03 0 0 10850

Most sem tudom letölteni, nyilván velem van gond, mert másoknak megy.

Arab karakterek vannak a szövegben? Ha igen, az egészet át kellene váltani egy itt használatos fontra, és úgy futtani, utána vissza lehetne állítani az eredetit.

Ez is egy próbálkozás.

Előzmény: Ibrahiim (10844)
Delila_1 Creative Commons License 2009.12.03 0 0 10849

Az Összesítő szerintem is legyen xls.

Az egyes számlák makrójának a címe auto_close legyen, mert az a füzet bezárásakor automatikusan lefut.

 

Megadsz 3 értéket -

összeg=cells(6,1): kelt=cells(6,3):név=cells(6,2)

átváltasz az Összesítő füzetre - workbooks("Összesítő.xls").activate

ott is a megfelelő lapra - sheets("megfelelő lap").select

kikeresed a sort, ahova a következő adatok jönnek - usor=activesheet.usedrange.rows.count+1

és beírod az adatokat - cells(usor,1)="FR. " & összeg

cells(usor,2)=kelt

Cells(usor,3)=név

 

mented és zárod az Összesítőt - activeworkbook.save, activewindow.close

 

Lehet szépíteni azzal hogy lekérdezed, nyitva van-e az Összesítő.

 

Előzmény: avionique (10845)
avionique Creative Commons License 2009.12.03 0 0 10848

Ha nem PDF nam gond.

A cellák:

Számlaösszeg: A26

Dátum: C26

Vevő neve: E26

ebben a sorrendben.

Előzmény: SQLkerdes (10846)
SQLkerdes Creative Commons License 2009.12.03 0 0 10847
Ibrahim, rá fogok nézni, de most egy kicsit el vagyok havazódva.

Feltétlen említsd majd meg, hogy mire mentél az Office2010-zel!
Előzmény: Ibrahiim (10844)
SQLkerdes Creative Commons License 2009.12.03 0 0 10846
PDF nem jó kiindulási alapnak, én nem tudok olyan eljárásról amivel egy pdf file meghatározott területének tartalmát ki lehetne olvasni.

Más szóval a számla excel változatára lesz szükség.

Kellene még tudni, hogy milyen cellában vannak a milyen adatok amit ki akarsz menteni (vevő neve, végösszeg, etc.).

Továbbá milyen sorrendeben legyenek ezek az adatok a kigyűjtésben?
Előzmény: avionique (10845)
avionique Creative Commons License 2009.12.03 0 0 10845

Az összes szla PDF fajlban lesz elmentve a SZÁMLÁK könyvtárba. A fájlok neve a számlaszámból (egyedi és a vevő nevéből áll össze: 2009.12.03 Balogh Béla

 

 

Előzmény: SQLkerdes (10843)
Ibrahiim Creative Commons License 2009.12.03 0 0 10844
Az A1 kifejezés (a leghosszabb) a következő bekezdésekben fordul elő:

4:43; 5:6

Az A2 cellában lévő kifejezés a következő bekezdésekben fordul elő:

11:110; 41:45


Az A3 cellában lévő kifejezés a következő bekezdésekben fordul elő:

2:27; 13:25
Előzmény: SQLkerdes (10842)
SQLkerdes Creative Commons License 2009.12.03 0 0 10843
Igazad van, de akkor már nem cellára kellene kattintani hanem gombra (makro gombhoz rendelés nem egy nagy probléma...).

Az egyéb feltételek rendben vannak (naming conventions, file-ok lokációja, stb.)?
Előzmény: avionique (10840)
SQLkerdes Creative Commons License 2009.12.03 0 0 10842
A rutin kb két óra alatt lefut, szal egy hosszabb ebédszünet, vagy egy éjszaka elég lenne egy arab gépen. Nem tudom ez mennyire reális. Meg azt sem tudom, hogy ott megszüntetjük-e a problémát.

Keress nekem lécci egy olyan sort az első 10-ből, amihez a kód nem találta meg a párjait a Koránból és add meg a sor számát illetve az X:Y hivatkozását annak amit meg kellett volna találni a kódnak.
Előzmény: Ibrahiim (10841)
Ibrahiim Creative Commons License 2009.12.03 0 0 10841
Kedves SQLkerdes,

Én most letöltöttem az Office 2010-et, van még egy gépem, amire azt fel tudom tenni, kipróbálom majd azzal mi van. Nekem az a gyanúm, hogy a keresési rutin csak meghatározottnál rövidebb szövegeken tud keresni. Az a gyanús, hogy ha átváltom a cellák formátumát szövegessé, akkor a hosszabb szövegek cellájának kijelzése elszáll (a karaktereket kettős keresztekkel jeleníti meg), míg a cellába kattintva az eredeti szöveg látható. De ha meg az egész oszlopot kimásolom, és beillesztem egy noteszlapba, akkor meg megint a négyzetek jönnek be. Lehet, hogy ki kéne próbálni az egészet openoffice alatt, de oda meg tök más makrók kellenek.
A levagdosás nem megoldás. Ha kimásolod az A1 cella tartalmának felét, azt sem találja meg, nekem úgy tűnik nem a keresett kifejezés hosszával, hanem a keresendő cellában lévő karakterek hosszával van a gond. Még azzal lehet majd futni egy kört, hogy keresünk egy arab windowsos, arab office-os gépet, és azon futtatjuk az egészet. A mecsetekben elvben lehet találni ilyet, de melyiket kapjuk meg egy napra, hogy lefusson a rutin? :)
Az a gond, hogy én meg nem tudok arab windowst és excelt telepíteni, mert azért ilyen mélységben nem ismerem a rendszert. És lehet, hogy ott sem működne a dolog.

A fájl itt található:
http://iszlam.com/tmp/ismetlodo-kifejezesek-szoveg.zip

Köszönettel
Előzmény: SQLkerdes (10836)
avionique Creative Commons License 2009.12.03 0 0 10840

A cellára való kattintásról jut eszembe (fotó előhívása - Delila_1), hogy talán úgy is meg lehetne oldani, hogy ne a mentés legyen az "event", hanem egy bizonyos, kijelölt cellára való kattintás.

 

Avionique

Előzmény: SQLkerdes (10838)
avionique Creative Commons License 2009.12.03 0 0 10839

Kedves SQLkerdes,

 

A számlákat PDF-ben menteném el. Lehet, hogy úgy meg lehetne oldani, hogy csak akkor gyüjtse a mentés az adatokat, ha a kiterjesztés PDF.

Persze nem kívánok lehetetlent, a nem megy a dolog, kézzel is el tudom menteni az adatokatz :), csak gondoltam milyen szuper lenne, ha nem kellene még arra is figyelni.

 

Amúgy meg abszolúte nem sürgős a dolog.

 

:) Avionique

Előzmény: SQLkerdes (10838)
SQLkerdes Creative Commons License 2009.12.03 0 0 10838
Hát nem vagyok benne biztos, hogy olyan egyszerű a dolog, mint amilyennek látszik.

Én két megoldási lehetőséget látok, az egyik nem teljesen az amit te mondasz (de abban tudok segíteni), míg a másik az amit te írsz (viszont olyan makrókban nekem nincs tapasztalatom - Delilának viszont van).

1.) Amit én tudok
Az egyes számlák (egy számla= 1 excel workbook) lezárása után mondjuk hetente v. naponta futtatsz egy makrót ami egy workbookba kigyűjti a számlák adatait. Van néhány feltétel: A számla/file-oknak egy helyen kell legyenek, kell lenni valami elnevezési konvenciónak (pld a számlafile neve a számla száma), hogy a makró el tudja dönteni, hogy az adott számla/file szerepel-e már az összesítésben.

2.) Amit én nem tudom (lehet nem is lehet ilyet csinálni)
A Save eventhez még hozzá kell rendelni azt a rutint ami a számla/file kívánt adatait átmásolja az összesítő fileba. Nem tudom, hogy ez egyáltalán lehetséges-e. További probléma, hogy kezelni kell a közbenső mentések esetét, hogy egy számla ne annyiszor jelenjen meg az összesítő file-ban, ahányszor mentették (ide értve pld az automatikus mentéseket vagy a "véletlen" mentéseket is). Ilyen eseményekhez rendelt makrót én még sose írtam, így nem is ismerem a lehetőségeket és korlátokat, de Delilát már láttam csinálni néhány impresszív dolgot, pld képek felnyitását cellára kattintással.
Előzmény: avionique (10835)
SQLkerdes Creative Commons License 2009.12.03 0 0 10837
A file még ott van, most megkerestem a linket és valami elkezdett lejönni...

Én úgy csináltam, hogy egy üres böngészőablakba bemásoltam a linket úgy ahogy Ibrahim rögzítette (http, www meg // nélkül) és rányomtam egy sima entert.
SQLkerdes Creative Commons License 2009.12.03 0 0 10836
Az a baj, hogy nem tudjuk mi a baj. A tény, hogy sem az InStr, se a Find nem találja meg a karakterláncokat a Korán szövegben azt mutatja, hogy valami fundamentális problémával állunk szemben, nagyon valószínűleg a szöveg karaktereivel vagy azok tárolásával kapcsolatban.

Lehet érdemes lenne levágni balról meg jobbról 2-3 karaktert, hogy az aposztrófoshoz hasonló problémákat elkerülhessük (bár nem tudom egy ilyen levagdosás mennyi hamis találatot eredmézne... Ibrahim? Eredményezne?)

Ibrahim, tedd még meg, hogy megmondod nekem, hogy pld az első kifejezés (a 4100-ból) milyen találatokat kellene adjon (X:Y stílusban). így tudnék játszani az adott példával és lehet látnék valamit, amit most még nem vettünk észre.

Ibrahim, megnéznéd, hogy a file még mindíg ott van-e ahova a link mutat, hogy Delila is le tudja tölteni (több szem többet lát)...
Előzmény: Delila_1 (10834)
avionique Creative Commons License 2009.12.03 0 0 10835

Szia mindenkinek :)

 

Most, hogy megoldottuk a függvény-problémát, újabb kérdésem lenne. (mint említém, nem vok PC-guru).

A számlázó programomból szeretném a végösszeget, a dátumot és a vevő nevét egy táblába gyűjteni, úgy, hogy azok folyamatosan egymás alá kerüljenek, mintegy összesítő. Úgy képzeltem, hogy amikor elmentem az új számlát, automatikusan beíródnak az adatok ebbe a táblába. Lehetséges ez? Vagy csak álmodik a nyomor?

Melléklelek két képet is az elképzelésemről.

 

Üdv: Avionique

Az elgondolás
Delila_1 Creative Commons License 2009.12.03 0 0 10834

Szivi. :)

 

Továbbra sem tudom Ibrahiim fájlját letölteni. Mit gondolsz, egy TRIM nem segítene a dolgon? Ez persze csak sötétben tapogatózás.

Előzmény: SQLkerdes (10832)
Ibrahiim Creative Commons License 2009.12.03 0 0 10833
Kedves SQLkerdes,

A makród lefut, csak át kellett neveznem a munkalapokat, mert nekem magyar excelem van. Lefut, de nem talál meg minden kifejezést. Nem tudom, hogy neked hogy volt, de nekem az első tíz kifejezésből csak egynél találta meg (az a3 cellánál) két helyen, a többit egyáltalán nem. És hasonló a helyzet Jimmy the Hand makrójával is. Az is lefut, és az első tízből csak a harmadikat találja meg két helyen. Pedig biztos, hogy minden leszűrt kifejezés benne van az eredeti szövegben.
A gond azonban valahol mélyebben gyökeredzik. Ha például a leszűrt kifejezések leghosszabbját nézem (a1 cella), azt a keresés nem találja meg az eredeti szövegben, ha excelben végzem a keresést. Akkor sem, ha leszedem az aposztrófot. Ha az eredeti szöveget átmásolom egy wordbe, akkor ott már megtalálja a keresés.
Nem tudom, hogy ez valamelyik karakter miatt van, vagy a szövegek hossza miatt. A teljes keresést nem végeztem el, és nyilván az is nagy segítség, amit ezek a makrók megtalálnak. De azért az igazi egy olyan makró lenne, amely mindegyik kifejezést megtalál.

Köszönettel
Előzmény: SQLkerdes (10785)
SQLkerdes Creative Commons License 2009.12.02 0 0 10832
Már le is szedtem, nagyon jó!

Köszi!
Előzmény: Delila_1 (10831)
Delila_1 Creative Commons License 2009.12.02 0 0 10831

A nyelvi problémák megszüntetése érdekében feltettem egy fájlt ide.

http://data.hu/get/1936497/Functions_onlinehelp.xls.html

 

Előzmény: SQLkerdes (10829)
wawabagus Creative Commons License 2009.12.02 0 0 10830

:-))))))))))))

Szia!

Nagyon köszönöm, ki fogom próbálni!!!!!!!!!!!!!!!

Nagyon rendes vagy, hogy segítesz!!!!!!

 

Előzmény: Törölt nick (10799)
SQLkerdes Creative Commons License 2009.12.02 0 0 10829
Ugyan, itt mindenki non-profit alapon járatja a száját/billentyűzetét...

A vaniliát egyétek/igyátok/füstöljétek el az egészségemre, túl sok érdemit úgy sem segítettem :-)
Előzmény: avionique (10828)
avionique Creative Commons License 2009.12.02 0 0 10828

JÓ HÍREM VAN !

 

Futtatam a telepítő CD-ről a javítás programot, és láss csodát, működök a képlet!

 

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

 

Ha adnál egy címet, szívesen küldenék neked vaníliát hálám jeléül.

 

Szép napot továbbra is mindenkinek!

 

Üdv: Avionique

Előzmény: avionique (10826)
SQLkerdes Creative Commons License 2009.12.02 0 0 10827
Egy lentebbi posztban van egy link ahova egy excel file-t töltött fel a hozzászóló és így le tudtam szedni a file-t.

Próbáld meg oda (vagy a saját lapodra) feltölteni a file-t és rakd be ide a linket, letöltöm és megnézem hogy mi a manó...
Előzmény: avionique (10826)
avionique Creative Commons License 2009.12.02 0 0 10826

Azzal, hogy nem műxik azt akartam mondani, hogy ide sem tudok VBA-t nyitni és makrót beilleszteni.
Csináltam egy teljesen új fájlt próbaképpen.

Ebben sem a Te, sem az én függvényem nem ad eredményt.

Előzmény: SQLkerdes (10825)
SQLkerdes Creative Commons License 2009.12.02 0 0 10825
A nem műxik egy kicsit általános megjegyzés.
Mi nem műxik, a képlet, a cellák változtathatósága vagy a makrók beilleszthetősége (Insert/Module)?
Mert a macro enabled-re állítás csak a makrók beilleszthetőségét érinti.
Előzmény: avionique (10816)
Delila_1 Creative Commons License 2009.12.02 0 0 10824

2003-as verzió, magyarban Adatok/Szövegből oszlopok a megoldás.

Nincs szükség szöveg függvényekre.

Előzmény: SQLkerdes (10822)
SQLkerdes Creative Commons License 2009.12.02 0 0 10823
Nézd már, a fórummotor kiszedte a 12 db szóközt és csak egyet hagyott meg.

VIGYÁZZ 12 darab szóköz kell mindkét képletbe!
Előzmény: SQLkerdes (10822)
SQLkerdes Creative Commons License 2009.12.02 0 0 10822
Alternativaként, 2003-as xlhez:
A B3 cella tartalma ez legyen:
=LEFT(A3,FIND(" ",A3))

A C3 cella tartalma meg ez:
=RIGHT(A3,LEN(A3)-FIND(" ",A3)-11)

Megjegyzés: a képletekben az idézőjelek között 12 db szóköz van.

Ha magyar nyelvű exceled van, akkor lehet, hogy a képletekben vessző helyett pontosvesszőt kell használni.
Előzmény: SQLkerdes (10821)
SQLkerdes Creative Commons License 2009.12.02 0 0 10821
Ha 2007-es exceled van, akkor a Data tab-on van egy Text to Column ikon.
Ez pontosan azt csinálja amire neked szükséged van.

Hogy az életed egyszerűbb legyen, egy Replace-szel lecserélnék minden 12db szóközt egy darab pontosvesszőre és utána csinálnám a Text To Column dolgot.

Irj ha nem 2007-es xl-ed van, arra is ki lehet találni valamit.
Előzmény: Finnugor Hal (10820)
Finnugor Hal Creative Commons License 2009.12.01 0 0 10820
Kedves olvasók!

Egy (remélem) nem túl bonyolult excel problémával fordulok hozzátok, ami már egy napja keseríti meg az életem, de ti hátha meg tudjátok oldani.

Hogy jobban lehessen érteni, mire gondolok, feltöltöttem ide a fájlt:

http://www.sendspace.com/file/i01c8n

Szóval ebben a táblázatban látható három oszlop, az elsőben
Vezetknév Keresztnév email@email.hu

A kerezstnév és az e mail cím között elvileg minden sroban pontosan 12 szóköz van, ha ez közelebb visz a megoldáshoz.

Azt kéne valahogy megoldani, hogy az első oszlopból átkerüljenek az adatok értelemszerűen a második és a harmadik oszlopba, de szóközök nélkül.

Természetesen nem három darab e-mail címről van szó, csak azt a példafájlban nem akartam közkinccsé tenni. :)

köszönöm a válaszokat előre is
Törölt nick Creative Commons License 2009.12.01 0 0 10819
Pedig dupla backslasht írtam... Szóval a fájlok:

Program Files-Code VBA mappa
Windows-System32-richtx32.ocx
Windows-System32-tabctl32.ocx
Windows-System32-tlbinf32.ocx

- jel helyett fordított per jel értendő.
Előzmény: Törölt nick (10818)
Törölt nick Creative Commons License 2009.12.01 0 0 10818
Nézzük meg, hogy jól sikerült-e leszedni. A CodeVBA telepítője ezeket a fájlokat pakolja fel a lemezre:
- Program FilesCode VBA mappa
- WindowsSystem32richtx32.ocx
- WindowsSystem32tabctl32.ocx
- WindowsSystem32tlbinf32.ocx

Ellenőrizd, hogy megvannak-e. Ha igen, töröld ki őket.

A telepítő által a registry-ben elvégzett módosítások ezen a linken letölthetők. Ha van türelmed, állj neki ellenőrizni és kipucolni a hátramaradt dolgokat. Esetleg ajánlott egy biztonsági mentés a registry-ről.
Amúgy a CodeVBA uninstallere elég rendesen leszedi amit felpakol, szóval nem tudom, találsz-e valamit... De ha hibás volt a telepítés, vagy a leszedés, akkor ez az infó segíthet.

Előzmény: Digger57 (10804)
avionique Creative Commons License 2009.12.01 0 0 10817

köszönm eddig is....  jó éjszakát!

 

Avionique

Előzmény: avionique (10816)
avionique Creative Commons License 2009.12.01 0 0 10816
A makro enabled fájl sem műxik :(
Előzmény: SQLkerdes (10815)
SQLkerdes Creative Commons License 2009.12.01 0 0 10815
Vissza az egész!
Ez egy xl2007-es file.

Csináld azt, hogy lemented (Save As) Macro Enabled workbookként és akkor már engedni fogja, hogy beillesz egy module-t.
Előzmény: SQLkerdes (10814)
SQLkerdes Creative Commons License 2009.12.01 0 0 10814
Itt lehet nem csak a worksheet van levédve, de a workbook egésze is, és a makrók beillesztése is tiltva van.

Folytassuk holnap, addig lehet valaki más is rá tud nézni a függvény-problémára, bár én arra gyanakszom, hogy itt nem a függvénnyel lesz a gond, hanem a tábla tartalma okoz valami galibát...
Előzmény: avionique (10811)
SQLkerdes Creative Commons License 2009.12.01 0 0 10813
A Match függvény akkor ad vissza ilyen hibaüzenetet ha pld nem találja meg a keresett értéket abban a vektorban, ami meg lett neki adva.

Nézd meg, hogy amikor megadod a cikkszámot, akkor az mindenben azonos-e a H23:H158 tartományban lévő adattal.

A legegyszerűbb, ha a H23 cellában lévő cikkszámot értékként beilleszted (Paste Value) az A30-ba. Akkor is hibaüzenetet ad?
Előzmény: avionique (10810)
SQLkerdes Creative Commons License 2009.12.01 0 0 10812
A VBA-ban nem jönnek fel a menük? Na, ilyet se láttam még, várom a képet!
Előzmény: avionique (10810)
avionique Creative Commons License 2009.12.01 0 0 10811

Az első kép azt mutatja, hogy nincs lehetőség a makró futtatására.

 

nincs menü

 

Eszembe jutott, hogy megnézzem az oldal kódját. Ez jön fel.

 

Fordítom: a kis ablakban baloldalt a jelentés maga: rendszerhiba &H800.....

 

A "Hilfe" - segítség ablakban :

Visual Basik egy hibát talált, amit a renszer, vagy egy külső komponens okoz.

 

System hiba

 

Ennyi...   folytathatjuk holnap? Nem unod még?

Nagyon kedves és segítőkész vagy!

 

 

Előzmény: SQLkerdes (10809)
avionique Creative Commons License 2009.12.01 0 0 10810

Sajnos a makrót nem tudom beilleszteni, mert a VBA-ban nem jönnek fel a menük.

Különös, nem?

 

Küldöm a képet a függvényeddel

 

kép a VBA-ról jön pár perc múlva

 

Előzmény: SQLkerdes (10809)
SQLkerdes Creative Commons License 2009.12.01 0 0 10809
Szúrj be egy képet a rossz képletű worksheetedről, úgy, hogy az általam javasolt képlet van a szerkesztőlécben.
Előzmény: avionique (10806)
SQLkerdes Creative Commons License 2009.12.01 0 0 10808
Makrót úgy tudsz futtatni, hogy:

- belépsz abba a workbook-ba amiben a levédett sheet van, minden más workbookot zárj be,
- a levédett sheetet választod aktív sheetnek,
- Alt+F11, erre felnyílik a VBA editor,
- a VBA editorban menj az Insert menübe és válaszd a 'Module'-t
- Ennek hatására megnyílik egy üres fehér lap a VBA editorban,
- ebbe a fehér lapba másold át a lenti kódot, sub-bal kezdődően és end sub-bal végződően,
- kattints bele a bemásolt szövegbe bárhova, csak a kurzor a sub és end sub között legyen,
- nyomj F5-öt és már fut is a makró.
SQLkerdes Creative Commons License 2009.12.01 0 0 10807
A rosszhír, hogy mivel cikkszámokat be tudsz vinni a "levédett" worksheet-re, csak a képletet tartalmazó cellákat nem tudod szerkeszteni, csekély a valószínűsége, hogy ez a véletlen műve.

Probálkozz meg a lenti makro futtatásával:
Az a sheet legyen aktív ami le van védve.

Ez a kód egy xl2007-es, password-del védett lapot kevesebb mint 30 másodperc alatt tört meg, kis szerencsével neked is műxik majd.

sub Passwordremove ()

Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126


ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next


end sub
Előzmény: avionique (10806)
avionique Creative Commons License 2009.12.01 0 0 10806

Bocs, elfelejtettem mondani, de nem működött. Ezért is kezdtem úgy, hogy kezdem unni....

Valami tényleg nem stimmel.

Az oldal feloldására nem tudnál valami trükköt?

 

 

Előzmény: SQLkerdes (10805)
SQLkerdes Creative Commons License 2009.12.01 0 0 10805
Figyusz,

Nem tudok segíteni ha te nem segítesz nekem.
Kipróbáltad azt a függvényt amit lejjebb ajánlottam? Mit csinált?
Előzmény: avionique (10802)
Digger57 Creative Commons License 2009.12.01 0 0 10804
Sziasztok!

A minap ki szerettem volna próbálni a codevba nevű utility-t.
Bár ne tettem volna!
Azóta, ha olyan táblát nyitok meg, amiben makrók vannak, kiakad az Excel, és levelezni akar a Billy gyerekkel!
A Munka helyreállítása négyzetet ha bepipálom, akkor újraindítás után megnyitja a táblát, de a makrók eltűnnek!
Azóta eltávolítottam a utility-t, de a hiba maradt! Utána eltávolítottam, majd újra telepítettem az egész Office-t, hasonló eredménnyel!
Tudnátok segíteni?
Garffi Creative Commons License 2009.12.01 0 0 10803
Kösszép!! :) :)
Előzmény: Delila_1 (10753)
avionique Creative Commons License 2009.12.01 0 0 10802

Kezdem megunni....

Lehet, hogy maga az Excel nem okés?

 

Most itt a működő oldalról küldök képet. Itt, ha beírom a cikkszámot, rendben megjelenik a MEGNEVEZÉS - ben a szöveg, + az EGYSÉGÁR.

 

A baj, hogy itt már semmit nem tudok változtatni a cellák védettsége miatt.

 

 

üdv... Avionique

Előzmény: SQLkerdes (10801)
SQLkerdes Creative Commons License 2009.12.01 0 0 10801
Próbáld meg ezt:

=WENN(A30>0;INDEX($H$23:$K$158;VERGLEICH(A30;$H$23:$H$158;0);2);"")
SQLkerdes Creative Commons License 2009.12.01 0 0 10800
Fene a html tagokba...

Ez a képlet jó is.

Ha megnézed a VERGLEICH(A29;H78:H108;0) függvényt, akkor láthatod, hogy ott csak egy vektor (egy oszlopos tábla H78:H108, minden a H oszlopban van) van.

A te lenti képletedben viszont - 490. sz hozzászólás:
VERGLEICH(A30;$H$23:$I$158;0) egy kétoszlopos (H és I oszlop) mátrix van megadva mint az a terület ahol a cikkszám keresést ki kell vitelezni.

A Vergleich belsejét alakítsd át úgy, hogy csak egy oszlop legyen benne (ha jól látom H 23-mal kezdődően, nem látszik Hmeddig lefele).

Amint a vergleich vektort kap bemeneti adatként, működni fog.
Előzmény: SQLkerdes (10798)
Törölt nick Creative Commons License 2009.12.01 0 0 10799
Kicsit átírtam a kódot a meglévő vezérlőelemekre szabva.
Ez most másképpen keres üres cellákra, és továbblép a következőre.
Próbáld ki:

*****************************************
Option Explicit

Dim ReferenciaCell As Range

Sub HiányzóTelefonszámotKeres()
Dim Telszámok As Range

Set Telszámok = Range("A1", Range("A" & Rows.Count).End(xlUp)).Offset(, 2)
If ReferenciaCell Is Nothing Then
Set ReferenciaCell = Telszámok.Find(what:="", after:=Telszámok(Telszámok.Cells.Count))
Else
Set ReferenciaCell = Telszámok.Find(what:="", after:=ReferenciaCell)
End If
End Sub


Private Sub Userform_Activate()
Űrlapfeltölt
End Sub



Sub Űrlapfeltölt()
Dim s As Double
s = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
If s = 1 Then
MsgBox ("The base is empty")
Else
HiányzóTelefonszámotKeres
Me.txtNev = ReferenciaCell.Offset(, -2)
Me.txtCim = ReferenciaCell.Offset(, -1)
Me.txtTelefon = ReferenciaCell
End If
End Sub


Sub cmbBeir_Click()
ReferenciaCell = Me.txtTelefon
HiányzóTelefonszámotKeres
End Sub


Private Sub cmbNext_Click()
HiányzóTelefonszámotKeres
Me.txtNev = ReferenciaCell.Offset(, -2)
Me.txtCim = ReferenciaCell.Offset(, -1)
Me.txtTelefon = ReferenciaCell
End Sub
*****************************************


Megpróbáltam előre látni a kérdéseidet. Válaszok:

A Range("A1", Range("A" & Rows.Count).End(xlUp)) kijelöli az A1-től az A oszlop utolsó teli cellájáig terjedő részt. Az .Offset(, 2) ezt eltolja két oszloppal jobbra. A végeredmény: az a cellatartomány, ahol a telefonszámoknak kell lenniük. (Akár ott vannak, akár nincsenek.)

Set ReferenciaCell = Telszámok.Find(what:="", After:=Telszámok(Telszámok.Cells.Count))
A Find metódus az After paraméterben megadott cella után kezdi a keresést. Ha a tartomány végére ér, kezdi elölről. A Telszámok(Telszámok.Cells.Count) kifejezés a Telszámok tartomány utolsó celláját adja meg. Erre azért volt szükség, mert ha üres oszlopban üres cellára keresek, akkor a második üres cellával tér vissza. Ezzel a módszerrel viszont az elsővel.

Ha visszafelé akarsz üres cellára keresni, akkor is használható a Find, mert van neki egy olyan paramétere, hogy SearchDirection. Lásd a súgót.
Előzmény: wawabagus (10769)
SQLkerdes Creative Commons License 2009.12.01 0 0 10798
Ez a képlet jó is.

Ha megnézed a VERGLEICH(A29;<b>H</b>78:<b>H108</b>;0) függvényt, akkor láthatod, hogy ott csak egy vektor (egy oszlopos tábla H78:H108, minden a H oszlopban van) van.

A te lenti képletedben viszont - 490. sz hozzászólás:
VERGLEICH(A30;$<b>H</b>$23:$<b>I</b>$158;0) egy kétoszlopos (H és I oszlop) mátrix van megadva mint az a terület ahol a cikkszám keresést ki kell vitelezni.

A Vergleich belsejét alakítsd át úgy, hogy csak egy oszlop legyen benne (ha jól látom H 23-mal kezdődően, nem látszik Hmeddig lefele).

Amint a vergleich vektort kap bemeneti adatként, működni fog.
Előzmény: avionique (10797)
avionique Creative Commons License 2009.12.01 0 0 10797

Kedves SQLkerdes,

 

ez egy számlázó lenne.

A jobboldali részben állnak a termékek (piros vonalak között)

Amikor beírom az A29 cellába az egyik termék cikkszámát, a MEGNEVEZÉS cellában meg kellene jelenjen a termék neve, ami az "I" oszlopban van beírva. (ez ugye a második oszlop a mátrixban). A termék ára is meg kellene jelenjen az "F" oszlopban - EGYSÉGÁR - név alatt.

Itt ez a képlet van:

 =WENN(A29>0;INDEX(H23:J108;VERGLEICH(A29;H78:H108;0);3);"")

 

Mint említettem, ez az egész a másik fájlban működik, de azt nem tudom editálni, mert valahogy le lett védve. Ezt az új fájlt ugyan tudom editálni, de a képlet csak #NV-t ad ki. Ezt nem értem, hogy miért???

 

Excel tábla

 

Köszönöm a fáradozásodat!!! Ja és az útbaigazítást a képek miatt! :)

Előzmény: SQLkerdes (10796)
SQLkerdes Creative Commons License 2009.12.01 0 0 10796
Látom, de nem értem :-)

Mit akarsz csinálni?

A 0,01-es értékhez (K1 cella) szeretnéd hozzárendelni a mit? A screenshot szerinti táblában mi lenne az eredmény amit látni akarsz (add meg a cella címét légyszi).

Az első meglátásom, hogy a keresés során alkalmazott mátrix (m1:p11) többször is tartalmazza a keresendő kifejezést (K1 értéke 0,01).

Továbbra is fenntartom, hogy a Match nem alkalmas arra amit csinálni akarsz (lásd lent vektor vs mátrix), csak nem tudok helyette másik függvényt ajánlani amíg nem tudom mit akarsz elérni.

Ps: egyébként a képbeszúrásnál miután lenyomtad a Feltölt-öt, az 'Új kép' szöveg mellett megjelenik két piros betűs link, azokra is rá kell kattintani (nem tom melyikre, de értelemszerű a dolog).
Előzmény: avionique (10794)
SQLkerdes Creative Commons License 2009.12.01 0 0 10795
OK, a VERGLEICH-re F1-et nyomok, tud valaki segíteni?

Mondjuk abból amit leírtál azt gondolom, hogy amit csinálni akarsz:
- megnézni az A30 értékét;
- megnézni, hogy a H23:I158 mátrix, H oszlopában hol van (pont ugyanekkora?) érték (pld a H50-ben);
- majd a H50 mellett lévő I50 cella értékét berakni a célcellába.

Ez a VLOOKUP függvény, beágyazva egy IF-be (ha jól látom, csak pozitív értékekre akarok a kapcsolódó értéket megkerestetni).

angol verzióban a beírandó függvény a következő lenne:

= if (a30>0,Vlookup(A30,H23:I158,2,FALSE),"")

A problémád alapvetően ott van, hogy a Match nem tud mit kezdeni mátrixokkal, csak vektorokkal. A H23:H158 referencia egy vektor lenne, de te a H23:I158 mátrixot próbálod megadni neki.

Más szóval, azt kérded tőle, hogy válaszolja meg egy számmal, hogy egy 2x135cella méretű mátrixban hol van az A30-as cella értéke. És ezt nem lehet egy számmal megadni, mert a mátrixod kétdimenziós (két oszlop is van benne).


Most, hogy jobban végiggondolom nem is értem mit akarsz csinálni :-)



Német_angol_excel_kepletfordito
Előzmény: avionique (10789)
avionique Creative Commons License 2009.12.01 0 0 10794

Szia SQLkerdes!

 

Sajnos a képeket nem sikerütl felraknom, így feltettem a lapomra.

 

Itt találod meg:

 

http://avionique.jimdo.com/excel/

 

Remélem segít valamit.

 

Üdv: Avionique

Előzmény: SQLkerdes (10788)
SQLkerdes Creative Commons License 2009.12.01 0 0 10793
Ó, nem vlookup, ez egy sima if függvény index-el megspékelve...
Előzmény: SQLkerdes (10792)
SQLkerdes Creative Commons License 2009.12.01 0 0 10792
A képfeltöltés valszeg azért nem megy, mert nem elég csak betallózni a file-t a Choose file gombbla, de utána még le is kell nyomni a Feltölt gombot (jobbra a kép felirata textbox mellett).

Ez a német verzió nekem annyira nem jön be, felteszem a VLOOKUP függvényről van szó, de ha németesek tudnak itt alkotó módon közbeszólni, az nagy öröm lesz!
Előzmény: avionique (10790)
tibibeee Creative Commons License 2009.12.01 0 0 10791

köszönöm szépen, hihetetlen hogy mások kínjaira időt szántok.

ezt hangal is lehet fokozni? gondolom igen. és hiperhivet hogy lehet ha fügvény igaz vagy hamisba tenni? asszem gyakran látogatom ezt a forumot. van minden napra kérdésem, ha nem vagyok túl telhetetlen.

Előzmény: Delila_1 (10784)
avionique Creative Commons License 2009.12.01 0 0 10790
A screenshotok most sem mentek át. Új vagyok itt. Valamit rosszul csinálok?
Előzmény: SQLkerdes (10788)
avionique Creative Commons License 2009.12.01 0 0 10789

Szia SQLkerdes,

 

Excel 2007-em van telepítve, Windows 7-en. Az előbbi kérdésemhez próbáltam csatolni a screenshotokat, ezek szerint nem működött a dolog. Itt megpróbálom +1x.

 

A levédés olyan, hogy nem tudom szerkeszteni az oldalt illetve a cellákat, De én Isten bizi semmit nem csináltam! Ez úgy magától jött....  vannak még csodák!

 

A képlet maga ez lenne:

 =WENN(A30>0;INDEX($H$23:$K$158;VERGLEICH(A30;$H$23:$I$158;0);2);"")

 

ahol A30-at kellene összehasonlítania a H23:I158 mátrixban lévő adatokkal és kiadnia a második oszlopban talált értéket. Remélem elég világosan fogalmazok.

 

Üdv, avionique

Előzmény: SQLkerdes (10788)
SQLkerdes Creative Commons License 2009.12.01 0 0 10788
Szia,

Excel file-t nem tudsz csatolni egy fórumhozzászóláshoz, szóval egy kicsit több infóra lesz szükségünk.

Pld. egy screenshot mindkét file-ról, a képlet pontos leírása, etc.

A levédést feloldását meg lehet oldani, milyen excel-ed van? 2003-as v. 2007-es? Milyen tipusú levédésről beszélünk? Nem tudod megnyitni a file-t vagy nem tudod szerkeszteni a cellák tartalmát?
Előzmény: avionique (10786)
Delila_1 Creative Commons License 2009.12.01 0 0 10787

Jimmy klassz makrójához két képlettel kétfelé kell szedni az A oszlop adatait azon a lapon, ahol a fejezetszámok találhatók.

 

=BAL(A2;SZÖVEG.KERES(" ";A2;1)-1)  ' ez adja a fejezetet, és az aposztrófot is leszedi,

 

egy másik oszlopba

=JOBB(A2;HOSSZ(A2)-SZÖVEG.KERES(" ";A2;1))  'ez pedig a szöveget adja.

 

A két oszlop eredményét irányítottan, értékként kell beilleszteni az A és B oszlopba.

Előzmény: SQLkerdes (10785)
avionique Creative Commons License 2009.12.01 0 0 10786

Szép napot mindenkinek itt a Fórumon!

Nagyon kérlek benneteket, segítsetek!

 

Csináltam egy táblázatot, amiben egy, a K1 cellába beírt értéket keresek.

Érthetetlen módon az eredményem "#NV" . Melleéklet:   excel hiba 1

 

Egy màsik fàjlban ez a képlet ugyan működik, de ez a fájl valami oknál fogva, akaratomon kívül le lett védve. (ezt sem értem!). Én nem védtem le, jelszó sincs, de nem tudom a táblát feloldani. Melléklet: excel hiba 2

 

Kérésem: vagy a táblát szeretném ismét hozzáférhewtővé (editálhatóvá) tenni, vagy a képletet kellene úgy összehozni, hogy rendesen működjön. Kérlek benneteket segítsetek!

E-mail címem: balogh.bela@vanilia-balogh.eu

Üdv: Avionique

SQLkerdes Creative Commons License 2009.12.01 0 0 10785
Azt nem hiszem, hogy a makro nem fut (mert nálam fut rendesen csak lassan), valami más probléma lehet ott.
Pld a karaktereket nem ismeri fel és nagyon gyorsan lefut.
Miből gondolom, hogy nem fut? Hibauzenetet ad? Ha igen, mi az a hibauzenet?
Delila ötlete jó, próbáld a másik makrót, csak előbb Delila módszerével szaggasd le az aposztrófokat a szövegek elejéről.
Előzmény: Ibrahiim (10781)
Delila_1 Creative Commons License 2009.12.01 0 0 10784

Tibibeee

 

A Munka1 lap A oszlopába neveket írtam (feltétel), melléjük a B oszlopba a hozzájuk tartozó kép útvonalát és nevét a kiterjesztéssel együtt.

A Munka2 lap A oszlopába a keresendő név kerül, mellette a B oszlop képlete:

=FKERES(A2;Munka1!A:B;2;0)

A Munka2 kódlapjára ez kerül (lapfülön jobb klikk, kód megjelenítése, a kapott üres lapra másold be):

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Kép = Cells(Target.Row, 2)
        Shell ("rundll32.exe shimgvw.dll, ImageView_Fullscreen " & Kép)
    End If
End Sub

.

A név beírása után a Windows kép és faxmegjelenítő segítségével megnyílik a kép.

Tudomásom szerint cellába nem lehet képet beilleszteni, de lehet a cellához csatolt megjegyzésbe.

 

 

Előzmény: wawabagus (10769)
Delila_1 Creative Commons License 2009.12.01 0 0 10783

Helyesbítek: az érték beillesztése nem a függvényt tartalamzó oszlopra, hanem az A-ra történjen.

A függvény: =JOBB(A2;HOSSZ(A2)-1), avagy  =RIGHT(A2;LEN(A2)-1)

Előzmény: Delila_1 (10782)
Delila_1 Creative Commons License 2009.12.01 0 0 10782
Akkor a megoldás az, hogy a második lapon a cellák elejéről le kell venni az aposztrófot (jobb és hossz függvény, esetleg érték beillesztés saját magára), és akkor Jimmy gyors makrója a megfelelő.
Előzmény: SQLkerdes (10774)
Ibrahiim Creative Commons License 2009.12.01 0 0 10781
Kedves SQLkerdes,

A komolyabb gépemen 2003 van, de végül is tökéletesen megfelel az is, ha egy cellában, egymástól elválasztva vannak a bekezdések jelölései. Sőt, még lehet hogy jobb is. Viszont én most kicsit elakadtam, mert az a makró, amit itt utoljára megadtál (sub koran) az nálam egyáltalán nem fut. Akkor mit is kéne futtatnom?

Köszönettel
Előzmény: SQLkerdes (10779)
tibibeee Creative Commons License 2009.11.30 0 0 10780

sziasztok, ez az első forumozásom.

egy barátom mondta hogy tudtok segíteni.

a fügvényeket kenem vágom de most egy olyat szeretnék elérni

hogy az f keres eredménye egy kép legyen. lehet cellába képet rakni? és megkapnám eredménynek valamilyen feltétellel?

a vbt nem nagyon vágom de valahol el kéne már kezdeni ha az a megoldás.

köszi

SQLkerdes Creative Commons License 2009.11.30 0 0 10779
korán = Korán (elnézést)
Előzmény: SQLkerdes (10778)
SQLkerdes Creative Commons License 2009.11.30 0 0 10778
Ibrahim, van egy rossz hirem.

A kod fut (nem ez a rossz hír), de meglehetősen lassan...
90 sorral (a 4100-ból) végzett 137 másodperc alatt. Innen viszonylag gyorsan lehet extrapolálni, hogy a 4100 sor mennyi ideig fog tartani...
És mindezt egy erős, 4 magos gépen (viszont screenupdate True-val futtattam, hogy lássam hol tart...).

Szóval javaslom, hogy este indítsd el a kódot lefekvés előtt és csak reggel nézz rá.

Nem tudom miért ilyen lassú, lehet a karakterkészlet speciális jellege sem segít neki, de gondolom viszonylag limitált, hogy a korán milyen karakterkészletekben elérhető :-) , szóval légy türelmes.

Üdv,
SQLkerdes Creative Commons License 2009.11.30 0 0 10777
A kód most vesszőkkel választja el az egyes referenciákat.
Ha 2007-es excel-ed van, akkor a Data tab-on találsz egy Text to Column ikont.
Jelöld ki a B oszlopot miután a kód lefutott és kattints a Text To Column -ra. Itt add meg, hogy a text amit oszlopokra akarsz szétszedni vesszőkkel van szeparálva és az Excel szétszedi neked oszlopokra.

Ha excel2003-ad van, akkor vagy van valakinek egy ötlete a megoldásra vagy írunk egy rövid kódot ami megcsinálja ugyanezt.

Ps: ha megteszed, hogy megírod mennyi idő alatt futott le a kód, azt megköszönöm!
Ps2: a kódban benne maradt egy BEEP utasítás, ami azt csinálja, hogy amikor talál egy cellát aminek a tartalma szerepel a Korán szövegben, akkor csippant egyet a számítógéped. (Én azért szoktam ilyet beilleszteni, hogy lássam/halljam, hogy a kód lefagyott v. csak nagyon sokáig fut. Ha idegesít a csipogás, Ctrl+Break-kel szakítsd meg a futást és kézzel töröld ki a BEEP sort.
SQLkerdes Creative Commons License 2009.11.30 0 0 10776
Ibrahim, milyen excel-ed van? 2003-as v. 2007-es?
Előzmény: Ibrahiim (10775)
Ibrahiim Creative Commons License 2009.11.30 0 0 10775
Szervusz kedves SQLkerdes,

A 4000 leszűrt kifejezés mellett szeretném látni az x:y formátumú hivatkozásokat, a legjobb az lenne, ha egymás melletti cellákban lennének. Amúgy a legtöbbet ismétlődő kifejezés legfeljebb 114-szer fordul elő, amennyire emléxem.

Köszönettel
Előzmény: SQLkerdes (10774)
SQLkerdes Creative Commons License 2009.11.30 0 0 10774
Azt remélem, hogy ez a kód működni fog:

Sub koran()
Dim x As Long
Dim y As Long
Dim t

t = Timer

Application.ScreenUpdating = False
ActiveWorkbook.EnableAutoRecover = False

For x = 1 To 4099
For y = 1 To 6236

If InStr(Sheet1.Cells(y, 2).Text, Right(Sheet2.Cells(x, 1).Text, Len(Sheet2.Cells(x, 1).Text) - 1)) <> 0 Then
Sheet2.Cells(x, 2) = Sheet2.Cells(x, 2) & ", " & Sheet1.Cells(y, 1)
Beep
End If
Next y
Next x

Application.ScreenUpdating = True
ActiveWorkbook.EnableAutoRecover = True

MsgBox Timer - t & " masodperc alatt kesz"

End Sub

Az ok amiért Delila kódja nem futott nem a kódra vezethető vissza, a második fül minden cellája aposztróffal kezdődik, viszont az első fül adataiban nincsenek aposztrófok.


Elkezdtem korlátozottan lefuttatni a fenti kódot és azt adta vissza, hogy a Kifejezések fül 3. sorában lévő kifejezés a 2:27 13:25 referenciákon szerepel.

Ez kb mutatja, hogy mit csinál a kód: a Kifejezések fül B oszlopába beírja a Korán hivatkozást amely tartalmazza az adott kifejezést.
Remélem ez volt a cél...
SQLkerdes Creative Commons License 2009.11.30 0 0 10773
Ja, a tüzes lányokba én is belefutottam...
Nem kell www a cím elé, utána már szépen lejön a file.
Előzmény: Delila_1 (10772)
Delila_1 Creative Commons License 2009.11.30 0 0 10772

Nálam is hibátlanul működött az instr, viszont én sem tudom letölteni az Ibrahim által feltett fájlt. "Szexi nők és tüzes csajok" akar bejönni. :)

A Te makród is prímán működik 2003-ban.

 

Előzmény: Törölt nick (10768)
SQLkerdes Creative Commons License 2009.11.30 0 0 10771
Á, ne is figyeljetek rám, csak reszelgetem a körmömet és hülyeségeket beszélek...
Szóval a file ott van és sikerült is letöltenem. Jól látom, hogy a Korán excel változata van itt eredeti karakterekkel?

Én kipróbáltam a Find-ot és működött (xl2007, angol változat).

Megpróbálok majd ránézni a problémára.

Amit tisztázni kéne: mit akarsz hol látni?
Nem mindegy, hogy a 4000 már leszűrt kifejezés sorai mellett szeretnéd látni a x:y formátumú referenciát, vagy mellette szeretnéd látni az eredeti Korán szöveget, vagy esetleg épp fordítva, a Korán szöveg mellett szeretnéd látni a 4000 kifejezés közül a részben egyezőt (v. részben egyezőket). Ebben az esetben a szöveget akarnád látni, vagy a sor számát ahol a kifejezés van?
SQLkerdes Creative Commons License 2009.11.30 0 0 10770
sziasztok,

Visszajöttem, csak a link amit Ibrahim megadott nem tunik mukodni.
Ibrahim, vissza tudnad tenni a zip file-t ugyanoda, akkor le tudnam tolteni es ra tudnek nezni.

Udv, SQL
wawabagus Creative Commons License 2009.11.30 0 0 10769

Szia!

Köszi a választ!

 

Hmm...értem. Nagyonis...mert ezzel a üresség vizsgálattal már tényleg nem megy továbbb, de hát logikus is az marad az első üres telefonszám...

 

Mi lenne ha valami olyasmit kavarnék, hogy nem az egész c oszlopban keresse az első üres telefonszámot, hanem a referencia pont alatti cellától lefelé csak...akkor elvileg működnie kéne a next-nek...vagy nem :-)...

 

Egyébként meg próbáltam valamit ügyeskedni az "előző" gombbal is...hogyan tudná megtalálni az utolsó üreset...

 

Loop-pal szerencsétlenkedtem...de VBA szerint értelmetlen amit csinálok...:-D

Megértem...

 

Valószínűleg boraka makrójában is benne van a megoldás...csak valahogy nehezen tudom értelmezni a sorok egy részét...

 

Meg biztosra veszem, hogy a te makród is tartalmazza a megoldást

 

Csak belőlem hiányzik a megvilágosodás :-DDD...

 

Köszi a tippeket ;-)!!

Holnap folytatom a nyomozást

 

Előzmény: Törölt nick (10767)
Törölt nick Creative Commons License 2009.11.30 0 0 10768
Ehemm...
Az a furcsa helyzet áll fenn, hogy ha kimásolom egy cella tartalmát, és aztán a SzerkesztésKeresés funkcióval rákeresek a kimásolt kifejezésre...... nem találja meg!!!

Én még ilyet nem láttam....

A megoldási javaslatomat éppen erre a keresőfunkcióra alapoztam, és ez szemmel láthatóan nem működik, úgyhogy javaslat sztornó.
Arról azonban meggyőződtem, hogy az INSTR() függvénnyel felismerhető az egyezés. Ezt viszont Delilára hagyom, nem akarok belekontárkodni a makrójába.
Előzmény: Ibrahiim (10766)
Törölt nick Creative Commons License 2009.11.30 0 0 10767
Valószínűleg tényleg betesz valamit az "üres" telefonszám helyére. Ugyanis a
Set ReferenciaCell = Range("C:C").SpecialCells(xlCellTypeBlanks).Range("A1")
kódrész mindig a legeslegelső üres cellát találja meg a C oszlopban, nem a következőt. Tehát igazából nem kéne tudnod továbblépni a cmbNext gombbal.
[...]
Elemeztem a problémát. A fenti esetben üres sztringet tesz a cellába, ami látszólag ugyanaz, de valójában nem ugyanaz, mint az üres cella. (Kb. úgy, mint ahogy a nulla különbözik a semmitől.)
A hiba közvetlen elhárítására ez a kódrész alkalmas:
Sub cmbBeir_Click()
If Me.txtTelefon <> "" Then ReferenciaCell = Me.txtTelefon
End Sub

Így viszont tényleg nem tudsz majd továbblépni a cmbNext gombbal. Ahhoz, hogy az is teljesüljön, kicsit át kell alakítani a programlogikát, mivel a keresési algoritmus mindig az első üres cellát találja meg.
Erre most sajnos nincs időm, mert mindjárt mennem kell, de később visszatérek rá. Ha nem kapsz másik megoldást addig ;-)

Előzmény: wawabagus (10764)
Ibrahiim Creative Commons License 2009.11.30 0 0 10766
A gyakorlatban azonban nem tudok felvinni egy linket.

iszlam.com/tmp/ismetlodo-kifejezesek-szoveg.zip

Szóval ebben csak néhány kifejezést és a teljes eredeti szöveget találod meg.

Köszönettel
Előzmény: Törölt nick (10763)
Ibrahiim Creative Commons License 2009.11.30 0 0 10765
Erről a címről elvben letölthető:
Előzmény: Törölt nick (10763)
wawabagus Creative Commons License 2009.11.30 0 0 10764

Szia Jimmy,

 

Már egy ideje itt kűzdök a makróddal...(nem adom fel ha addig élek is!! :-))

 

Annyira idegesítő, hogy nem bírtam rájönni miért nem működik amit beírtam...

Aztán elkezdtem az elejéről és kicsit úgy alakítgattam (konkrétan szerintem butítottam :-D a saját logikám szerint...)

 

De tök jó, mert működik...

 

Egy probléma van vele....

Ha végig megyek a sorokon és néha mondom neki hogy írja be telefonszámot, de nem is adok meg semmilyen számot...akkor a következő form indításkor...hibát ad ki.

 

Én ezt azzal magyarázom, hogy ilyenkor azt az üres telefont is "valaminek" veszi, amin csak átugrottam kitöltés nélkül...

 

Ezt nem teljesen értem...

 

Van esetleg tipped miért történik ez?

 

Olyan, mintha nem tudná azután, hogy végig mentünk az összes üres telefonon megtalálni a kimaradó üres telefonokat...

 

Nem értem...

Bemásolom amit összeraktam a te makródat használva :-)...

 

Nagyon köszi előre is a tippeket!!!

 

Option Explicit
Public ReferenciaCell As Range

 

Private Sub Userform_Activate()

Űrlapfeltölt
End Sub

 

Sub Űrlapfeltölt()
Dim s As Double
s = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
    If s = 1 Then
        MsgBox ("The base is empty")
    Else
        Set ReferenciaCell = Range("C:C").SpecialCells(xlCellTypeBlanks).Range("A1")
        Me.txtNev = ReferenciaCell.Offset(, -2)
        Me.txtCim = ReferenciaCell.Offset(, -1)
        Me.txtTelefon = ReferenciaCell
    End If
End Sub


Sub cmbBeir_Click()
ReferenciaCell = Me.txtTelefon
End Sub


Private Sub cmbNext_Click()
    If ReferenciaCell.Row = Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count Then
        MsgBox ("No more lines")
    Else
        Set ReferenciaCell = Range("C:C").SpecialCells(xlCellTypeBlanks).Range("A1")
        Me.txtNev = ReferenciaCell.Offset(, -2)
        Me.txtCim = ReferenciaCell.Offset(, -1)
        Me.txtTelefon = ReferenciaCell
End If
End Sub

Előzmény: Törölt nick (10719)
Törölt nick Creative Commons License 2009.11.30 0 0 10763
Teszteltem a makrómat 214 szövegsorral és 3000 kifejezéssel, és csont nélkül működött. Azt gondolom, nem a makróban van a hiba, hanem valami olyan speciális körülmény áll fenn, amit nem vettünk figyelembe. Ezt így távolról nagyon körülményes debug-olni. El tudod küldeni a táblázatot mail-ben?
Előzmény: Ibrahiim (10760)
kisseby Creative Commons License 2009.11.30 0 0 10762
A kétoldalas nyomtatással nincs gondom.
Leegyszerűsítem a kérdés:
Lehet-e több munkalapot egyszerre beilleszteni excelből wordbe?
Előzmény: Delila_1 (10752)
Ibrahiim Creative Commons License 2009.11.30 0 0 10761
Kedves Jimmy the Hand,

Egyszeri feladat volt számomra, de elvben a fordítástámogató szoftvert használók számára hasznos kis makró lehet.
Előzmény: Törölt nick (10758)
Ibrahiim Creative Commons License 2009.11.30 0 0 10760
Ha öt sorra szűkítem a kifejezések számát, akkor ez a makró lefut, csak éppen nem csinál semmit. :(
Előzmény: Törölt nick (10757)
Ibrahiim Creative Commons License 2009.11.30 0 0 10759
Ezzel a makróval is hasonló a helyzet. A debug szerint a sor_k=8, oszlop 2, sor_2=2

:(
Előzmény: Delila_1 (10756)
Törölt nick Creative Commons License 2009.11.30 0 0 10758
Még egy kérdés. A múltkori leválogatós probléma (lásd 420-as hsz) egyszeri feladat volt? Vagy gyakran el kell végezni?
Előzmény: Ibrahiim (10755)
Törölt nick Creative Commons License 2009.11.30 0 0 10757
Itt egy megoldási javaslat.

Sub teszt()
Dim Kif As Range, Szöveg As Range, c As Range, Hit As Range, FirstAddress As String

Set Kif = Sheets("Kifejezések").Range("A1")
Set Kif = Range(Kif, Kif.End(xlDown))

Set Szöveg = Sheets("Szöveg").Range("B:B")

For Each c In Kif.Cells
Set Hit = Szöveg.Find(What:=Trim(c.Value), LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not Hit Is Nothing Then
FirstAddress = Hit.Address
Do
Sheets("Kifejezések").Range("IV" & c.Row).End(xlToLeft).Offset(, 1) = Hit.Offset(, -1)
Set Hit = Szöveg.FindNext(Hit)
Loop While Not Hit Is Nothing And Hit.Address <> FirstAddress
End If
Next
End Sub

A helyes működés feltételei:
1) Van egy "Szöveg" nevű munkalap. Ezen vannak a szövegek, az A oszlopban a bekezdések száma, a B oszlopban a bekezdések szövege.
2) Van egy "Kifejezések" nevű munkalap, ezen vannak az A oszlopban a keresendő kifejezések, A1 cellától kezdve lefelé, üres sorok nélkül. Legalább 2 kifejezés van.
3) Minden kifejezésre igaz, hogy előfordulásának száma <= N, ahol N = (a munkalapon rendelkezésre álló oszlopok száma - 2).
Tehát pl. Excel2003 esetén bármely kifejezés maximum 254-szer fordulhat elő.

A program megkeresi a kifejezéseket a bekezdésekben. Ha megtalál egyet, a találati bekezdés számát kiírja a kifejezéstől jobbra eső következő üres cellába. Tehát ha a kifejezés x db bekezdésben előfordul, akkor x db bekezdés-számot kapsz a kifejezés mellett, a "Kifejezések" lapon.
Ha egy kifejezés többször előfordul egy bekezdésen belül, az nincs külön jelezve.
Előzmény: Ibrahiim (10755)
Delila_1 Creative Commons License 2009.11.30 0 0 10756

Visszanéztem az első válogatással kapcsolatos kérdésedre és a válaszokra. Ott azt írtad, hogy a nem mentett füzetben futott a makró. A gyorsításról és az automatikus mentés kikapcsolásáról is beszéltünk, amiről most elfeledkeztem.

Ezekkel kiegészítve:

 

Sub IbrahiimBekezdések()
    Dim sor_e, sor_k, h, oszlop As Long
    Dim szöveg As String


    Application.ScreenUpdating = False
    ActiveWorkbook.EnableAutoRecover = False
   
    Sheets("Kigyűjtött").Select
    sor_e = 2

    For sor_k = 2 To ActiveSheet.UsedRange.Rows.Count
        szöveg = Cells(sor_k, 1)
        Do While Sheets("Eredeti").Cells(sor_e, 1) <> ""
            If InStr(1, Sheets("Eredeti").Cells(sor_e, 1), szöveg) > 0 Then
                h = InStr(1, Sheets("Eredeti").Cells(sor_e, 1), " ") - 1
                oszlop = Range("IV" & sor_k).End(xlToLeft).Column + 1
                Cells(sor_k, oszlop) = Left(Sheets("Eredeti").Cells(sor_e, 1), h)
            End If
            sor_e = sor_e + 1
        Loop
        sor_e = 2
    Next
   
    Application.ScreenUpdating = True
    ActiveWorkbook.EnableAutoRecover = True
End Sub
.

A debugnál állj a makróban a sor_k és a sor_e fölé, az megmutatja, hogy hányadik sorban kell megnézned a kiértékelt (sor_k) és az eredeti (sor_e) sorokat a két lapon. Nézd meg a két adatot, valamelyiknél hiba lesz.

Még most is 52 millió adatot kell átnézni.

Előzmény: Ibrahiim (10755)
Ibrahiim Creative Commons License 2009.11.30 0 0 10755
A helyzet még bonyisabb. Mégse futott le a makró, csak volt üres sor az eredeti kifejezések között. Ha azt kitörlöm, akkor végtelen ideig fut a makró. Ha a 4000 sorból csak kb. 50 kigyűjtöttet hagyok meg, akkor lefut a makró, de runtime hibaüzenetet ad. A debug ezt a sort emeli ki:
Cells(sor_k, oszlop) = Left(Sheets("Eredeti").Cells(sor_e, 1), h)

:(
Előzmény: Delila_1 (10746)
Ibrahiim Creative Commons License 2009.11.29 0 0 10754
Kedves Delila 1,

Első kőrben nem működik a dolog. Lefut a makró, de semmilyen eredményt nem ad. :(
Előzmény: Delila_1 (10746)
Delila_1 Creative Commons License 2009.11.29 0 0 10753

A kitevő kettest ne úgy állítsd elő a formázásnál, hogy a kijelölt kettest felső indexbe teszed.

A Karkatertáblában (Start-Programok-Kellékek-Rendszereszközök-Karaktertábla) keress egy kitevő kettest, és onnan másold a celládba. Az Arial készletében is van ilyen.

Előzmény: Garffi (10751)
Delila_1 Creative Commons License 2009.11.29 0 0 10752

A Word-ben kell beállítanod a kétoldalas nyomtatást.

A táblázatokat csatolnod kell: Excelben másolsz, Word-ben Szerkesztés - Irányított beillesztés - Csatolva.

Előzmény: kisseby (10750)
Garffi Creative Commons License 2009.11.29 0 0 10751
Sziasztok


Azt szeretném megvalósítani, hogy a C2-es cellában a mm2-nél a 2-es szám felsőindexben legyen.
A C2-es cella képlete: =ÖSSZEFŰZ(A3;A2;A4;A1)
az A1-es cellában lévő mm2-nél a 2-est már felsőindexbe tettem, de a C2-es cellában nem akarja betenni.

Valakinek valami ötlet?

kisseby Creative Commons License 2009.11.29 0 0 10750
Olyanra szeretném elkészíteni az 50-60 oldalas dolgozatomat, mint egy könyv. Ennek kb harmada lenne xls. Fejléc, lábléc, oldalszám, stb. stílusát azonosra szeretném minden oldalra (táblázatokéra is).
A kétoldalas a nyomtatásra vonatkozik (talán ez annyira nem is fontos a probélma szempontjából). Persze legegyszerűbb lenne mellékletként csatolni, de azzal megszakítanám a dolgozat folytonosságát.

Remélem sikerült érthetőbben leírnom. :)

Vhogy csak meg lehet oldani, vagy tévedek?
Előzmény: tt65 (10749)
tt65 Creative Commons License 2009.11.29 0 0 10749
a feladat értelmezése is nehéz nekem. pl. hogyan lehet egy kétoldalas dolgozatnak több egymást követő oldala? mi lenne, ha valami vizuális tervet is bemutatnál, hogyan kellene kinéznie a műnek?
Előzmény: kisseby (10748)
kisseby Creative Commons License 2009.11.29 0 0 10748
Helló!

Segítséget szeretnék kérni!

Az alábbi problémám merült fel:

Excel táblázatokat szeretnék csatolni wordbe, egy kétoldalas dolgozat sok, egymást követő oldalához. Több munkalapom van, melyek egyoldalasra készültek. A táblázat formátumát - keretezést, cellaméreteket - meg akarom tartani, viszont a cella tartalomnak módosíthatónak kellene lennie. Az egyszerű copy-paste-et és objektum csatolást is próbáltam, sikertelenül. Utóbbinál külön-külön "működik" (minimálisan torzítja a táblázatot), viszont nagyon sok oldalról van szó. Nem tudom jó megoldás-e annyiszor beágyazni? (Táblázatok módosításánál, ill. frissítésnél mi történik?) Csatolható egyáltalán több munkalap egyszerre?

Tud rá valaki megoldás?

kisseby Creative Commons License 2009.11.29 0 0 10747
Helló!

Segítséget szeretnék kérni!

Az alábbi problémám merült fel:

Excel táblázatokat szeretnék csatolni wordbe, egy kétoldalas dolgozat sok, egymást követő oldalához. Több munkalapom van, melyek egyoldalasra készültek. A táblázat formátumát - keretezést, cellaméreteket - meg akarom tartani, viszont a cella tartalomnak módosíthatónak kellene lennie. Az egyszerű copy-paste-et és objektum csatolást is próbáltam, sikertelenül. Utóbbinál külön-külön "működik" (minimálisan torzítja a táblázatot), viszont nagyon sok oldalról van szó. Nem tudom jó megoldás-e annyiszor beágyazni? (Táblázatok módosításánál, ill. frissítésnél mi történik?) Csatolható egyáltalán több munkalap egyszerre?

Tud rá valaki a megoldás?

Delila_1 Creative Commons License 2009.11.29 0 0 10746

Igaz, személy szerint másnak tetted fel a kérdést, de úgy látom, nincs gép közelében.

 

Az eredeti adatokat az Eredeti nevű lapra tettem, a 4000 kigyűjtöttet pedig a Kigyűjtött-re. Ha jól értem, az eredeti szöveg kezdődik a bekezdés számával, a kigyűjtöttek pedig bekezdés nélküli szövegrészt tartalmaznak.

A bekezdéseket a Kigyűjtött lap B oszlopától kezdve jobbra írja a makró. Amennyiben a szövegrész több fejezetben is megtalálható, az első találat a B, a következő a C, stb oszlopokba kerül. Az oszlopok szöveg formátumúak legyenek.

 

Sub IbrahiimBekezdések()
    Dim sor_e, sor_k, usor, h, oszlop As Long
    Dim szöveg As String

    Sheets("Kigyűjtött").Select
    usor = ActiveSheet.UsedRange.Rows.Count
    sor_e = 2

    For sor_k = 2 To usor + 1
        szöveg = Cells(sor_k, 1)
        Do While Sheets("Eredeti").Cells(sor_e, 1) <> ""
            If InStr(1, Sheets("Eredeti").Cells(sor_e, 1), szöveg) > 0 Then
                h = InStr(1, Sheets("Eredeti").Cells(sor_e, 1), " ") - 1
                oszlop = Range("V" & sor_k).End(xlToLeft).Column + 1
                Cells(sor_k, oszlop) = Left(Sheets("Eredeti").Cells(sor_e, 1), h)
            End If
            sor_e = sor_e + 1
        Loop
        sor_e = 2
    Next
End Sub

 

Előzmény: Ibrahiim (10745)
Ibrahiim Creative Commons License 2009.11.29 0 0 10745
Kedves SQLkerdes,

Még egyszer köszönöm a korábbi segítséged. Sikeresen letisztáztam a táblázatot, ami végül 4100 ismétlődő kifejezést tartalmaz. Ez tulajdonképpen egy fordítás segítő programhoz kell, mivel a Korán fordítását végezzük magyarra. A mondatok az eredeti szövegben ismétlődő arab kifejezések.
A Koránban minden bekezdést (áját) egy szám jelöl, ami megadja a fejezet számát, és azon belül a bekezdés számát. Pl. 1:7, 2:114, 26:32, stb. Az egész szöveg egy excel táblában van, ahol az első oszlop tartalmazza jelölést, a második a szöveget bekezdésenként (6132 van), valahogy így (itt az egyszerűség kedvéért a magyart adom meg):

67:7 Amikor belévettetnek, egy [szörnyű] kiáltás hallatszik belőle, miközben forr.
67:8 Szinte szétveti a düh. Valahányszor egy csoport belévettetik, megkérdezik őket az őreik : „Vajon nem jött-e hozzátok intő?”
67:9 „Dehogynem” – mondják. – „Bizony jött hozzánk egy intő, de hazugsággal vádoltuk és azt mondtuk: ‘Allah nem küldött le semmit. Ti csupán nagy tévelygésben a
vagytok.’”
67:10 Azt mondják: „Ha hallottunk volna, vagy használtuk volna az eszünket, akkor nem tartoznánk a Szeír lakói közé.”

A nagy kérdés, hogy hogyan lehetne megkeresni a korábban leválogatott 4000 kifejezésből azt, hogy melyik bekezdésekben fordulnak elő? (van olyan kifejezés, ami akár 100-szor is előfordul a szövegben). Én az fkeres vagy vkeres függvényre gondoltam, de a helyzetet bonyolítja, hogy nem teljes szövegegyezőséget, hanem az eredeti bekezdés egy részét kell keresni. Van erre valami ötleted (ötletetek)?

Előzmény: SQLkerdes (10598)
wawabagus Creative Commons License 2009.11.27 0 0 10744

Jimmy the Hand and boraka

 

Nagyon köszönöm a visszajelzéseteket az "értelmezésemhez"...

 

Köszi még egyszer! Átnézem mégegyszer és átírom úgy ahogy mondtátok...aztán ha leragadok megint akkor jövök vissza fárasztani titeket, ha hagyjátok magatokat :-DD

 

Jó hétvégét addig is!!!

Y.

 

papamaci19 Creative Commons License 2009.11.27 0 0 10743
Elküldve!
Előzmény: Delila_1 (10742)
Delila_1 Creative Commons License 2009.11.27 0 0 10742
Küldd el a füzetedet, privátban megírom a címet.
Előzmény: papamaci19 (10741)
papamaci19 Creative Commons License 2009.11.27 0 0 10741
Csak ÁFA megy rá mert alvállalkozók. A havi összesítő legjobb lenne külön munkafüzetben. A hónapokat hogyan jobb? Külön munkafüzetben vagy egyben görgetni?
Előzmény: Delila_1 (10740)
Delila_1 Creative Commons License 2009.11.27 0 0 10740

A bruttóhoz tudni kellene, miket adnak hozzá a bérszámfejtők a nettóhoz.

Van-e túlóra?

 

Előzmény: papamaci19 (10738)
papamaci19 Creative Commons License 2009.11.27 0 0 10739
Remélem ez már jó
Előzmény: Delila_1 (10737)
papamaci19 Creative Commons License 2009.11.27 0 0 10738
Előzmény: Delila_1 (10737)
Delila_1 Creative Commons License 2009.11.27 0 0 10737
A lapnak csak az  "érdemi" a részét tedd fel. Itt, a fórumon is tehetsz fel saját gépről képet. Kitaalózód, feltöltöd, és (azt hiszem) beszúrod.
Előzmény: Delila_1 (10736)
Delila_1 Creative Commons License 2009.11.27 0 0 10736

Nem lehet kiolvasni:(

 

Előzmény: papamaci19 (10735)
papamaci19 Creative Commons License 2009.11.27 0 0 10735
http://imgfrm.index.hu/imgfrm/6/0/9/7/THM_0006786097.jpg
Előzmény: Delila_1 (10734)
Delila_1 Creative Commons License 2009.11.27 0 0 10734
Tegyél fel egy képet a címsorral.
Előzmény: papamaci19 (10733)
papamaci19 Creative Commons License 2009.11.27 0 0 10733
Az alap jó csak kicsit másra gondolok, havi bontás órabérrel npi díjat számol
Előzmény: Delila_1 (10732)
Delila_1 Creative Commons License 2009.11.27 0 0 10732
Előzmény: papamaci19 (10731)
papamaci19 Creative Commons License 2009.11.27 0 0 10731
Egy munkaidő nyilvántartó táblázatra nincs ötleted . Üzleti alapon kérdezem.
Előzmény: Delila_1 (10730)
Delila_1 Creative Commons License 2009.11.27 0 0 10730
Szívesen. :)
Előzmény: papamaci19 (10728)
papamaci19 Creative Commons License 2009.11.27 0 0 10729
Ez jó ötlet volt, tökéletes. Úgy látom van még mit tanulnom.
Előzmény: Delila_1 (10727)
papamaci19 Creative Commons License 2009.11.27 0 0 10728
Köszönöm szépen, működik az első is csak én voltam figyelmetlen.
Előzmény: Delila_1 (10726)
Delila_1 Creative Commons License 2009.11.27 0 0 10727
Az IGEN helyett könnyebb egy ü betűt beütni. Ha a G oszlopot Wingdings-re formázod (félövér+valamilyen színezés sem árt), az ü betű egy pipa jelet ad. A makróban az "IGEN"-t írd át "ü"-re.
Előzmény: papamaci19 (10724)
Delila_1 Creative Commons License 2009.11.27 0 0 10726

A lapfülön jobb klikk, Kód megjelenítése. Ezzel beléptél a Visual Basic szerkesztőbe, ott is az aktuális munkalap szerkesztőjébe. A jobb oldalon kapott üres lapra másold be ezt a makrót:

 

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sor
    If Target.Column = 7 And Target.Value = "IGEN" Then
        sor = Target.Row
        Cells(sor, 6) = Cells(sor, 5) - Cells(sor, 6)
    End If
End Sub

Előzmény: papamaci19 (10724)
Törölt nick Creative Commons License 2009.11.27 0 0 10725

Máskor pedig akármilyen szövegszerkesztőbe be akarok szúrni a szövegbe valamit, a beszúrás után nem tolja a szöveget maga előtt, hanem törli. Ezt nem részletezem, elég érdekes jelenség, szerintem aki segíteni tud úgyis vágja miről van szó, mert borzasztóan idegesítő.

Insert-billentyű lenyomásával lehet egyébként szándékosan előidézni, ezt sokan nem tudják, csak azért említem. Kikapcsolni ismételt lenyomással, de azt nem tudom, nálad miért viselkedik így.

 

Különféle programtelepítések, elállítgatások megviselhetik a Windowst, pl. akár egy videodriver magáévá tehet billentyűkombinációkat, egyes programoktól lehetetlenné válhat a @ vagy & leütése stb. Ha nem bírsz rájönni az okra, sok esetben egyszerűbb új Windowst telepíteni, közben persze nem árt figyelni, hogy minek hatására romlik el ismét.

Előzmény: Törölt nick (10633)
papamaci19 Creative Commons License 2009.11.27 0 0 10724
Szia Delila_1 Köszönöm a választ, de nem működik. Lehet én nem írtam körbe a dolgot eléggé. Megpróbálom röviden újra, most pontosabban. Tehát E oszlop (Összeg) F oszlop (Tartozás) G oszlop (Kiegyenlítve).E_F alapban egyforma összeg. A G-be beírom hogy IGEN vagyis kiegyenlítve, akkor az F oszlop cella átvált 0-ra vagyis már nem tartozás a végéből levonja. Az előbb természetesen átírtam az oszlop betűjelét, de körkörös hivatkozást mutatott. Légyszíves segíts.
Előzmény: Delila_1 (10723)
Delila_1 Creative Commons License 2009.11.27 0 0 10723

B1-be:

=HA(C1="IGEN";0;A1)

Ezt másold végig az A oszlop adatai mellett.

Előzmény: papamaci19 (10722)
papamaci19 Creative Commons License 2009.11.27 0 0 10722
Kérdésem a következő lenne. Van három oszlopom, A,B,C . A-B oszlop ugyan azt az összeget tartalmazza. Azt szeretném ha a C oszlopba beírom hogy IGEN, akkor a B oszlop adott cellája 0 összeget mutat.Kezdő excel használó vagyok, milyen képlettel lehet ezt megcsinálni.Segítsen valaki. Köszi
Törölt nick Creative Commons License 2009.11.26 0 0 10721

Szia,

Köszi, holnap bepróbálom szrtem jó is lesz.

Előzmény: Törölt nick (10717)
Törölt nick Creative Commons License 2009.11.26 0 0 10720

szia, természetesen itt kerestem már.

Köszönöm.

Előzmény: Törölt nick (10715)
Törölt nick Creative Commons License 2009.11.26 0 0 10719
"a cél hogy ugorjon a következő olyan telefonszámhoz, ami üres. Ha nem üres (de melyik cella?), akkor menjen egy sort le,d e nem teljesen értem az offsetet itt, miért (2,-4)? Eleve csak 3 cellányi adatom van...nem? De a kettőt sem értem..."

Még annyit ide, hogy akkor még a G oszlopba képzeltem a telefonszámokat, az A oszlopba a neveket. Így Offset(2, -5) kellett volna, de ráadásul elszámoltam a G és A oszlop közötti különbséget, és így lett (2, -4).
Előzmény: Törölt nick (10718)
Törölt nick Creative Commons License 2009.11.26 0 0 10718
"-ez a macro megkeresi a c oszlopban az első üres cellát...azért a1, mert relatíve az első ha jól értem :-D)"

Igen, így van.

"-ez a macro kitölti az első ürescellához képest a kettővel meg egyel visszább lévő adattal a két txt-t. ezt értem"

Ez is helyes.

"bár a Me-t még nem ismerem, de majd utánaolvasok."

A Me az egy hivatkozás arra az objektumra, aminek a kódlapjára éppen írsz. Ha Userform kódlapján vagy, akkor Me = a Userform maga. Amikor munkalap eseménykezelőjét írod, akkor Me = az adott munkalap.

"Ha nem a második sorban állunk, akkor menj vissza egy sort?"

A referencia cella mindig az adott sorban lévő telefonszám. Eredetileg azt mondtad, hogy ez a G oszlop, ezért írtam G-t. Ha a C-ben vannak, akkor nyilván C-t kell írni.
Azért neveztem referenciának, mert az ehhez viszonyított relatív cellapozíciókkal dolgozunk. A név (most a 3 oszlopos verzióddal) az A oszlopban van, ez a referenciához képest Offset(0,-2). Satöbbi.
Ha az előző rekordot akarom elérni, akkor magát a referencia cellát kell eggyel feljebb tenni. Ez az Offset(-1,0)
Ha azonban van fejléc, az feltehetően az első sort foglalja el, ezért a második sornál feljebb nem kell menni. Erre való a vizsgálat.
Ha pedig még nincs referenciacella:
If ReferenciaCell Is Nothing Then
akkor nem tudok ahhoz képest eggyel fel vagy le mozogni, ezért kell kezdőértéket megadni:
Set ReferenciaCell = Range("C2")
Ez a fejléc alatti első telefonszám.
(A múltkori posztomban ez is hibás volt, ott G1-et adtam meg G2 helyett. Látszik, hogy nem teszteltem a dolgot... )

"a cél hogy ugorjon a következő olyan telefonszámhoz, ami üres. Ha nem üres (de melyik cella?), akkor menjen egy sort le,d e nem teljesen értem az offsetet itt, miért (2,-4)? Eleve csak 3 cellányi adatom van...nem? De a kettőt sem értem..."

A következő személy az, aki a következő sorban van. Ha a következő üres telefonszámot akarod, arra a Sub HiányzóTelefonszámKeres() szubrutint szántam. A Sub KövetkezőSzemély_Click() egyszerűen csak eggyel lejjebb lép. De a lefelé lépkedésnek nincs már értelme akkor, ha rég vége az adatoknak. Ezért gondoltam megvizsgálni a nevek oszlopában lévő cellát. Amikor a referenciához képest két sorral lejjebb lévő cellát vizsgálom, akkor a következő üres sorba még le tudok lépni, azaz bővíthetem az adathalmazt. Ha az egy sorral lejjebb lévő nevet vizsgálnám, akkor csak az utolsó névre tudnék lelépkedni, annál lejjebb nem.

Remélem, érthető voltam ;)
Előzmény: wawabagus (10711)
Törölt nick Creative Commons License 2009.11.26 0 0 10717
Na jó, valszleg ez is működni fog:

CheckBoxes("Check Box 1").Value = True
Előzmény: Törölt nick (10716)
Törölt nick Creative Commons License 2009.11.26 0 0 10716
Futtasd le ezt:

Dim sh As Shape
For Each sh In Sheets("Munka1").Shapes
MsgBox sh.Name
Next

Ahol Munka1 helyett az adott munkalap nevét írd. Ez kilistázza az összes objektum nevét a munkalapodon. Valószínűleg rá fogsz ismerni a checkboxra névről.

Utána így adsz neki értéket (feltéve, hogy "Check Box 1" a neve):

Sheets("Munka1").Shapes("Check Box 1").OLEFormat.Object.Value = True
Előzmény: Törölt nick (10714)
Törölt nick Creative Commons License 2009.11.26 0 0 10715
Sajnos, a konkrét megoldást nem tudom, de nézz be ide, ha nem jó, érdemes még körülnézni itt is
Előzmény: Törölt nick (10714)
Törölt nick Creative Commons License 2009.11.26 0 0 10714

Hű, kissé el foglak benneteket kanyarintani a témától:)

Egy konkrét CheckBox-ot hogy lehet megszólítani? Makróból szeretném jelölté - avagy nem jelöltté tenni (Űrlpok eszköztárról van felrakva)

Nagyjából tudom hogy kell, viszont lövésem nincs, hogy mi a neve és alighanem ez hiányozna a sikerhez.

Törölt nick Creative Commons License 2009.11.26 0 0 10713

Szia wawabagus!

 

Dehogy baj, sőt...

 

"Működik is, de tök fura, hogy amikor feltölti magát a Formot, akkor először üreset a textboxok, pedig elvileg ha jól értem az A2-ről kéne indulnia, tehát a fejléc alatt."

 

"Amit szeretnék valahogy megérteni az az, hogy miért üres a form feltöltéskor és az hogy miért tölti be következőként a fejléccel...egyszerűen nem tudok rájönni. nekem úgy tűnik, minden jól van definiálva...."

 

Nálam ez teljesen jól működik, a "Feltölt" makró futtatásakor a Form  a "Munkalap1" 2. sorának értékeivel jelenik meg.

 

 

 

 

 

 

 

 

 

 

 

 

Szerintem, az általad leírt hiba csak akkor lehet, ha valami átállítja az "i" változó értékét, és mivel írtad, hogy használod a Private Sub UserForm_Initialize() eljárást, érdemes lenne itt körülnézni, hogy nem használsz-e ebben esetleg egy másik "i" nevű változót.

 

"A másik felmerülő dolog, hogy a form mindig az elejéről kezdi és minden soron végig megy. Ami nem lenne nagy probláma, de mivel a bázis elég nagy kb 1000 soros adatbázist kell majd feltölteniük...praktikus lenne ha csak az üres telefonszámos sorokon ugrálna...

 

Biztos itt is ahelyett hogy csak simán i+1-et ugrana, belehetne tenni egy feltételt, hogy ezt addig csinálja míg üreset nem talál..."

 

Őszintén szólva, nem egy konkrét megoldást próbáltam "összeszögelni", hanem csak egy kis Form példát. Persze, számtalan megoldás lehetséges, talán az alábbi kis módosításokkal is egy lehet a sok közül:

 

-------------------------------------------------

 

Sub Feltölt()
   
  i = ÜresKeres(2)
  If i = Range("A" & Rows.Count).End(xlUp).Row + 1 Then
    MsgBox "Nincs üres telefon szám!", vbInformation, "Adatkeresés"
    Exit Sub
  End If
 
  UserForm1.TextBox1 = Range("A" & i)
  UserForm1.TextBox2 = Range("B" & i)
  UserForm1.TextBox3 = Range("C" & i)
  UserForm1.Show
 
End Sub

-------------------------------------------------

 

Arra a Module-ra, ahol a "Feltölt" makró is van, másold be az alábbi kis funkciót:

 

-------------------------------------------------

 

Function ÜresKeres(Honnan As Integer) As Integer
Dim tmp As Integer
Dim Kilép As Boolean

tmp = Honnan
Kilép = False

  Do While tmp <= Range("A" & Rows.Count).End(xlUp).Row And Kilép = False
    If Range("C" & tmp) <> "" Then
      tmp = tmp + 1
    Else: Kilép = True
    End If
  Loop

  If tmp = Range("A" & Rows.Count).End(xlUp).Row Then
    UserForm1.CommandButton1.Enabled = False
  End If

ÜresKeres = tmp

End Function

 

----------------------------------------------------

 

Az alábbival pedig cseréld le a jelenlegit:

 

----------------------------------------------------

 

Private Sub CommandButton1_Click() ' Tovább
  If i < Range("A" & Rows.Count).End(xlUp).Row Then
    i = ÜresKeres(i + 1)
   
  If i = Range("A" & Rows.Count).End(xlUp).Row + 1 Then
    Unload UserForm1
    MsgBox "Nincs üres telefon szám!", vbInformation, "Adatkeresés"
    Exit Sub
  End If
 
    UserForm1.TextBox1 = Range("A" & i)
    UserForm1.TextBox2 = Range("B" & i)
    UserForm1.TextBox3 = Range("C" & i)
  End If
   
End Sub

 

----------------------------------------------------

 

Remélem, ez már jobban fog működni, egyben várom a Tisztelt topictársak építő jellegű kritikáit, észrevételeit, javaslatait

Előzmény: wawabagus (10712)
wawabagus Creative Commons License 2009.11.26 0 0 10712

Szia Boraka,

A te macródat is kipróbáltam.

 

Működik is, de tök fura, hogy amikor feltölti magát a Formot, akkor először üreset a textboxok, pedig elvileg ha jól értem az A2-ről kéne indulnia, tehát a fejléc alatt.

 

Nem baj, ha nálad is beírom az interpretációmat?

Előre is köszönöm türelmedet!!

 

Public i As Integer


Sub Feltölt()
i = 2
UserForm1.TextBox1 = Range("A" & i) 'név
UserForm1.TextBox2 = Range("B" & i) 'cím
UserForm1.TextBox3 = Range("C" & i) 'telefon
UserForm1.Show
End Sub

-feltölti a megjelenő formot a második sor adataival. Ezt értem :-)...de azt nem értem, hogy miért mégis üresen jelenik meg a form, aztán ha a következő gombot nyomom, akkor meg a fejléc adatait tölti be...totál nem értem miért, esetleg ezek a "-ek kavarnak be?...passz

 

Private Sub CommandButton1_Click() 'Tovább megy
    If i < Range("A" & Rows.Count).End(xlUp).Row Then
        i = i + 1
        UserForm1.TextBox1 = Range("A" & i)
        UserForm1.TextBox2 = Range("B" & i)
        UserForm1.TextBox3 = Range("C" & i)
    End If
   
    If i = Range("A" & Rows.Count).End(xlUp).Row Then
        UserForm1.CommandButton1.Enabled = False
    End If
End Sub

-ha még nem értünk az adatbázis végére, akkor az aktuális sorhoz képest egy sort menjünk le

-ha leértünk a bázis végére, akkor ne lehessen tovább menni...ez működik is szuperul

 

Private Sub CommandButton2_Click() 'Rendben
Range("C" & i) = UserForm1.TextBox3
End Sub

-ha megnyomjuk a beírt, akkor textboxba beírtakat mentse az aktuális sor c oszlopába. ez is ok.

 

Private Sub CommandButton3_Click() 'Mégsem
Unload UserForm1
End Sub

-ha mégsem, akkor kapcsolja ki a formot. ez is ok.

 

Amit szeretnék valahogy megérteni az az, hogy miért üres a form feltöltéskor és az hogy miért tölti be következőként a fejléccel...egyszerűen nem tudok rájönni. nekem úgy tűnik, minden jól van definiálva....

 

A másik felmerülő dolog, hogy a form mindig az elejéről kezdi és minden soron végig megy.

Ami nem lenne nagy probláma, de mivel a bázis elég nagy kb 1000 soros adatbázist kell majd feltölteniük...praktikus lenne ha csak az üres telefonszámos sorokon ugrálna...

 

Biztos itt is ahelyett hogy csak simán i+1-et ugrana, belehetne tenni egy feltételt, hogy ezt addig csinálja míg üreset nem talál...

Majd holnap tovább próbálkozom, hátha összehozom valahogy ez a részt...

Köszi előre is a kommentárt, hogy mit értettem félre :-))!!!

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

Y


Előzmény: Törölt nick (10709)
wawabagus Creative Commons License 2009.11.26 0 0 10711

Jimmy, 

 

kipróbáltam a macrót....bizonyos dolgokat átírtam...

de valamiért nem működik teljesen minden.

 

Segítesz nekem megérteni a pontokat amiknél kicsit elvesztem? Beírtam kékkel az "értelmezéseimet és dillemáimat"...

Nagyon köszönöm!!!

 

Tehát ahogy én értelmeztem a formodat...de persze lehet, hogy rosszul :-)

 

Ami a formon van:

3 txt (txtNev, txtCim, txtTelefon)

3 command button (Következő, előző, beír)

3 label

 

Ami a munkafüzet első lapján van:

Név, Cím, Telefon

A telefont néhol kitöltöttem, néhol nem a teszt kedvéért ugye :-D

 

A macrod kicsit átírva:

 

Option Explicit
Public ReferenciaCell As Range

 

Sub HiányzóTelefonszámKeres()
Set ReferenciaCell = Range("C:C").SpecialCells(xlCellTypeBlanks).Range("A1")
End Sub

-ez a macro megkeresi a c oszlopban az első üres cellát...azért a1, mert relatíve az első ha jól értem :-D)


Sub Űrlapfeltölt()
Me.txtNev = ReferenciaCell.Offset(, -2)
Me.txtCim = ReferenciaCell.Offset(, -1)
Me.txtTelefon = ReferenciaCell
End Sub

-ez a macro kitölti az első ürescellához képest a kettővel meg egyel visszább lévő adattal a két txt-t. ezt értem :-)

 

Sub Beír_Click()
ReferenciaCell = Me.txtTelefon
End Sub

-betölti azt a bizonyos első üres telefonos cellát a kitöltött infóval. ezt is értem...bár a Me-t még nem ismerem, de majd utánaolvasok.

 

Sub ElőzőSzemély_Click()
    If ReferenciaCell Is Nothing Then
            Set ReferenciaCell = Range("C1")
        Else
             If ReferenciaCell.Row > 2 Then Set ReferenciaCell = ReferenciaCell.Offset(-1)
    End If
End Sub

-ezt gombhoz kötöttem. Itt elvesztem kicsit...az hiszem valami nem stimmel, de nem tudok rájönni. Ha nem a második sorban állunk, akkor menj vissza egy sort?

-valami azt súgja, hogy a "C1"-nakvalami másnak kell lennie...A1?...passz :-D

...elfelejtettem, hogy eredetileg 'G1' volt de mivel csak 3 oszlopom van ezért gondoltam biztos c-nek kell lennie...de talán tévedek?

 

Sub KövetkezőSzemély_Click()
    If ReferenciaCell Is Nothing Then
            Set ReferenciaCell = Range("C1")
        Else
            If ReferenciaCell.Offset(2, -4) <> "" Then
            Set ReferenciaCell = ReferenciaCell.Offset(1)
            End If
    End If
End Sub

-ezt a részt nem nagyon értem...a cél hogy ugorjon a következő olyan telefonszámhoz, ami üres. Ha nem üres (de melyik cella?), akkor menjen egy sort le,d e nem teljesen értem az offsetet itt, miért (2,-4)? Eleve csak 3 cellányi adatom van...nem? De a kettőt sem értem...

-C1?...


Private Sub Userform_Activate()
HiányzóTelefonszámKeres
Űrlapfeltölt
End Sub

Előzmény: Törölt nick (10708)
E.Istvan Creative Commons License 2009.11.26 0 0 10710

Először is köszönöm!
Másodszor, ettől tartottam, hogy nem én követtem el a hibát. Nekem is ez volt a gyanúm, hogy valamilyen erőforrás, vagy Excelhiba lehet.
Ismét valami, amibe beletörődhetek :o)

 

Tulajdonképpen nem olyan nagy a probléma, mert ez már egy fejlesztés lett volna a felhasználó kényelmesebb és jobb tájékoztatásának érdekében. A fejlesztés előtti verzióban fordított sorrendben, mindig az első sorba íródik az új információ és a program végén nincs lehetőség a teljes folyamat megtekintésére, görgetés meg nincs is engedélyezve. A form rögtön bezáródik.

Visszagondolva lehet már akkor is azért választottam ezt a módszert mert már akkor belefutottam ebbe a hibába. De ez már régen volt. (egy-két éve)

 

Ez a hiba (ezzel a butított verzióval is) most nekem egy fél éves munkahelyi asztali gépen is (Vista, Intel Core2 Duo 2,33 GHz, 2GB RAM) és egy vadonat új saját laptopon is (Vindows 7) jelentkezik. Semmi más nem fut a szokásos alapdolgokon kívül (például vírusirtó) Alapértelmezésként nem kell fájlokat felülírni, mert mindig újak készülnek.

Amit küldtem az már egy erősen butított változat. Az eredeti programom például a munkahelyi gépen 196 db munkalapot 37 db fájlba 45 perc alatt készít el. Az adatokat egy háttéradatbázisból kell venni egy beépülő modul segítségével.

Először egy olyan változatott akartam küldeni, amiben a másolandó munkalapok már nem tartalmaztak makrót és vezérlőelemet, de ekkor nem jelentkezett a hiba, pedig magából a programból még sokkal több minden benne volt, mint abban amit elküldtem.

Én arra is gondoltam, hogy az bolondítja meg a frissítést, hogy a program a másolás során hozzányúl a másolt munkalapokon található vezérlőelemekhez és módosítja is azokat. Ezáltal az aktív form-on kívül más objektumok is képbe kerülnek. Ezt támaszthatja alá a te észrevételed is, amikor meglévő fájlokat írsz felül, hiszen akkor is feljön egy másik Excel ablak (objektum) a felülírás megerősítésére. Bár én nem állítgattam ezt a ShowModal-t.

 

Még egyszer köszi. Nem hiszem több energiát fektetek a dologba, marad az újítás előtti verzió. Abban nincs ez a hiba :)

Előzmény: Törölt nick (10708)
Törölt nick Creative Commons License 2009.11.26 0 0 10709
Nagyon szívesen, erről szól a topic! :-)
Előzmény: wawabagus (10707)
Törölt nick Creative Commons License 2009.11.26 0 0 10708
Kipróbáltam a programot Excel 2007-ben. Nekem elsőre tökéletesen működött. Némi próbálkozással úgy tudtam reprodukálni a hibajelenséget, ha:
1) a form ShowModal tulajdonságát False-ra állítottam, ÉS
2) elindítottam a Task Managert.
(Továbbá lehet, hogy az alacsony memória is közrejátszott, mert 256MB-os virtuális gépen teszteltem. De ez nem biztos, hogy számít.)

Később rájöttem, hogy Task Manager helyett az is megteszi, ha olyan fájlneveket választok, ami már van. Akkor futás közben mindig feldobja a promptot, hogy felülírja-e az előzőt, és (szerintem) emiatt nem működik jól a szövegdoboz.

De mindkét esetben kellett az, hogy a ShowModal = False legyen. Viszont a programot úgy küldted el, hogy ShowModal = True, és így nem sikerült előcsalogatnom a problémát.

Az az érzésem, hogy nem a programmal van a baj, hanem azzal, hogy mi egyéb fut még a gépeden párhuzamosan, ami az ablakkezelésbe beleszólhat.
Esetleg próbáld ki más gépeken, vagy tesztelési céllal kapcsold le egyenként a nem létfontosságú háttérben futó alkalmazásokat.

Előzmény: E.Istvan (10687)
wawabagus Creative Commons License 2009.11.26 0 0 10707

Boraka és Jimmy!!!

Köszönöm a segítséget!!! És az, hogy ennyi energiát fektettetek bele, hogy nekem segítsetek :-))!!!

 

Nagyon rendesek vagytok!!!

 

Az hiszem ma ezt a 2 féle megoldást fogom értelmezni és tesztelni...:-)

 

Nagyon köszönöm nektek még egyszer!!!

Törölt nick Creative Commons License 2009.11.26 0 0 10706
Bocs a duplázásért. És hiba is van benne. A kód ebben a formában a címeket az E oszlopból, a neveket a B oszlopból veszi.
Előzmény: Törölt nick (10705)
Törölt nick Creative Commons License 2009.11.25 0 0 10705
Az alábbi feltételezésekkel éltem:

a Formon van egy txtNév, egy txtCím és egy txtTelefon nevű TextBox
az adatokat tartalmazó munkalap az aktív munkalap
az A oszlop tartalmazza a neveket
a D oszlop a címeket
a G oszlop a telefonszámokat
az első sor fejléc

Ezt hoztam ki:
****************************************
Option Explicit

Public ReferenciaCella As Range

Sub HiányzóTelefonszámotKeres()
'megkeresi az első üres cellát a G oszlopban
Set ReferenciaCella = Range("G:G").SpecialCells(xlCellTypeBlanks).Range("A1")
End Sub

Sub KövetkezőSzemély()
'lép a következő cellára a G oszlopban, feltéve, hogy még nem ment túl a lista végén
If ReferenciaCella Is Nothing Then
Set ReferenciaCella = Range("G1")
Else
If ReferenciaCella.Offset(2, -4) <> "" Then Set ReferenciaCella = ReferenciaCella.Offset(1)
End If
End Sub

Sub ElőzőSzemély()
'lép az előző cellára a G oszlopban, feltéve, hogy még nem ment túl a lista elején
If ReferenciaCella Is Nothing Then
Set ReferenciaCella = Range("G1")
Else
If ReferenciaCella.Row > 2 Then Set ReferenciaCella = ReferenciaCella.Offset(-1)
End If
End Sub

Sub ŰrlapotFeltölt()
'A referencia cella környezetéből feltölti az űrlap szövegdobozait
Me.txtNév = ReferenciaCella.Offset(, -4)
Me.txtCím = ReferenciaCella.Offset(, -1)
Me.txtTelefon = ReferenciaCella
End Sub

Sub Beír()
'Beírja a telefonszámot az adatbázisba
'Mivel elvileg a többi adat teljes, ezért a többi TextBoxot nem írtam vissza.
ReferenciaCella = Me.txtTelefon
End Sub

Private Sub UserForm_Activate()
HiányzóTelefonszámotKeres
ŰrlapotFeltölt
End Sub
****************************************

Lehet még egy gomb, ami lefelé léptet, egy másik, ami felfelé, egy harmadik, ami rögzíti az adatot (ez utóbbit esetleg enter lenyomására automatikusan)
Lehet olyan gomb is, ami a következő üres telefonszámot keresi.
Mindegyiknek az OnClick makrójából a fenti megfelelő szubrutint kell meghívni.

Persze lehet még cizellálni, ez csak egy nyers változat.

Előzmény: wawabagus (10701)
Törölt nick Creative Commons License 2009.11.25 0 0 10704
Az alábbi feltételezésekkel éltem:

a Formon van egy txtNév, egy txtCím és egy txtTelefon nevű TextBox
az adatokat tartalmazó munkalap az aktív munkalap
az A oszlop tartalmazza a neveket
a D oszlop a címeket
a G oszlop a telefonszámokat
az első sor fejléc

Ezt hoztam ki:
****************************************
Option Explicit

Public ReferenciaCella As Range

Sub HiányzóTelefonszámotKeres()
'megkeresi az első üres cellát a G oszlopban
Set ReferenciaCella = Range("G:G").SpecialCells(xlCellTypeBlanks).Range("A1")
End Sub

Sub KövetkezőSzemély()
'lép a következő cellára a G oszlopban, feltéve, hogy még nem ment túl a lista végén
If ReferenciaCella Is Nothing Then
Set ReferenciaCella = Range("G1")
Else
If ReferenciaCella.Offset(2, -4) <> "" Then Set ReferenciaCella = ReferenciaCella.Offset(1)
End If
End Sub

Sub ElőzőSzemély()
'lép az előző cellára a G oszlopban, feltéve, hogy még nem ment túl a lista elején
If ReferenciaCella Is Nothing Then
Set ReferenciaCella = Range("G1")
Else
If ReferenciaCella.Row > 2 Then Set ReferenciaCella = ReferenciaCella.Offset(-1)
End If
End Sub

Sub ŰrlapotFeltölt()
'A referencia cella környezetéből feltölti az űrlap szövegdobozait
Me.txtNév = ReferenciaCella.Offset(, -4)
Me.txtCím = ReferenciaCella.Offset(, -1)
Me.txtTelefon = ReferenciaCella
End Sub

Sub Beír()
'Beírja a telefonszámot az adatbázisba
'Mivel elvileg a többi adat teljes, ezért a többi TextBoxot nem írtam vissza.
ReferenciaCella = Me.txtTelefon
End Sub

Private Sub UserForm_Activate()
HiányzóTelefonszámotKeres
ŰrlapotFeltölt
End Sub
****************************************

Lehet még egy gomb, ami lefelé léptet, egy másik, ami felfelé, egy harmadik, ami rögzíti az adatot (ez utóbbit esetleg enter lenyomására automatikusan)
Lehet olyan gomb is, ami a következő üres telefonszámot keresi.
Mindegyiknek az OnClick makrójából a fenti megfelelő szubrutint kell meghívni.

Persze lehet még cizellálni, ez csak egy nyers változat.

Előzmény: wawabagus (10701)
Törölt nick Creative Commons License 2009.11.25 0 0 10703
A következő lépés pedig egy új Module létrehozása legyen: Insert menü -> Module

Ide másold be az alábbi kis kódot:

--------------------------------------------

Public i As Integer

Sub Feltölt()

i = 2

UserForm1.TextBox1 = Range("A" & i) ' Név
UserForm1.TextBox2 = Range("B" & i) ' Cím
UserForm1.TextBox3 = Range("C" & i) ' Telefon
UserForm1.Show

End Sub

--------------------------------------------

Tesztelés végett egy munkafüzet "Munka1" munkalapjára az alábbi adatokat hoztam létre: "A" oszlop = Név; "B" oszlop = Cím; "C" oszlop = Telefon.

Nem maradt más hátra, mint az általad létrehozott Form-on lévő nyomógombok "Click" eseményeinek lekezelése, (a formon kattints a nyomógombokra), majd a megfelelő helyen másold be az alábbi kis kódokat:

--------------------------------------------

Private Sub CommandButton1_Click() ' Tovább
If i < Range("A" & Rows.Count).End(xlUp).Row Then
i = i + 1
UserForm1.TextBox1 = Range("A" & i)
UserForm1.TextBox2 = Range("B" & i)
UserForm1.TextBox3 = Range("C" & i)
End If

If i = Range("A" & Rows.Count).End(xlUp).Row Then
UserForm1.CommandButton1.Enabled = False
End If

End Sub

--------------------------------------------

Private Sub CommandButton2_Click() ' Rendben
Range("C" & i) = UserForm1.TextBox3
End Sub

--------------------------------------------

Private Sub CommandButton3_Click() ' Mégsem
Unload UserForm1
End Sub

--------------------------------------------

Ha ez sikerült és futtatod az új modulon található "Feltölt" makrót, remélem Nálad is az alábbi Form jelenik meg:

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

Szia!

 

Első lépésként, az adatokat tartalmazó munkafüzetbe hozz létre egy új UserForm-ot: Alt+F11 majd Insert menü -> UserForm.

 

Ezután, tegyél fel a Form-ra három "Label" (Név, Cím, Telefon), három "TextBox" és három "CommandButton" (Tovább, Rendben, Mégsem) elemet az alábbi szerint:

 

 

Előzmény: wawabagus (10701)
wawabagus Creative Commons License 2009.11.25 0 0 10701

Azt hiszem meg tudom kicsit értelmesebben is fogalmazni mit szeretnék elérni...

 

Egy sima Form a segítségével beírhatunk adatokat egy üres adatbázisba.

Ha megnyitom a formot, akkor még "szűz" :-D (bocs a kifejezésért).

 

Én olyat szeretnék csinálni, hogy ha megnyitom a formot, akkor persze jelenjenek meg a kitölthető elemek, de egyben az első olyan sor adatai is jelenjenek meg amik már benne vannak az adatbázisban....

 

Egy példán bemutatva...

 

Már van egy adatbázisom ahol emberek neve és címe telefonszáma stb szerepel...

A név és cím teljesen fel van töltve, a telefonszámot viszont a Form segítségével

lehet feltölteni.

 

Mikor megnyitom a formot jelenjen meg a formon az első olyan embernek az adata, ahol hiányos a telefonszám...mert hogy alapvetően a form segítségével csak a telefonszám írható be...

 

Szóval valami ilyemit szeretnék kreálni...de hogy érjem el, hogy mikor a form megnyílik, akkor beírodjanak az első olyan személy adata ahol hiányos a telefon...

 

tuti nem nehéz, csak még nem nagyon vagyok profi ebben a VBA témában...

 

Ti biztos tudjátok :-)))!!!

 

Köszi!!!!!

;-)

Y

 

 

wawabagus Creative Commons License 2009.11.25 0 0 10700

Sziasztok!

Még újabb kérdés merült fel.

 

Próbálkozom Form létrehozásával VBA segítségével.

Neten találtam is tök jó anyagot. Végigmentem rajta és minden klassz is.

 

Ez a form segít feltölteni egy adatbázist. Eddig minden ok.

 

Én azt szeretném, hogy egy már létező adatbázisba csak bizonyos cellákba írjon be.

 

Tehát valami olyasmit szeretnék, hogy ha a macro látja hogy a tizedik sorban hiányos a E oszlop adata, akkor jelenjenek meg bizonyos már létező adatai annak a sornak plusz azok, amiket ki kell tölteni...tehát, ha tóth pista adataiban hiányzik a "postai kód", akkor jelenjen meg minden infó pistáról plusz a kitöltendő.

 

Nem tudom mennyire érthető a problámám.

 

Úgy gondolom ez nem olyan bonyolúlt dolog, csak ép nem tudom hogyan álljak neki...

 

a Private Sub UserForm_Initialize() -ban beállítom mi legyen a default adat, mikor megjelenik a Form.

 

Én azt szeretném, hogy ilyenkor mindig az elso "hiányos sor" adata jelenjen meg...

 

Tegyük fel a hiányos oszlop csak a G...

 

Akkor valami loop félét kéne arra írni?

Hogy mikor elindítom a macrót, az előbb végignézi a g oszlopot sorról sorra és ha üres, akkor a offsetekkel kiszedi a dolgokat?

 

Húú, de nehézkes ezt leírni...

 

Azért remélem valaki sejti mire gondolok :-)...

 

 

 

E.Istvan Creative Commons License 2009.11.25 0 0 10699
Na ebből meg én tanultam, mert én az ALT+10-el próbálkoztam és nem értettem miért nem jó. Miért kell elé még az a két nulla !
Előzmény: wawabagus (10695)
Törölt nick Creative Commons License 2009.11.25 0 0 10698
Részemről nincs mit :o)
(Ott se voltam...)
Előzmény: wawabagus (10697)
wawabagus Creative Commons License 2009.11.25 0 0 10697

Köszi István is Jimmy!!!!!

 

Pont és is rábukkantam a megoldásra:-)))!!!

Köszi!!

 

Előzmény: E.Istvan (10694)
wawabagus Creative Commons License 2009.11.25 0 0 10696

igen, ilyet hasonlót is találtam:

 

=SUBSTITUTE(L14,CHAR(10),"")

Előzmény: E.Istvan (10694)
wawabagus Creative Commons License 2009.11.25 0 0 10695

Megtaláltam a megoldást és le is írom, hátha másnak is hasznos....

 

Tehát alt+enterre így lehet keresni:

 

a keres+csere ablakban...ascii kódban kell bírni a dolgot mégpedig így:

 

alt+0010

 

Úgy tűnik, mintha semmit sem írna be, de ott az info...

 

nekem az alt+enter-t és az utána lévő dolgokat kell törölnöm...

tehát

 

alt+0010+*

 

a vicces, hogy ebből semmit nem lehet látni, még a *-t sem...

 

viszont MŰKÖDIK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

tök jó!!!

 

jók ezek az ascii kódok

 

Előzmény: wawabagus (10691)
E.Istvan Creative Commons License 2009.11.25 0 0 10694

Ha meg a cellában akarod keresni képlettel:

 

=SZÖVEG.KERES(KARAKTER(10);A1)

Előzmény: wawabagus (10691)
E.Istvan Creative Commons License 2009.11.25 0 0 10693

Ha másképpen nem megy makróból tudsz:

 

Cells.Find(What:=Chr(10), After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

Előzmény: wawabagus (10691)
Törölt nick Creative Commons License 2009.11.25 0 0 10692
Megjöttek. De legközelebb csak holnap jutok olyan géphez, amin 2007-es Excel van. Majd jelentkezem.
Előzmény: E.Istvan (10690)
wawabagus Creative Commons License 2009.11.25 0 0 10691

Sziasztok!

Tudok-e és hogyan alt+enterre keresni excelben?

Köszi a tippet!!!

Y

E.Istvan Creative Commons License 2009.11.25 0 0 10690

Kedves mester :o)

Ma reggel végre sikerült elküldenem a táblákat.

Előzmény: Törölt nick (10689)
Törölt nick Creative Commons License 2009.11.24 0 0 10689
Nem tudom reprodukálni a hibát, amiről írsz. El tudod küldeni mail-ben a programod?
Előzmény: E.Istvan (10687)
tbando Creative Commons License 2009.11.24 0 0 10688
A problémád az INDEX-szel megoldható. Kétségtelenül egy kicsit babrásan.
Előzmény: Okos Tóni (10681)
E.Istvan Creative Commons License 2009.11.23 0 0 10687

Kezdek megőszülni.

Ha a teljes programomat futtatom majd CTRL+BREAK-el megállitom és Debug módba lépek, akkor még mindig hibás. Abban a pillanatban, hogy ekkor rákkantittok a userform fejlécére, vagy akár csak leteszem a VBA editor ablakot a tálcára a textbox máris a végére ugrik. Olyan mintha valahogy aktívvá kellene tenni a userform-ot (és/vagy) textbox-ot.

Hogy tudnám ezt programból megtenni? Már egy csomó parancsot kipróbáltam. A setfocus sem segített.

Előzmény: E.Istvan (10686)
E.Istvan Creative Commons License 2009.11.23 0 0 10686

Lehet nem pontosan fogalmaztam, de ez a textbox userform-on van. Ennél a textbox-nál én nem találok ilyen Vertical Alignment-et.

 

Egyébként lehet, hogy más probléma van. Már három órája tesztelgetek, meg próbálgatok. Ha a teljes programot kitörlöm és csak az a pár sort hagyom meg, ami irogat a userform-ra (mondjuk két for ciklusba ágyazva, hogy legyen késleltetésem), akkor gond nélkül működik a dolog, tehát a textboxban a kurzor mindig az utlosó beirás után jelenik meg az utolsó sorban, ezáltal a görgető sáv le van görgetve.

 

Ha a teljes program bent van, ami ugrabugrál munkafüzetek, munkalapk között meg munkafüzet mentéseket is készít akkor meg nem görgeti le. Látszólag olyan, mint ha nem frissülne. Pedig minden más szöveg és érték megjelenik a userformon és folyamatosan frissülnek.

 

már probáltam a .repaint-ot lecserélni doevents-re, de akkor is ugyan ez a jelenség.

 

Az a gyanum a munka hevében valahogy elmarad ez a frissülés.

Előzmény: SQLkerdes (10685)
SQLkerdes Creative Commons License 2009.11.23 0 0 10685
Hát nem túl elegáns megoldás, de én megpróbálnám a Vertical Alignment-et 'Bottom'-ra állítani, így mindíg a teteje "csúszik ki" a TextBox látható részéről.
Talán...
Előzmény: E.Istvan (10684)
E.Istvan Creative Commons License 2009.11.23 0 0 10684
Ez gyakorlatilag egy program futás lista illetve információ. (Mikor milyen művelet végrehajtása történik.)
Előzmény: E.Istvan (10683)
E.Istvan Creative Commons License 2009.11.23 0 0 10683

Van egy form-on egy textbox-om. A programom a form UserForm_Activate-hoz van írva, melyben ez a textbox szépen lassan töltödik fel sorokkal. A textbox jobb oldalán van egy görgetősáv engedélyezve.

A problémám az, hogy a program futása során folyamatosan a textbox elejét (első sorait mutatja. Amikor befejeződik a program futás és a form még mindig fent van akkor ugrik a végére.

El tudom az érni valahogy, hogy a feltöltés során folyamatosan a végét mutassa, hogy az utolsó beírt sort lássam?

SQLkerdes Creative Commons License 2009.11.23 0 0 10682
Két lehetőséged is van:
1.) írsz egy makrót (erre gondolt szkripnyik), ami szinte pontosan ugyanúgy néz ki mint azok az UDF-ek amiket a lentiek szerint te már probléma nélkül írsz. Az egyetlen különbség, hogy egy UDF csak egy adott cellában v. tömbben (array) használható, míg egy makró bárhol és bármikor elfutkorászik. A makrónak adhatsz meg olyan bemeneti paramétert ami megmondja, hogy hova kerüljenek a makró eredményei. Innentől már tényleg szinte semmi különbség nincs az UDF-ek meg a makrók között.

2.) Tömbfüggvény (Array function). Ugyanaz mint az UDF-ek amiket te írsz, csak nem egy cellában elhelyezhető eredményt adnak, hanem egy tömbben. Az írásuk elképesztően egyszerű (ha UDF-ek már mennek az embernek). Egyszerűen a számítások során használsz egy tömbváltozót, ami ideiglenesen tartalmazza az eredményeidet és a végén az UDF függyvény változót egyenlővé teszed a fenti ideiglenes tömbváltozóval.

Példa:

function MyArray (InputRange as range, megmégakármiamikellhet) as double

dim bármiamireszükséglehet as valamilyenadattipus
dim ideiglenesMyArray () as double 'a zárójel fontos az mondja meg a kódnak, hogy itt egy tömbváltozóról van szó
dim további_változók_dimenzionálása

redim ideiglenesMyArray (10,2) 'Itt mondjuk meg, hogy mekkora tömb lesz az eredmény, itt pld a 10x2-es range

'Ide jön a kód, ami során az ideiglenesMyarray mind a 10*2 "cellája" értéket kap, pld:
for x=1 to 10
for y=1 to 2
ideiglenesMyArray(x,y) = x*y
next y
next x

'További kód ide

'Ez itt a kódod legvége
MyArray=ideiglenesMyarray 'NEM kell zárójel, így az ideiglenesMyArray-t egy az egybe "tölti át" a MyArray-ba

end function

Szóval tényleg nagyon egyszerű.
Előzmény: Okos Tóni (10681)
Okos Tóni Creative Commons License 2009.11.22 0 0 10681
Ezt egy kicsit kifejtenéd? Rákerestem a dologra a helpben, de nem találtam.


Oylan munkalapfüggvényt kéne tudnom írni, mint pl. a TRANSPOSE (gondolom magyarul TRANSZPONÁL), hogy paramétere egy range, kimenete pedig egy eltérő formájú range, és a kimenet cellákban megjelenik az eredmény.

Ilyet miként kell?

Köszi
Előzmény: szkripnyik (10680)
szkripnyik Creative Commons License 2009.11.22 0 0 10680
Esetleg ne függvényt, hanem eljárást írjál, aminek lehet OUTPUT paramétere is...
Előzmény: Okos Tóni (10679)
Okos Tóni Creative Commons License 2009.11.22 0 0 10679
Tisztelt Fórum,

szépen magabiztosan írok makróval munkalapfüggvényt, működnek is jól, amíg visszatérési értékük egy szám, szó, vagy bármi, amit egy cellában meg lehet jeleníteni.


Most viszont olyat kéne írnom, aminek több adattal kéne visszatérnie, tehát gyanítom a megoldás a tömbfüggvény.

Kicsit elmondaná nekem valaki, h tömbfüggvényként használható függvényt hogy írunk makróval?

Köszönöm!
Delila_1 Creative Commons License 2009.11.22 0 0 10678

Írj 50-et az egyik cellába. Jelenleg sárga lesz a háttere.

Most a feltételes formázásban cseréld meg a 2. és 3. feltételed háttérszínét.

A cella elpirul. Azonos értékek megadásánál azt hajtja végre, amelyikkel először találkozik.

Előzmény: miki_ng (10677)
miki_ng Creative Commons License 2009.11.22 0 0 10677
miért, nem tól-ig méri, a kettő között?
Előzmény: Delila_1 (10675)
Delila_1 Creative Commons License 2009.11.22 0 0 10676

Hát, ez elég tekintélyes idő. :)

Lehet, hogy egy jó makróval gyorsabban meglenne az eredmény, de nem nagyon hiszem ekkora adatmennyiségnél.

Előzmény: redsw (10674)
Delila_1 Creative Commons License 2009.11.22 0 0 10675
A formázásnál a fájlodban a 75-öt és az 50-et az egyik feltételnél legkisebb-, a másiknál legnagyobb értékként adtad meg. Célszerű vagy 76-ot és 51-et adni legkisebb értékként, vagy 74-et és 49-et legnagyobbként megadni.
Előzmény: miki_ng (10673)
redsw Creative Commons License 2009.11.22 0 0 10674
Köszönöm, tökéletesen működik, a súgó alapján elbizonytalanodtam, köszönöm, hogy meggyőztél. ;)
Van, hogy 7-8 percig is molyol egy oszloppal, de amikor 48 ezer sorban 710 féle adat van, akkor megéri megvárni. ;)
Előzmény: Delila_1 (10669)
miki_ng Creative Commons License 2009.11.22 0 0 10673
köszönöm, jó lett, azt hiszem
http://www.freeweb.hu/ttgyk/docs/etrend.xls
Előzmény: Delila_1 (10672)
Delila_1 Creative Commons License 2009.11.22 0 0 10672

 

Mivel már az 80 és 100 közötti értékeket is zöld háttérrel akarod megjeleníteni, a képen látható módon add meg a feltételes formázást.

Előzmény: miki_ng (10670)
Delila_1 Creative Commons License 2009.11.22 0 0 10671
Formázd a cellákat alapban olyanra, amilyent a 100 fölöttinél akarsz mutatni. A 3 feltételes beállítás a kisebbeket átformázza, a nagyobbaknál marad az eredeti beállítás. 
Előzmény: miki_ng (10670)
miki_ng Creative Commons License 2009.11.22 0 0 10670
köszi, tényleg nem nehéz
1 bajom van, hogy csak 3 értéket lehet megadni

még egy kellene lenne egy 100+ rész is ami szintén zöld lenne
Előzmény: szkripnyik (10668)
Delila_1 Creative Commons License 2009.11.22 0 0 10669

A szövegeket is megszámolja a szorzatösszeg, feltéve, hogy a tartományban nincsenek üres cellák.

Az eredeti kérdésedben a paraméterek megszámolása nem világos előttem.

Előzmény: redsw (10664)
szkripnyik Creative Commons License 2009.11.22 0 0 10668
Formázás/Feltételes formázás (Conditional formatting)

Egyszerű használni....
Előzmény: miki_ng (10667)
miki_ng Creative Commons License 2009.11.22 0 0 10667
persze automatikusan, valami függvénnyel, vagy amivel lehet...
Előzmény: miki_ng (10666)
miki_ng Creative Commons License 2009.11.22 0 0 10666
Cella hátterét mivel lehet színezni E2003-ban?
Vannak oszlopok, és vannak benne számok
azt szeretném, ha 80 - 100-ig zöld, 50-80-ig sárga, 0-50 piros hátteret kapnának a cellák.
Törölt nick Creative Commons License 2009.11.21 0 0 10665
Biztos, hogy egy egyszerű makróval meg lehet oldani, de sajnos nem értem pontosan a feladatot. Tudnád részletezni?
Előzmény: redsw (10664)
redsw Creative Commons License 2009.11.21 0 0 10664
Nem számok, hanem szövegek vannak az oszlopokban. :-(
A számokkal megvagyok, a szövegeket nehéz megszámolni.
Előzmény: Delila_1 (10661)
E.Istvan Creative Commons License 2009.11.21 0 0 10663

Igen ezt a megoldást is megtaláltam a neten keresgélve, de ez a szemét beépülő ezt is elcseszi. 

Átírom a savedet, majd amikor lekérdezem még rendben van, de a close utasításra ugyan úgy feljön a változás mentésre figyelmeztető ablak. Majd amikor ebből az ablakból mégsem-mel kilépek és ismét lekérdezem a saved-et, akkor már valami ismét visszaírta false-ra.

Tulajdonképpen a legnagyobb problémát meg megoldottuk. A programom létrehoz jópár új táblázatot. Az eredménytől függően némelyiket menteni kell némelyiket meg nem. Nos amelyiket nem kell, azt a boraka által is leírt három sorral, már be tudom zárni a kisebbik gond már csak az maradt, hogy a legvégén a programot tartalmazó táblát is bezárjam, de úgy néz ki, hogy ez a művelet a felhasználóra marad. Még majd lehet megpróbálom azt, hogy egy valamilyen temp könyvtárba lementsem bezárás előtt. Hátha ekkor úgy marad ez a saved jellemző. Bár ez sem túl egészséges módszer, mert akkor meg ottmarad szemétként.

Az a furcsa az egészben, hogy a 2003-as Excelben nincs ez a probléma.

Azért köszönöm mindenkinek. Ritkán adom fel, de úgy néz ki most az Excel győzött :o)

Előzmény: Törölt nick (10657)
E.Istvan Creative Commons License 2009.11.21 0 0 10662

A close után sor már nem fut, mert ahogy SQLkerdes találóan megjegyezte tarkónlövöm a programot. Amikor lefutott már semmi szükség rá.

Cselezhetnék azzal is hogy a munkafüzet close eseményéhez rendelem hozzá az általad írt 3. sort, csakhogy pont az 1. sorban minden eseményt, így ezt is letiltom.

Előzmény: Törölt nick (10656)
Delila_1 Creative Commons License 2009.11.21 0 0 10661

Ez a kérdés már volt egyszer.

Egy tartományban hány féle adat van:

=SZORZATÖSSZEG((tartomány<>"")/DARABTELI(tartomány;tartomány))

 

A több oszlop szerinti rendezéshez egy új oszlopban össze kell fűznöd több oszlop értékeit, és eszerint rendezned a tartományodat.

Előzmény: redsw (10660)
redsw Creative Commons License 2009.11.21 0 0 10660
95-ös excel táblákat kell kijegyzetelnem, hogy hányféle adat van és hányféle paraméter fordul elő az adott táblában. Piszokul lassan megy és örjitö, hogy csak háromféle sorrendbe lehet rendezni a táblát, és utána végig kell bogarászni, melyik sornál változik az érték és kiirni, majd keresni a következőt.

Nagyon örülnék egy olyan megoldásnak, aminek révén készülne egy lista, hogy a táblázat adott sorában hányféle paraméter fordul elö és hányszor, már ezzel is sokkal elöbbre lennék.


SQLkerdes Creative Commons License 2009.11.20 0 0 10659
Mondjuk a ThisWorkbook használata lehet probléma, mert azt sugallja, hogy a makród a lezárandó workbookban van.
És nem tesz jót a makro futásának ha tarkólövésszerűen lecsukjuk az őt tartalmazó workbookot.
SQLkerdes Creative Commons License 2009.11.20 0 0 10658
Ez zseniális...

Sose jutott volna eszembe megnézni, hogy ezt a property-t át lehet-e írni, egyszerűen feltételeztem, hogy ez csak egy read property.

Riszpekt
Előzmény: Törölt nick (10657)
Törölt nick Creative Commons License 2009.11.20 0 0 10657
Próbáld ki ezt is:

ThisWorkbook.Saved = True
ThisWorkbook.Close (False)
Előzmény: E.Istvan (10650)
Törölt nick Creative Commons License 2009.11.20 0 0 10656

Application.EnableEvents = False
ThisWorkbook.Close (False)

Application.EnableEvents = True

 

Esetleg ez nem lenne jó?

Előzmény: E.Istvan (10650)
SQLkerdes Creative Commons License 2009.11.20 0 0 10655
Bár ahogy elnézem az object modell-t lehet még sem lehetséges kikapcsolni add-in-okat.

Ami azért furcsa, mert az applicaion.addins-nál van add lehetőség, de nincs close...
Előzmény: SQLkerdes (10654)
SQLkerdes Creative Commons License 2009.11.20 0 0 10654
Szerintem az add-in application szintű object, szóval szerintem simán lehetséges lekapcsolni az add-int, bezárni a workbook-ot majd visszakapcsolni az add-in-t.

Arra mondjuk érdemes vigyázzni, hogy a makro ne a becsukott workbook moduljában legyen, mert akkor magát is harakirizi bezáráskor.
Előzmény: E.Istvan (10652)
SQLkerdes Creative Commons License 2009.11.20 0 0 10653
Életemben nem kapcsoltam ki add-in-t makron keresztül...
Feltétlenül az application object elemeit nézném át, de lehet makro recorder a legegyszerűbb...
Előzmény: E.Istvan (10652)
E.Istvan Creative Commons License 2009.11.20 0 0 10652

Programból ki tudnám kapcsolni? És azt hogy kell? :o)

 

Egyébként szükség van rá a táblázathoz, tehát csak a bezárás idejére szabadna kikapcsolni. Viszont a nem saját táblát most már be tudom zárni úgy, hogy zárás előtt kikapcsolom a EnableEvents-et, majd close után visszakapcsolom. Ezt már át is írtam a programomban.

 

A gond a program végén a saját táblázat bezárása. Arra meg tulajdonképpen a te módszered sem lenne jó (gondolom), mert akkor meg a close után kikapcsolva marad a beépülő. Hacsak nincs valami trükk zárás közben visszakapcsolni.

A felhasználó hülyén pislogna, ha a programom használata után mindig eltünne neki az beépülő

De azért leírhatod hogyan kell, hátha valamikor szükség lesz rá.

Előzmény: SQLkerdes (10651)
SQLkerdes Creative Commons License 2009.11.20 0 0 10651
Próbáld meg az add-in-t kikapcsolni a makro futása elején...
Előzmény: E.Istvan (10650)
E.Istvan Creative Commons License 2009.11.20 0 0 10650

Valószínűleg rájöttem.

Használunk egy beépülő modult és valószínűleg az bolondítja meg a 2007-es Excelt.

Az alábbi paranccsal már be tudom zárni.

 

Application.EnableEvents = False
ThisWorkbook.Close (False)

 

Ezzel viszont nagyobb kárt okozok. Ha lefutott a programom és bezárja saját magát, akkor gondolom a Close utasíttással bezárólag megszakad a program és az EnableEvents False marad. :o(

 

Előzmény: E.Istvan (10641)
Okos Tóni Creative Commons License 2009.11.19 0 0 10649
Ááááááááááá!

Ez nagyon jó, ötletes képlet!!!:D:D:D:D
Előzmény: Jozsef (10645)
wawabagus Creative Commons License 2009.11.19 0 0 10648

Sziasztok!

Eszembejutott még egy kérdés...

 

Ti használtátok valaha is azt a fajta pivotot, amit több munkalapról ovassa be az adatot...

 

Ficsit furán működik...

 

Olyan, mintha egyszerű pivotos dolgokat nem nagyon tudna megcsinálni...

 

PL a 2 sheeten ilyen oszlopok vannak:

 

Ország;Hónap;értékelés (1-5-ig szám).

 

A "multi pivotban" azt szeretném, hogy arszágokra és hónapra lebontva mutassa az értékelés...

 

...de nem tűnik olyan egyszerűen elérhetőnek ez...

 

Mindent beledob egy columnba...

 

Nem is igazán értem, hogy lehet részélet elemzésbe így belemnni...

 

Van aki érti ezt a multipivotot?

 

Köszi megint!!

Y

wawabagus Creative Commons License 2009.11.19 0 0 10647

Nem is annyira bonyolult...nagyon szuper!!

Köszönöm szépen!!!

 

wawabagus Creative Commons License 2009.11.19 0 0 10646

József és István!!

Nagyon köszönöm a függvényt...

Mindjárt ki is próbálom...de előbb angolosítom és értelmezem :-DDD...

Jó horrorisztikusan néz ki :-DDD...

 

Köszi szépen!!!

 

 

Jozsef Creative Commons License 2009.11.19 0 0 10645
=2-HÉT.NAPJA(DÁTUM(ÉV(MA());HÓNAP(MA());1);2)+DÁTUM(ÉV(MA());HÓNAP(MA());1)+(HÉT.NAPJA(DÁTUM(ÉV(MA());HÓNAP(MA());1);2)>2)*7
Előzmény: wawabagus (10643)
E.Istvan Creative Commons License 2009.11.19 0 0 10644

Ha el nem szúrtam:

=DÁTUM(ÉV(MA());HÓNAP(MA());1)+HA(HÉT.NAPJA(DÁTUM(ÉV(MA());HÓNAP(MA());1);2)<=2;2-HÉT.NAPJA(DÁTUM(ÉV(MA());HÓNAP(MA());1);2);9-HÉT.NAPJA(DÁTUM(ÉV(MA());HÓNAP(MA());1);2))

Előzmény: wawabagus (10643)
wawabagus Creative Commons License 2009.11.19 0 0 10643

Sziasztok!

Tudtok arra trükköt hogyan oldhatnám nem a következő dolgot?

 

Szeretném, hogy a cella értéke automatikusan a hónap első pl keddje legyen...dátummal...

 

Pl. Most November van, akkor a cella első keddje 03-11-2009...

 

Nincs tippem a megoldásra...lehet hogy nincs is függvényeg megoldás...

 

:-)

köszi az ötleteket!!

 

Y

E.Istvan Creative Commons License 2009.11.19 0 0 10642
Ja és a zárojeles formátum sem megy.
Előzmény: SQLkerdes (10640)
E.Istvan Creative Commons License 2009.11.19 0 0 10641

Nekem nem csak az aktív munkafüzetet nem zárja be, de egy tetszőleges másikat sem workbooks("masikmunkafuzet")

A programom ugyan az amit 2003 alatt is használtam. Változatlan formában a 2007-ben mégsem megy.

Nyomozok tovább, hátha valami egyéb beállítás vagy szervízcsomag miatt viselkedik így.

Előzmény: SQLkerdes (10640)
SQLkerdes Creative Commons License 2009.11.19 0 0 10640
Kipróbálhatod még az
Activeworkbook.close (false)

formátumot is. Nekem műxik 2007 alatt.

Egyébként nem lehet kizárni, hogy a zárójelek hiánya okoz problémát (bár nem kellene).
Előzmény: E.Istvan (10638)
SQLkerdes Creative Commons License 2009.11.19 0 0 10639
Igen, sőt mentetlen volt a workbook.
Előzmény: E.Istvan (10638)
E.Istvan Creative Commons License 2009.11.19 0 0 10638

Úgy próbáltad ki, hogy mielőtt kiadtad a parancsot, valamelyik cellába írtál valamit?

Mert elvileg módosítás esetén átállít egy jelzőt hogy mentés szükséges. Ezt lehetne figyelmen kívül hagyni ezzel a paranccsal.

Előzmény: SQLkerdes (10636)

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