-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
slashing
senior tag
válasz tgumis #22000 üzenetére
Hát ezt elvileg ha van az összesítő táblázatban dátum akkor egy kimutatással vagy kimutatás diagrammal és egy idősor beszúrásával egyszerűen meg lehet oldani ha újabb excelt használsz. Azthiszem Pivot a hivatalos megnevezése....
A képletes megoldást másra hagyom... de én tuti kimutatással csinálnám még ha ehhez teljesen át kéne strukturálnom az egész munkafüzetet, mivel százszor egyszerűbb mint sok képlettel elérni ugyan azt.
-
Louro
őstag
válasz slashing #22001 üzenetére
Én is az összesítőn oldanám meg. Lenne két mező: Mettől és Meddig. Az összegzés pedig a két paraméter között sheet-eket összesítené. (Elgondolkodtam a megvalósításán és valamiért a makró nekem használhatóbb.)
De, ha makró, akkor ugyanúgy kellene a Mettől Meddig mezők és a ciklus a paraméterben megadott értékek között futna le.
Összegző sheet-en lenne valahol a táblázat nagyon végén vagy az első oszlopban lenne.Makróban ennyi lenne:
Dim Mettol As Integer, Meddig As IntegerActiveWorkbook.Worksheets("Osszegzes").Select
Mettol = Cells(1, 1)
Meddig = Cells(2, 1)If Mettol > Meddig Then
MsgBox "Nagyobb a Mettől mező, mint a Meddig."
Else
For i = Mettol To Meddig
itt van az összeadás
Next
End IfMess with the best / Die like the rest
-
Delila_1
Topikgazda
válasz tgumis #22000 üzenetére
Az Összesítés lap A1 cellája az első-, az A2 az utolsó hónap, amit összesíteni akarsz.
Legegyszerűbb, ha minden lapon egy cellában összesíted az aznapi eladásokat. Legyen ez a példában az N1 cella. Ha a bevételeid a D oszlopban vannak, akkor az N1 képlete =SZUM(D:D).A makró az Összesítés lap B4 cellájába írja be a beírt lapok összbevételét.
Sub Osszesen()
Dim lap%, elso%, ucso%, osszes As Long
elso% = Sheets("Összesítés").Range("A1")
ucso% = Sheets("Összesítés").Range("A2")
For lap% = elso% To ucso%
osszes = osszes + Sheets(lap%).Range("N1")
Next
Sheets("Összesítés").Range("B4") = osszes
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Delila_1 #22003 üzenetére
Egyszerűbben a ciklus:
For lap% = elso% To ucso%
osszes = osszes + Application.Sum(Sheets(lap%).Range("D:D"))
NextEhhez nem kell az egyes lapokon az N1 cellába az összesítő képlet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lordeklvin
újonc
Sziasztok!
Lenne egy kis problémám. van 2 táblázatom az egyik hivatkozik a másikra
http://kepfeltoltes.hu/view/140616/K_pkiv_g_s4_www.kepfeltoltes.hu_.png
Így néz ki a táblázat az lenne a kérdésem h h tudom a "ha" függvénybe beékelni egy szöveg.keres függvényt mert nekem az lenne a lényeg h a "/" jel mögötti számokat hozza csak át ebbe a táblázatba vagy esetleg milyen más megoldás van? válaszotok előre is köszönöm.
-
kopogo
tag
Hello
1. Az a feladat, hogy az "adatok" fül A,G, H oszlopában lévő adatokat kell megfeleltetni az új "díjtételek" munkalap A oszlopában lévő adatokkal.
Amennyiben egyezést találunk, akkor az "adatok" fül I oszlopában szereplő "Megvalósult_KERDOIV_DB" számot szorozni kell az "új díjtételek" fül C oszlopadatával, melyet az "adatok" fül K oszlopába kell beírni!2. Csak az adatok munkalap I oszlopában a megvalósult_kérdőív_db számot lehessen módosítani úgy, hogy csak 1 és 5000 közötti adatokat fogadjon el szigorúan, írja ki, hogy szigorú hiba, ha elrontják és a 2000 felettieket pirosítsa is ki.
köszönöm
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz lordeklvin #22005 üzenetére
A kép alapján nekem nem egészen tiszta, melyik adatoknak a / jel utáni részét akarod megjeleníteni, és hol.
Vegyük, hogy az adat (6:00/0) a C10-ben van. A képlet
=JOBB(C10;HOSSZ(C10)-SZÖVEG.KERES("/";C10))Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz kopogo #22006 üzenetére
Az első kérdés megválaszolásához szükséges a füzet ismerete.
A másodiknál érvényesítést kell bevinned, ahol egész számot engedsz meg, minimum érték 1, maximum 5000.
A Hibajelzés fülön a Hibaüzenet rovatban adod meg a szöveget.
Az oszlopra feltételes formázást adsz. Itt a képlet =I1>2000, formátumként pedig beállítod a háttérszínt.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lordeklvin
újonc
válasz Delila_1 #22007 üzenetére
Szia! köszi a válaszod
pl a C10-es celábba jelenleg az jelenik meg h 6:00/0 ezt egy másik táblából szedi ez az összesítő táblázat.
én azt szeretném h ebbe a táblázatba 6:00 -át ne hozza magával hanem csak a "/" jel mögötti számot ide a C10-es oszlopba. A C10-es cellába jelenleg ez a képlet van: =HA(C4="0";"--/0";HA(INDIREKT(C51)=0;"--/0";INDIREKT(C51))) ez alapján hozza át a másik táblázatból a c51-es sorba valamilyen segédképlet van arra hivatkozva írja ba a c10-es cellába a c51-es cellába ez a képlet található: =ÖSSZEFŰZ($C$1;SOR(A10) -
LordVader80
senior tag
Sziasztok!
Van egy tartományom, minden cellában tele értékekkel. Hogyan tudom azt megcsinálni, hogy pl: egy új lapon egy oszlopba egymás alá rendezze a tartomány értékeit: először az első sor értékeit, utána a második sor értékeit és így tovább..
Köszönöm előre is
May The Force Be With You!
-
Delila_1
Topikgazda
válasz LordVader80 #22011 üzenetére
Az eredeti lapon lévő, A1 cellában kezdődő táblázat adatait másolja a makró a Munka2 lapra abban a sorrendben, ahogy írtad.
Két helyen kell módosítanod a makróban, ahol megjelöltem.
'* ha nem az A1-ben kezdődik a táblázatod, '** ha nem Munka2 a másolat lap neve.Sub Egymas_ala()
Dim ter As String, CV As Object, sor As Long
Range("A1").Select '*
ter = Selection.CurrentRegion.Address
sor = 1
For Each CV In Range(ter)
Sheets("Munka2").Range("A" & sor) = CV.Value '**
sor = sor + 1
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz lordeklvin #22010 üzenetére
Ezt a szép hosszú képletet tedd egy másik oszlopba, a C-ben meg – ahol a / utáni részt akarod megjeleníteni – hivatkozz erre a segédoszlopra.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
LordVader80
senior tag
válasz Delila_1 #22012 üzenetére
Köszönöm, alakul, de még nem az igazi, bár én voltam pontatlan, szerintem az lesz a baj.
A tartományom nem egyforam "széles", tehát van olyan sor, ahol csak az első cellában van adat, van olyan, ahol a 60-ban is van.
A makró működik, viszont minden sort 60 szélességig néz át, és az üres cellákat is berakja egymás alá. Ezeket valahogy ki lehet szűrni?May The Force Be With You!
-
Delila_1
Topikgazda
válasz LordVader80 #22015 üzenetére
Kiegészítve az üres cellák másolásának elhagyásával:
Sub Egymas_ala()
Dim ter As String, CV As Object, sor As Long
Range("A1").Select '*
ter = Selection.CurrentRegion.Address
sor = 1
For Each CV In Range(ter)
If CV > "" Then
Sheets("Munka2").Range("A" & sor) = CV.Value '**
sor = sor + 1
End If
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz lordeklvin #22017 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
LordVader80
senior tag
válasz Delila_1 #22016 üzenetére
Nagyon jól működik, köszönöm. Még egy utolsó kérdés: vannak olyan cellák, amik szövegként formázva 0 (nulla karakter(ekk)el) kezdődnek, a makró futtatása után ezeket számként jeleníti meg, és elhagyja a nullákat. Ezen lehet esetleg módosítani?
May The Force Be With You!
-
Delila_1
Topikgazda
válasz LordVader80 #22019 üzenetére
Most már csak a kibővített feltételt írom be.
If CV > "" Then
CV.Copy
Sheets("Munka2").Range("A" & sor).PasteSpecial xlFormats
Sheets("Munka2").Range("A" & sor).PasteSpecial xlValues
sor = sor + 1
End IfProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz LordVader80 #22021 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bepken
veterán
sziasztok!
a következő dolgot szeretném megoldani: ha C oszlop adott sora nem üres, akkor azon sor B oszlopában jelenjen meg az aktuális dátum.
ennek az értéknek viszont statikusnak kell maradnia, tehát a (tök egyszerűnek hitt) MA() függvényes megoldás sajnos nem jött be...illetve az is fontos volna, hogy ha a C oszlopban lévő értéket törlöm, akkor a dátum is törlődjön.ahogy néztem, annak idején ezen topic első hozzászólásaiban már ki lett tárgyalva egy megoldás, épp erre a problémára, így most ezt a megoldást szeretném saját táblázatomban is használni, de sajnos egy apró szépséghibáját sehogy sem tudom eltüntetni....
most így néz ki a makró:
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Value <> "" Then
Cells(Target.Row, 2).Activate
ActiveCell.Value = Date
ActiveCell.NumberFormat = "yy/mm/dd"
Target.Activate
End If
If Target.Value = "" Then
Cells(Target.Row, 2).Activate
ActiveCell.Value = ""
Target.Activate
End If
End Subtehát ezzel mindössze annyi a baj, hogy ha egyszerre több sort jelölök ki és úgy törlöm az értéküket, akkor 13-as kódot ír. ha jól sejtem az a kínja, hogy nem tudja értelmezni, melyik a "target.row" vagy méginkább a "target.value"
nem nagy probléma ez, hiszen egyesével törölgetve tökéletesen működik...csupán kíváncsiságból érdekelne a megoldás
[ Szerkesztve ]
╔═══════ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ═════╗ ╚════════════════ Xiaomi Mi A1 ═════ Huawei Nova 5T ═════════════╝
-
Delila_1
Topikgazda
válasz bepken #22025 üzenetére
Igen, az a baja.
Egy kicsit másképp a makró. Ebben már az is benne van, hogy egyszer fusson le. Mikor beírsz a lapra valamit, beíródik a B oszlopba a dátum, erre újból lefut az EnableEvents ideiglenes letiltása nélkül.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Value <> "" Then
Cells(Target.Row, 2) = Date
Cells(Target.Row, 2).NumberFormat = "yy/mm/dd"
Else
Cells(Target.Row, 2) = ""
End If
Application.EnableEvents = True
End SubMivel a C oszlop változtatását akarod figyeltetni, érdemes az egészet egy feltételbe beírni.
if target.column=3 then
...
endif[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tgumis
tag
Meg tudnàtok mondani , hogy hogyan tudom eltüntetni a personal.xls fàjlt illetve sehogy sem tudom szerkeszteni a makrókat mert folyton kiîrja, hogy rejtettek. Illetve ha egy makrót lètrehozok a personal.xls fâjlba akkor azt mâs gépen is tudom majd futtatni?
-
tgumis
tag
válasz Delila_1 #22003 üzenetére
Szóval minden nap kölönböző termékeket értékesìtek. Viszont adott terméklista van.
Pl.:
Facsava
Kalapâcs
Tűzőgép
Stb.
Most úgy oldottam meg a dolgot, hogy van 34 munkalap. Mibdegyik munkalapon felsorolva a tételek és az adott napon értékesìtett db szàm. A 32. lapon a szum függvénnyel összesìtem 1-től 15-ig a 33.lapon 16-tól 31-ig a 34.lapon meg 1-től 31-ig. Szeretnék egy viszonylag egyszerű megoldàst hogy beìrom az egyik cellâba, 1 a màsikba hogy 24 akkor a munkalapomon az 1-től 24-ig elaott kalapàca,facsavar stb. mennyiségét -
-
alfa20
senior tag
válasz tgumis #22027 üzenetére
A personal.xlsb-nek pont az lenne a lényege, hogy saját makrók tudj futtatni az Excel indításával és azért rejtett, hogy ne zavarjon.
Elérni, szerkeszteni az ALT+F11-el tudod.
Ha másik gépen is szeretnéd az ebben lévő makrókat futtatni, akkor a legegyszerűbb módja, ha készítesz egy makróbarát munkafüzetet, abba átmásolod a makrókat, és azt küldöd el másik gépre.Ha meg akarsz tőle szabadulni, akkor innen kell törölni:
c:\Users\*****\AppData\Roaming\Microsoft\Excel\Xlstart\Win7 esetében!
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
#02644736
törölt tag
Sziasztok!
Azt meg lehet valahogy oldani, hogy van pl. az A1 mező, és ha abba írom bele a számokat, azok összeadódjanak?
pl. van már beleírva 13, rámegyek és írok egy 1-t, akkor 14 lesz utána a mezőben. -
valkesz93
csendes tag
Sziasztok!
Egy olyan "függvényt" keresnék, ami egy cella alapján, ami szöveget tartalmaz visszakeres a táblázatban és ha talál egyezőt akkor a sorból x oszlopot kimásol és beilleszti a keresett cella mellé.
itt a táblázat egy kis része: http://data.hu/get/7804321/munka.xlsx
Ha esetleg így jobban érthető lenne, hogy mit szeretnék.
pl:
keres b170-es cellával egyező a b1-es cella akkor másol c1-c170,e1-f170,h1-h170,i1-170
Ha megoldható lenne, hogy ne látszódjon, hogy ez egy függvény, azaz amikor rákkationtok, ne egy függvényt, csak egy szöveget lássak az lenne a legjobb. Gondolom ez makróval lehetséges.
az fkeressel próbálkoztam, de nem sok sikerrel.Előre is köszönöm
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz #02644736 #22031 üzenetére
A lapodhoz kell rendelned a lenti makrót, ennek a módját több helyen megtalálod a fórumon.
Az X1 helyett olyan címet írj, ahol biztosan nincs adatod.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A1") = Range("X1") + Target
Range("X1") = Range("A1")
Application.EnableEvents = True
End If
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz valkesz93 #22032 üzenetére
• Hol adod meg, hogy pl. a B170 tartalmát keresed?
• Ha nem talál, mi legyen?
• Ha a 20. sorban talál azonos értéket, akkor a C20:C170, stb tartományt másolja?
• Hova másoljon? A keresett cella mellé? Most adatok vannak mellette. Felülírja azokat, vagy egy üres oszloptól kezdve valahova?Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bepken
veterán
válasz Delila_1 #22026 üzenetére
köszi szépen!
a két feltétel már kínomban volt, mert azt hittem azzal van a baj, hogy egybe írtam.
ha több értéket törlök egyszerre, akkor most is kiakad sajnos, de ha jól értem, ezt nem is nagyon lehet kezelni...annak megértésében még segítenél, hogy mit is csinál esetünkben az "Enable.Events" tiltása?
valami olyasmit szűrtem le belőle, hogy amíg a makró fut, addig nem figyeli a munkalap változásait (ami ugye aktiválja magát a makrót)
de itt most a C oszlop változásait figyeljük, ami meg ugye egyszer változik csak, aminek hatására lefut a makró. gondolom itt attól akadna ki igazán, ha azt a cellát figyelné a makró, amit épp módosít (de lehet, hogy félreértem a jelentőségét)╔═══════ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ═════╗ ╚════════════════ Xiaomi Mi A1 ═════ Huawei Nova 5T ═════════════╝
-
Delila_1
Topikgazda
válasz bepken #22036 üzenetére
Jól gondoltad, a makrót inaktiválja az utasítás.
Minden változásra lefut a makró, de csak akkor hajtja végre az utasításokat, ha a feltételben megadott helyen történt a változás. Másképp azonnal az Else ágra (ha van ilyen), vagy az End If sorra ugrik.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bepken
veterán
válasz Delila_1 #22037 üzenetére
akkor most már csak abban reménykedjek, hogy nem akar majd senki sem egyszerre több értéket törölni a C oszlopból
egyébként a táblázat funkciója ezt a lépést nem is igazán indokolja, szóval valószínűleg még egyesével se lesz törölve belőle...csak próbáltam volna "bolondbiztosra" csinálni
╔═══════ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ═════╗ ╚════════════════ Xiaomi Mi A1 ═════ Huawei Nova 5T ═════════════╝
-
Delila_1
Topikgazda
válasz bepken #22038 üzenetére
Próbáld ki ezzel:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
Application.EnableEvents = False
On Error GoTo Hiba
If Target.Value <> "" Then
Cells(Target.Row, 2) = Date
Cells(Target.Row, 2).NumberFormat = "yy/mm/dd"
Else
Cells(Target.Row, 2) = ""
End If
Application.EnableEvents = True
End If
Exit Sub
Hiba:
MsgBox "Egyszerre csak egy adatot adj meg, vagy törölj!", vbOKOnly + vbExclamation
Application.EnableEvents = True
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bepken
veterán
válasz Delila_1 #22039 üzenetére
aha ez nem rossz! az C oszlopban ugyan kitörli a cellák értékét, de legalább nem fut hibára és utána egyesével végig lépkedve törölni tudja a dátumokat is.
(ja igen, azt még nem mondtam, hogy a B oszlop szerkesztése le lenne tiltva)
[ Szerkesztve ]
╔═══════ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ═════╗ ╚════════════════ Xiaomi Mi A1 ═════ Huawei Nova 5T ═════════════╝
-
Delila_1
Topikgazda
válasz bepken #22040 üzenetére
Akkor a B oszlop legyen zárolva, a lapot védd le.
A makró első sora:
ActiveSheet.Protect Password:="szupertitkosjelszó", UserInterfaceOnly:=True
ez makróból, de csakis onnan engedélyezi a zárolt cellák felülírását.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bepken
veterán
válasz Delila_1 #22041 üzenetére
persze, az oszlop már zárolva van, és végül is azt csinálja, amit szeretnék. nem is bonyolítom tovább, ez maximálisan kielégíti az igényeket.
még egyszer köszi a segítséget!
╔═══════ "Csak egy visszatérés létezik és az nem a királyé...hanem a JEDIÉ!" ═════╗ ╚════════════════ Xiaomi Mi A1 ═════ Huawei Nova 5T ═════════════╝
-
valkesz93
csendes tag
válasz Delila_1 #22035 üzenetére
Szia, 170-et azért mondtam mert a mellékelt táblázatban ott volt megegyező adat. Megpróbálom máshonnan megközelíteni a dolgot. Egy sorban alapvetően a B oszlopban szerepel a szám címe és az E oszlopban pedig az előadó. Én kitöltöm a C,H, I oszlopokat a megfelelő adatokkal. Mivel ez egy több mint 2000 soros táblázat és a számok sokszor ismétlődnek, így szeretném ha nem kéne még 1x kikeresnem az adatokat a számhoz ha már egyszer bevittem a táblázatba. Mivel az előadó nem mindig egyezik meg az eredetivel így csak a szám címét nézze a függvény és az előadót másolja az f oszlopba, h letudjam ellenőrizni, h stimmel-e. Ha nincs adat akkor nem kell semmit beillesztenie a függvények.
A függvény mindig az első megtalált adatot másolja ki.Előre is köszi
-
tgumis
tag
Köszönöm Delila -tök jó lett csak nekem az ezzel a baj hogy külön kell mindennek a darab szàma a nettó bruttó de gondolkodom a te tàblàzatod tovàbbfejlesztèsèn. Illetve az a gond még hogy olyan emberek használjàk majd akik finoman szólva sem agy sebészek
-
Prancz
csendes tag
Üdv!
Az alábbiakban kérném a hozzáérték segítéségét:
Van egy táblázat, amelynek egyik oszlopában rövidítések vannak. A táblázat alján de ugyanazon a munkalapon, egy másik táblázatban vannak hozzá a magyarázatok: az egyik oszlopban a rövidítések, a másikban annak magyarázatai. Hogy kezelhető legyen, a rövidítéseket lecserélném a magyarázatokra. Olyan függvény kellene nekem, ami végigmegy valamennyi rövidítésen, megkeresi a másik táblázatban, hogy hol szerepel, majd lecseréli az adott cella szomszédos cellájára, vagyis a magyarázó szövegre.
Ha erre tud valaki egyszerű megoldást annak nagyon örülök.
Új hozzászólás Aktív témák
- Steam kulcsok - Minden 990 - Life is Strange/Road 96/Saints Row/Scorn/Warhammer- UTALÁS/REVOLUT
- Canva Pro előfizetés - 1 éves
- Eladó Steam kulcsok kedvező áron!
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24