2417
megoldást keresek erre a problémára
-
#814 Jobb ötlet, ha az M oszlopba f-et írsz, ha ki van fizetve, és n-et, ha még nincs. O2-be: =HA(ÉS(E2<MA()+2;M2="n");1;0)
A kritérium tábla első esetben: R4-be az O oszlop címe, R5-be 1, S4-be az M oszlop címe, S5-be n. A szűrő párbeszéd dobozában a Szűrőtartomány legyen R4:S5.
A második szűrésnél csak az R4:R5 tartományt kell módosítanod, R4-be jön a P oszlop címe, R5-be =WEEKNUM(MA();2). -
#813 Irányított szűrővel lehet megoldani a kigyűjtéseket.
A leírásodban N az utolsó oszlop, ezután tettem be még kettőt. Persze ezen változtatsz majd, ha nem felel meg.
Feltételezve, hogy az M oszlopban jelölöd valami módon, hogy ki van egyenlítve a tartozás (erről nem írtál), az O2 képlete: =HA(ÉS(E2<MA()+2;M2="");1;0), a P2-é: =WEEKNUM(E2;2). Az O oszlopban 1 lesz az érték, ha esedékes a fizetés, a P oszlop beírja, hogy az E oszlop dátuma az év hányadik hetére esik.
Az első esetben azokat a tételeket akarod kigyűjteni, ahol a dátum <ma()+2, és nincs kiegyenlítve, holott régebbi a dátum.
Az R4-be beírtam az O1 címét, R5-be 1-et. Ez a kritérium tábla.
R8-ba az A oszlop címe, S8-ba az N-é, T8-ba at I-é, U8-ba a B-é, és V8-ba az E-é, vagyis felsoroltam az oszlopok címét, amikhez az adatokat akarom rendelni.
Kijelöltem az A:P tartományt az elsőtől az utolsó sorig, ahol a szűrendő adatok vannak. Adatok menü, Szűrő, Irányított szűrő.
A párbeszéd doboz kiállítása: Más helyre másolja, a Listatartományt automatikusan beírta, Szűrőtartománynak kijelölöd az R4:R5 területet, a Hova másolja rovatban pedig az R8:V8 tartományt. Leokézva R9-től megkapod a kért adatokat. Ezeket simán átmásolod egy másik lapra, ahol tovább dolgozol velük.
A második kigyűjtésnél csak a kritérium táblát kell módosítani.
R4-be a P oszlop címe kerül, R5-be =WEEKNUM(MA();2)
Ezeket elvégzed a Vevők, és a Szállítók lapon is.
-
petx #812 Igen bele futottam :) Eredetileg a stringben lévő pontokat én is kicseréltem vesszőre (mer hogy így jó, gondoltam), de ez valóban nem volt jó ötlet. Így utólag látom, hogy ha pontként hagyom akkor viszont 2003 excel szépen megeszi. Bár nem értem, hogy így miért jobb neki. :)
A lényeg, hogy ez is megvan. még 1x köszöi! -
#811 Nem a negatív számokkal, hanem a tizedes törtekkel nem állt szóba a makró, mégpedig a tizedes vesszők miatt.
Sikerült kiküszöbölni a hibát úgy, hogy a cellába írás [cells(15,1)=szov]
sor elé betettem egy ciklust:
For b = 1 To Len(szov)
If Mid(szov, b, 1) = "," Then szov = Left(szov, b - 1) & "." & Right(szov, Len(szov) - b)
Next
Ha be van állítva az Option Explicit, a b változót is dimenzionálni kell Integerként.
-
sgsamu #810 Elnézést! A lényeg... a dátumok!
Esedékesség E oszlop.
Segédtáblában rögzíteném a hetet záró dátumot pl. 02.22. -
petx #809 Cool. Megy. De egy gyökér vagyok! Mindent próbáltam már és is ilyen banális. :) -
#808 Ímé:
Sub Szum()
Dim ter As Range
Dim CV As Object
Dim szov As String
Set ter = Application.InputBox("Jelöld ki a tartományt", "Tartomány kijelölése", Type:=8)
For Each CV In ter
If CV.Value >= 0 Then
szov = szov & "+" & CV.Value
Else
szov = szov & CV.Value
End If
Next
Cells(15, 1).Formula = "=" & szov
End Sub
A tartomány különálló cellákból is összeállhat. Azt nem szereti, ha az első összeadandó cella értéke negatív.
-
petx #807 Szia Delila!
Köszönöm a segítséget. Sajnos én is idáig jutottam. Vagy szum, vagy string megjelenítés. Nekem igaziból csak az a művelet kellene amit excel akkor csinál amikor a te makród futtatása után az A16 cellába kétszer kattintok és fogja magát és felismrei képletként a benne lévő stringet.
pl: ha az A16 cellában ez +5+6+8-5-6 str volt taláható és kétszer bele kattintok akkor felismeri formátumot és képletet csinál belőle. De nem árulja el, hogy hogyan :(
Köszi előre is!
-
#806 próbáld meg ide bemásolni.
akkor megmarad a tagolás is. ráadásul kitudja copyzni -
#805 Elnézést, hogy foglalom itt a sok helyet, figyelmetlenül olvastam a kérdést, nem írtam bele az összegzendő értékek kiírását.
Sub Szum()
Dim sor, oszlop As Integer
Dim ter As Range
Dim sz As Double
Dim CV As Object
Dim szov As String
Set ter = Application.InputBox(prompt:="Kérem a tartományt", Type:=8)
For Each CV In ter
sz = sz + CV.Value
If CV.Value > 0 Then
szov = szov & "+" & CV.Value
Else
szov = szov & CV.Value
End If
Next
Cells(15, 1) = sz
Cells(16, 1).Formula = szov
End Sub
-
#804 Az előző makróban a Dim sor, oszlop As Integer felesleges, hagyd ki.
Itt egy másik makró, ahova fixen beírhatod az összegzendő tartományt, ami nálam most A1:B10. Az eredményt az A15 cellába írja ki.
Sub másik()
Dim sz As Double
Dim ter As String
Dim CV As Object
ter = "$A1:$B$10"
For Each CV In Range(ter)
sz = sz + CV.Value
Next
Cells(15, 1) = sz
End Sub
-
#803 Hol vannak a dátumaid? -
#802 Nem megy nekem ez a képfeltöltés, bemásolom ide a makrót, csak csúnyán összerántja, nem látszanak a tagolások.
Sub Szum()
Dim sor, oszlop As Integer
Dim ter As Range
Dim sz As Double
Dim CV As Object
Set ter = Application.InputBox(prompt:="Kérem a tartományt", Type:=8)
For Each CV In ter
sz = sz + CV.Value
Next
MsgBox sz
End Sub
-
#801
A makró bekéri az összegzendő területet, amit egérrel kijelölve adhatsz meg. Üzenetdobozban kiírja az eredményt (MsgBox sz), de ehelyett adhatsz egy cellacímet, ahova beírja, pl. Range("C30")=sz -
petx #800 Sziasztok!
Egy kérdés hátha ....
Készítettem egy makrót, ami egy tömbben lévő szám értékekekt stringbe összefűz és műveleti jeleket is tesz elé. pl: str = +45+46-48. Ezt be is illesztem egy cellába.
Egyetlen gond van vele, hogy képletként szeretném használni, de erre nem találtam semmilyen megoldást.
Az a baj hogy látnom kellene, hogy az érték miből jön ki és nem elég ha az eredményt kapom meg, így csak stringént tudtam a makróban megoldani.
Jelenleg kiborít, hogy ha bele kattintok a cellába akkor felismeri képletet az excel, de makróból ezt nem tudom megoldani.
Van valakinek ötlete?
-
sgsamu #799 Sziasztok!
Új feladattal bíztak meg a mu.helyemen: vevő és szállító számlákat kell nyilvántartanom és figyelnem mit mikor kell fizetni v. mikor várható a fizetés. Külön fülön tartom nyilván a szállítókat és a vevőket
A oszlop mindig a cégnév, B a számla száma, N oszlop a bruttó számlaérték; devizanem I oszlop (HUF v. EUR). A segítségetekre lenne szükségem.
KÉRDÉSEK (excel 2003):
Szállítók:
1. egy adott napon esedékes fizetnivalókat hogyan tudom kigyűjtetni automatikusan (a ma elküldendő fizetnivalók=eddig ki nem fizetettek és a holnap esedékesek MA()+1)
2. e héten esedékesek (ez pillanatnyilag feb.22-ig esedékesek és a ki nem fizetettek)
VÁRT EREDMÉNY- külön fülön: cégnév; összeg(ek), devizanem; szlaszám
cégenként is kellene összesíteni
Vevő oldalon uez. csak ott mint várhatóként jelenik meg.
A dolgot bonyolítja, hogy van amikor ugyanaz a cég vevő is meg szállító is (más árut adunk, mint kapunk) ezeket külön kellene vevőként és szálíltóként egymás mellé tenni és a különbözetet egy harmadik oszlopban megmutatni - "szaldó"
Eddig listába írtam a számlákat és egy másik fülön kimuatás varázslóval kínlódtam, de ott a dátumok nem jönnek sorba hogy kipipálhassam (mivel minden egyes új szlámla felvitelekor összekeverednek a dátumok...
Előre is köszi
Samu -
#798 Szívesen.
Persze, hogy feltedeted az újabb kérdésedet, azért van a fórum, hogy segítsünk egymásnak. -
#797 köszi! Esetleg ha még lesznek kérdéseim feltehetem neked?Remélem nem gond! -
#796 A 2 azt jelenti, hogy az F:G tartomány 2. oszlopából adja vissza azt az értéket, amelyiket az 1. oszlopában megtalált.
A súgóban keress rá az FKERES függvényre, ott megtalálod az utolsó paraméter leírását, jobban, mintha itt leírnám. Az 1 helyett IGAZ paramétert is írhatsz, azonos értékűek. -
#795 Köszi szépen! Működik!
Az lenne a kérdésem hogy a 2;1 Mit jelent?[=FKERES(A1;F:G;2;1 )]
Még egyszer köszi a gyors választ! -
#794 Az F1 legyen 0, F2 20 ... F5 pedig 80.
G1-be 1, G2-be 2 ... G5-be 5.
A B1 függvénye: =FKERES(A1;F:G;2;1), ezt másold le az A oszlop adatai mellé.
-
#793 a kép: -
#792 Sziasztok! A fenti képen láthatjátok meddig jutottam el a feladatban!A feladat arról szól hogy az A oszlopba 0-tól 100-ig feltöltsük véletlen százalékos számokkal, a G oszlopba pedig megvannak adva a százalékhatárok az F oszlopba pedig hogy mely százalékok között hányas érdemjegy lenne!
És a B oszlopba pedig ki kellene kiírnia az A oszlop mindegyik százalékához hogy az hányas jegy lenne úgy hogy az F És G táblából olvassa ki ezeket!
Ehhez kellene nekem egy függvény(képlet)! Remélem tudtok segíteni előre is köszi!
pl B1-be azt kellene kiírnia hogy 5.(tehát ötös mert 80 és 100% között van)
-
#791 Ez jó hír, szívesen. :) -
mcngoht #790 Köszönöm! :) Mostmár tökéletes minden! -
#789 Akkor töröld az előbbit. Alt+F11-re bejön a VB szerkesztő. Bal oldalon állj a füzeted nevére. Insert menü, Module.
A most kapott üres lapra ezt másold be:
Sub Valami()
Range("A1:B1").Select
Selection.Insert Shift:=xlDown
Cells(1) = Cells(3)
Cells(2) = Cells(4)
Cells(3).Select
End Sub
Értelmesebb címet is adhatsz neki :)
Tegyél ki egy gombot az Űrlap eszköztárból, és rendeld hozzá a makrót.
-
mcngoht #788 Kitünően működik! :) Köszönöm szépen! És hogyha azt szeretném hogy csak akkor írja be a1-be és b1-be ha rá klikkelek egy vezérlő gombra? akkor mit kell még csinálnom? :) -
#787 Rendeld a lapodhoz a makrót (lapfülön jobb klikk, Kód megjelenítése, a jobb oldalon kapott üres lapra másold be):
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$1" And Cells(3) > "" Then
Range("A1:B1").Select
Selection.Insert Shift:=xlDown
Cells(1) = Cells(3)
Cells(2) = Cells(4)
Cells(3).Select
End If
End Sub
Vidd be a C1-be a dátumot, és amint a D1-be is bevitted az értéket, a makró lecsúsztatja az A:B tartományt, és beírja az aktuális adatokat az A1-be és a B1-be, majd a C1-re áll, hogy írhatsd a következő adatot.
-
mcngoht #786 Sziasztok! Azt hogy lehet megoldani, hogy van egy beviteli mezőm, kettő cella. Pl.:c1(ez dátumot tartalmaz), d1(ez egy összeget tartalmaz)
Szeretném ha az ide beírt értékeket, átírná a1,b1-re. Aztán ha új értéket írok a c1-d1 cellákba, akkor ami előzőleg az a1-b1-ben volt az 1 sorral lejjebb csúsztassa, és az új értéket írja a helyére... Remélem kivitelezhető valahogy... Ha nem, akkor egy olyan megoldás is jó ha mindíg a sor végére írja az új értéket. Előre is köszönöm a segítséget! :) -
#785 Szívesen. -
ity #784 Ez nagyon jó :)
Köszönöm szépen, működik is. A cellákat manuálisan színezem az előtte lévő oszlopok szűréseiből. Csak a 3-as piros kód helyett kellett keresnem egy 40-es barackot, hogy látható is legyen a szám.
Még egyszer köszönm szépen a segítséget. -
#783 Nem bíztam benne, hogy sikerül feltenni a képet. Kishitű vagyok.
Összeállítod a táblázatot a kép szerint. A G2 és a H2 érvényesítés, a valutanemeket tartalmazzák. Kiválasztod a jelenlegit, és azt, amire át akarod váltani. A makróban egy ciklussal végig haladsz az árakat tartalmazó területeken, és az értékeket felszorzod az I2-vel. -
#782 -
#781 aham... -
#780 így írd be:
'1 P
(aposztróf, shift1) -
#779 hallod megcsináltam, de automatikussan visszaugrik általánosról valami másra egyéni vagy mi... -
Prakesz #778 Kedves Fórumosok!
Egy kis segítséget kérnék tőletek Excel (2003) témakörben. Több fórumot bejártam - főleg külföldi -, de nem tudtam választ kapni egy kisebb problémámra, ami a következő:
Egy beruházás megtérülési és cash-flow-elemzését készítettem el, kb. 12.000 képlettel (sok-sok összefűzött oldal + n. számú grafikon, kimutatás stb). A rendszer fordít magyarról angolra (ill. németre, franciára -igény szerint) és vissza, a számítások EUR-ban vannak, mert a megrendelő külföldi. O.K.
Azonban egy kis többlet-igény merült fel a befejezés után: ne csupán EUR-ban, hanem USD-ben, CAD, ill. CHF-ben is tudja váltani (mutatni) a táblákat.
Erre létrehoztam egy árfolyamváltó-lapot, azonban rájöttem, hogy lesz egy kis gond. A származtatott oldalak, illetve cellák átkonvertálása nem akkora gond, ám azokon a lapokon, ahol input adatokat viszünk fel, ezeknél körkörös hivatkozást végez az Excel. Ezt még ki lehet küszöbölni egy-egy oldaltükrözéssel (vagy éppen pl. indirekt() függvénnyel), ám a származtatott cellákat leszámítva is kb. 8.000 képletet kellene átdolgoznom.
Tud valaki egy szép kis makro ötletet adni arra, hogyan lehetne leegyszerűsíteni az életet úgy, hogy a főlapon kiválasztott pénznemnek megfelelően (egy oldalon előre definiált - tehát nem kell on-line update-elni az MS Money Currency-vel - árfolyammal) minden oldalon átváltsa az aktuális EUR összegeket a választott pénznemre?
Minden segítséget nagyon köszönök. -
#777 Meg lehet oldani. A lapfülön jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe.
A jobb oldalon kapott üres lapra másold be:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'Itt írd át az 1-et a saját oszlopod sorszámára
If Range(Target.Address).Interior.ColorIndex = 3 Then _
Target.Value = Target.Value * -1
End If
End Sub
A megjelölt sorban írd át az 1-et annyira, ahányadik oszlopodban akarod végrehajtani a cserét.
Egy kis villogás után a beírt szám elé negatív előjelet tesz.
Ez csak akkor működik, ha a cellák hátterét NEM feltételes formázással pirosítottad ki. Ha igen, akkor ismernem kell a feltételt. -
ity #776 Tegnap este se jutottam gépközlebe, szóval most tudtam csak megnézni a javaslatokat.
Az egynél több feltételre való szűris működik. Köszönöm szépen.
A második példával vannak gondjaim, de némi átalakítás után személyemre szabható. Ezt is köszönöm szépen.
Lenne még egy kérdésem, de ez lehet eleve butaság :)
Lehet-e olyasmit csinálni, hogy ha pl. van egy adott oszlopom, ami teljesen üres és elkezdem felvinni az adatokat, akkor ha előre megjelöltem mondjuk piros háttérszínnel pár cellát, akkor a bevitt pozitív számokat, a pirosan megjelölt cellákban negatív számként írja be? -
#775 oks thx