Keresés

Részletes keresés

adimania Creative Commons License 2011.08.08 0 0 15741

Az előbb valmiért nem csatolta a képet, legalábbis én nem látom, úgyhogy feltöltöttem ide:

http://kepfeltoltes.hu/view/110808/probl_ma_www.kepfeltoltes.hu_.jpg

adimania Creative Commons License 2011.08.08 0 0 15740

Sziasztok!

Egy szerintem általatok rutinműveletnek tűnő, ám számomra annál sürgősebb probléma kapcsán fordulok hozzátok.

Mivel a komplett problémát nehézkes lenne írásban magyarázni, ezért egy egyszerű iskolapéldán keresztül szemléltetem, mellékelten pedig csapolok egy képet is:

------------------------------------------------------------------

Van egy adatsorom amelyben az alábbi inputok (tetszőlegesen megadható) és output (számolt érték) vannak:

 

INPUT
Gyümölcs mennyisége (kg): "beadható érték"
Gyümölcs kilónkénti ára (ft/kg): "beadható érték"


OUTPUT
Fizetendő összeg (ft): "számolt érték"

Eddig ugye semmi probléma, a számítás egyszerű függvénnyel megoldható.

Én viszont azt szeretném, hogy egy külön táblázatban egymás alá gyűjtse a fizetendő összegeket, hogyha én változtatok a gyümölcs mennyiségén az input cellában. Valahogy így:

x kg gyümölcs - "x kg gyümölcs esetén számolt összeg"
y kg gyümölcs - "y kg gyümölcs esetén számolt összeg"
z kg gyümölcs - "z kg gyümölcs esetén számolt összeg"
stb...

------------------------------------------------------------------

- Én olyasmin gondolkodtam, hogy be kellene vonni az accest majd az ott kapott adatbázist visszaimportálni excelbe. Ez akkor lenne az ideális ha automatikusan történne. Accesben viszont nem vagyok otthon kb semennyire, de ha elmondjátok hogyan kell, meg tudom csinálni.

- Az is elképzelhető, hogy makrót kell írni, de ott is hasonló a helyzet.

Éppen ezért arra kérlek benneteket, hogy a lehető legegszerűbb megoldást mondjátok nekem, ami persze neketek is kevesebb vesződséggel jár.

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

wawabagus Creative Commons License 2011.08.08 0 0 15739

Sziasztok!

 

Meg lehet nyitni VBA-ból egy tök új munkafüzetet adott számű sheettel és egyben el is nevezni?

Workbooks.add és utána valahogy ezt a 2 db dolgot be lehet szúrni egyszerre?

 

Vagy több lépésre van szülség?

 

Úgy rémlik már mintha egyszer említettétek vona, ezt a darab dolgot, de sehol sem találom.

 

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

Yo

SQLkerdes Creative Commons License 2011.08.07 0 0 15738

Alapvetően ugyanúgy közelíteném meg, mint Lucky problémáját:

- előállítanék egy számsort, ami vagy nullákat vagy a pozitiv ügyfélszámok esetén a sorok számát tartalmazza (pld. (a2:a500>0)*row(a2:a500))

- a SMALL függvénnyel sorra előszedném ennek a fenti számsornak a darabjait, oly módon, hgoy a cél cella sorának száma határozza meg,hogy hanyadik SMALL-t keressük.

 

Az INDIRECT tuti működik ezzel a technikával.  Sajnos az OFFSET nem, mert a SMALL/LARGE egy 1*1-es tömböt ad vissza és az OFFSET visszaköpi a tömb bemenő adatokat.

Előzmény: kovacsmiklos1985 (15737)
kovacsmiklos1985 Creative Commons License 2011.08.07 0 0 15737

Sziasztok!

 

Egy kis segítséget szeretnék kérni tőletek, hogy ti hogyan bírkóznátok meg ezzel a feladattal.

 

Van egy oszlop, amelybe alap esetben pozitív előjelű ügyfélszámokat jegyzek be, hogyha mondjuk eladok az ügyfél részére egy terméket.

Azokban az esetekben, amikor nem eladok nekik, hanem bármely más munkát csinálok (pl.: információadás) velük, abban az esetben mínuszos (-) ügyfélszámot jegyzek a cellába, vagy üresen hagyom azt.

 

A kérdésem az lenne, hogy hogyan lehet megoldani azt, hogy egy másik munkalapon ki legyen listázva az oszlop azon cellái, amelyekben a pozitív számok voltak beírva (sorkihagyás nélkül, tehát nem szűrős megoldással, hanem valami listázás félével).

Mellékeltem egy képet, hogy az oszlop tartalom hogy néz ki, és ezek közül kellenének külön listába azok a sorok, amelyekbe pozitív számok vannak.

 

Segítségeteket előre is köszönöm!

 

Miki

luckeEEEr Creative Commons License 2011.08.07 0 0 15736

Igazad van, végül csak megoldottam magamtól ilyen nyögve nyelős módszerrel, de ezt legalább el tudom magyarázni. Köszi a megoldást, azt is áttanulmányozom hogyan működik!

Előzmény: SQLkerdes (15735)
SQLkerdes Creative Commons License 2011.08.07 0 0 15735

Alapvetések:

- adatok az A-C oszlopig (ebben a példában a2:c6-ig, javitsd kreativan)

- keresendő adat a D2 cellában

- találat az E:G oszlopokban

 

Teendő:

E2-be írd be a következőt

=IFERROR(INDIRECT("A"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(A2)-1)),"")

 

F2-be a következőt:

=IFERROR(INDIRECT("b"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(B2)-1)),"")

 

G2-be a következőt:

=IFERROR(INDIRECT("C"&LARGE(IF($A$2:$C$6=$D$2,ROW($A$2:$C$6),""),ROW(C2)-1)),"")

 

MINDEGYIK fenti cellát Ctrl+Shift+Enterrel kell lezárni (kapcsoszárójelbe kerül a függvény).

 

Ezután, ha tudod mennyi lehet a maximális találatok száma, akkor annyiszor másolod lefele copy-paste-tel a képleteket, ha nem tudod mennyi a maximális találat, akkor az 500.-sorig (mert ugye max 500 találat lehet egy 500 soros táblázatban.

 

Ha xl2007 előtti exceled van akkor az IFERROR nem fog működni, ISERROR a megoldás.

 

Ne tarts olyanból előadást, amihez nem értesz, mert csúnyán rá lehet égni

Előzmény: luckeEEEr (15734)
luckeEEEr Creative Commons License 2011.08.07 0 0 15734

Köszönöm. Így tényleg működik, a duplikációsat nem próbáltam erre a verzióra előzőleg. Azt hogyan lehetne megoldani, hogy a 3 segédoszlopból a találatokat egy kupacba gyűjtse ki, hogy ne kelljen nekem külön kikeresni?

Előzmény: Delila10 (15733)
Delila10 Creative Commons License 2011.08.06 0 0 15733

A variáció előtt mindhárom oszlopban csakis egyszer fordulhatott elő egy-egy adat.

 

A mostanihoz vagy makró kell, vagy 3 segédoszlop. Nézd meg a 15626-os, és 15629-es hozzászólásokat, vagy várd meg SQL-t, ő ír egy szorzatösszeges, vagy egy istentudjami() függvényt.

Előzmény: luckeEEEr (15732)
luckeEEEr Creative Commons License 2011.08.06 0 0 15732

Kérlek segítsetek!!!

 

A múltkor segítettek páran megoldani nekem ezt a feladatot, de variálni kell egy kicsit rajta és hétfőn előadást kell belőle tartanom! Ezért nagyon sürgős lenne.

 

A lényeg az, hogy van egy 3 oszlopból álló Range-em (A2-től C500-ig).

Keresek egy adatot, amit F2-be írok be.

A feladat, hogy a függvény megkeresse az A2:C500 tartományban az F2-be beírt számot és kiírja annak a sornak a tartalmát, amelyik sor tartalmazza a keresett adatot.  Szóval ha a F2-be rögzített szám a B8-ban van, akkor írja ki az A8-at, a B8-at és a C8-at is.

Az F2-be beírt érték viszont több találatot is adhat! A kérdésem az, hogy hogyan szedem szét sorokra a találatokat?

Itt az általam eddig használt függvény, ami duplikáció esetén már nem jó:

 

=OFSZET(A1;SZUM(--(A2:C217=F2)*SOR(A2:C217))-1;0;1;3)

 

Aki elolvassa és tud segíteni, annak nagyon megköszönöm, mert ez fontos lenne!

pimre Creative Commons License 2011.08.06 0 0 15731

Időközben teszteltem a dolgot. A programhoz nem nyúltam, pusztán a munkalap nevét rövidítettem le. És így hibaüzenet nélkül lefutott a program. Tehát az .XValues = szöveg és hasonló értékadásnál a szöveg string hossza korlátozott. Valahol a 256 karakter környékén. 

Előzmény: pimre (15729)
magyarpityu Creative Commons License 2011.08.06 0 0 15730

Sziasztok!

 

Egy furcsa dolgot tapasztaltam, ebben szeretnék segítséget kérni!

 

Létrehoztam egy menürendszert, hogy a makróimat legördülő menüből hívhassam meg, és azt tapasztaltam, hogy a menüből meghívva a makrók bizonyos részei nem működnek! Az Excelből közvetlenül meghívva minden utasítás jól működik, de menüből elindítva a makrót nem működnek ezek a sorok, és hibaüzenet sincs!

 

Ilyenek nem működnek ('Data' egy Worksheet objektum):

 

Data.Cells.ClearContents

 

Dim LastRow As Long
LastRow = Data.Cells.SpecialCells(xlLastCell).Row

 

de különben így sem jó:

LastRow = Data.Cells(1, 1).SpecialCells(xlLastCell).Row

 

ez utóbbi azért különös, mert így viszont már jó eredményt ad:

LastRow = Data.Cells(1, 1).End(xlDown).Row

 

(De mi van, ha nem az első oszlop utolsó elemének helye kellene, hanem a munkalap legalsó cellájának sorindexe?)

 

Menüből hívva csak az utolsó sor ad vissza helyes értéket, míg a makrókat simán az Excelből indítva mind jó értéket ad vissza. Mi lehet ennek az oka, és mit lehet tenni? Előre is köszönöm a segítséget!

pimre Creative Commons License 2011.08.06 0 0 15729

Bocs, hogy túl sokat kérdezek, de találtam valamit. A tegnapi problémám az aposztrof használatával megoldódott. Ma meg is írtam a programot, ami gyönyörűen összefűzi a tengelyek megadásához szükséges stringet, és rajzolja is a grafikonokat.

 

Ámde: Az egyik adatsoromnál, ahol nagyon szétszórtak voltak az adatok, egyszer csak kiakadt. Hosszas töprengés után azt találtam, hogy nem szintaktikai a probléma, hanem az összefűzött parancsstring hossza meghaladta a 256 karaktert, és erre kezdtem gyanakodni. Ki akartam próbálni a makró fényképezés módszerével, hogy ők hogy oldják meg, de azt találtam, hogy kézből kijelölgetve az adatokat, egy bizonyos pont után meglehetősen udvariatlanul, se szó se beszéd, félbehagyja a munkát, és törli az addigi kijelöléseket.

 

Lehetséges, hogy van egy olyan határ, hogy a parancssor hossza nem haladhatja meg a 256 karektert?

 

Előzmény: Delila10 (15666)
Beugró lány Creative Commons License 2011.08.05 0 0 15728

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

 

pimre Creative Commons License 2011.08.05 0 0 15727

Tulajdonképpen ehhez hasonlót kapok, csak fekete-fehérben, ha a diagram főlé állva az egér jobb gombjával a forrásadatra kattintok. Csak míg ez következetes, addig a diagramra kattintva nem az. 

Előzmény: pimre (15726)
pimre Creative Commons License 2011.08.05 0 0 15726

Sziasztok, meg tudja valaki mondani, hogy az mitől függ, hogy egy elkészült diagramra kattintva az Excel megjelöli-e (lila és kék színekkel bekeretezi) azt az adattartományt, amiből a diagram készült.

 

Nekem egyetlen munkafüzet egyes munkalapjain másképp viselkedik. Egyiken bejelöli, a másikon nem. Szeretném egységesen kezelni őket, de nem tudok rájönni, hogy mitől van a különbség. 

Delila10 Creative Commons License 2011.08.05 0 0 15725

Azt nem figyeltem, hogy 2003-asról van szó. Azzal nem is volt probléma, csak a két újabbal.

A Te kedvedért tettem ki a képet erről a 15717-es hozzászólásban.

Előzmény: SQLkerdes (15724)
SQLkerdes Creative Commons License 2011.08.05 0 0 15724

Ha követed a linket látod, hogy xl2003-ról szól.

2007-ben képtelen voltam előhozni ezt a fícsört.

Előzmény: Delila10 (15723)
Delila10 Creative Commons License 2011.08.05 0 0 15723

Nálad megjelent a tételek elrejtését kínáló doboz? Nálam nem.

Előzmény: SQLkerdes (15722)
SQLkerdes Creative Commons License 2011.08.05 0 0 15722

http://office.microsoft.com/en-us/excel-help/display-or-hide-items-in-a-pivottable-or-pivotchart-field-HP005199384.aspx

 

"Hiding an item in a row field  or column field  removes it from the report, but the item still appears in the dropdown list for the field. Hiding an item in a page field  removes it both from the report and from the dropdown list for the field."

 

Szóval csak a page field-ekkel műxik ez.

 

  1. Double-click the page field.
  2. If the Hide items box is present, select each item that you want to hide, and clear the selection from each item that you want to show.

If the Hide items box is missing, your source data  always lists all available items in the dropdown list for the page field.

 

Előzmény: Delila10 (15721)
Delila10 Creative Commons License 2011.08.05 0 0 15721

A 2010-es sem tudja. :(

Előzmény: Beugró lány (15720)
Beugró lány Creative Commons License 2011.08.05 0 0 15720

Köszönöm, pont erre gondoltam!

 

A 2010-es verzióban esetleg?

Előzmény: Delila10 (15717)
Delila10 Creative Commons License 2011.08.05 0 0 15719

Elnézést, két ilyen makró volt, és nem azt tettem ki, amelyiket kipróbáltam, és jól működött. Itt az igazi.

 

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
                    Next pi
                End If
            Next pf
            pt.ManualUpdate = False
            pt.RefreshTable
        Next pt
    Next ws
End Sub

Előzmény: Delila10 (15718)
Delila10 Creative Commons License 2011.08.05 0 0 15718

Kimutatásokról és felesleges adatokról volt itt szó.

 

Nem tudom, a 2007-es verzióra is jellemző-e, hogy azokat a tételeket is mutatja a szűrőkben, amiket már töröltünk a tartományból, de a kimutatás nem felejt. A 2003-as verzióra még igaz.

 

Valahonnan kaptam egykor egy "szellemírtó"-t, ami ezt a hibát megszünteti. Közre adom, biztosan jó hasznát veszi, akinek ilyen gondja van.

 

Sub RemoveGhostPivotItems()
    Dim ghost As PivotItem
    Dim pt As PivotTable
     
    Set pt = ActiveSheet.PivotTables(1)
    pt.ManualUpdate = True
     
    For i = 1 To pt.PivotFields(i).PivotItems
        On Error Resume Next
        For Each ghost In pt.PivotFields(i).PivotItems
            ghost.Delete
        Next ghost
    Next i
     
    pt.ManualUpdate = False
End Sub

Delila10 Creative Commons License 2011.08.05 0 0 15717

Kép a 2003-as verzióból.

 

 

 

A bekarikázott mezőben elrejti azokat, akiket nem akar látni a kimutatásban. Ezután a foglalkozás legördülője csak a megmaradt tételekhez tartozó értékeket mutatja, ill. ezek további szűrését engedélyezi.

Ez az opció nem található meg a 2007-ben.

 

 

Előzmény: SQLkerdes (15703)
tt65 Creative Commons License 2011.08.05 0 0 15716

örülök neki, sok van mit érdemes tudni!

Előzmény: Beugró lány (15713)
luckeEEEr Creative Commons License 2011.08.05 0 0 15714

Hello!

 

Megint módosították az elvárásokat a táblázatommal kapcsolatban. Így már több találatot is ad a függvény, tehát sorokra is szét kellene szedni. Azt mondtad index függvénnyel lehet megoldani. Kérdésem, hogy hogyan?

 

=OFSZET(A1;SZUM(--(A2:C500=F2)*SOR(A2:C500))-1;0;1;3)

 

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

Előzmény: SQLkerdes (15633)
Beugró lány Creative Commons License 2011.08.05 0 0 15713

Képzeld! Most meg tudtam oldani valamit, azzal amit tegnap este mutattál a nyilakkal! Köszi!!!! :)

Előzmény: tt65 (15706)
Beugró lány Creative Commons License 2011.08.05 0 0 15710

Tényleg! A 2010-et nézted már?

Előzmény: Beugró lány (15709)
Beugró lány Creative Commons License 2011.08.05 0 0 15709

Ebből az adatbázisból kell minden hónapban egy statisztikát készítenem, ami biztosan halál egysezrű lehet annak aki virtuóz a Kimutatásokban. Nekem nagyon neki kell feküdnöm, hogy ez menjen. S persze, ha kész a táblázat, akkor már automatizmus lesz a munka a továbbiakban.

Előzmény: tt65 (15706)

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