-
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
-
gaborlajos
csendes tag
Sziasztok!
Van e arra lehetőség az Excel-ben, hogy egy munkafüzet oldalai közül azokat ne nyomtassa ki, ahol valami hiányzik.
Konkrétan, Ha ez a mező üres akkor ezt az oldalt ne nyomtassa ki.Előre is köszönöm.
G.L. -
Fferi50
őstag
válasz gaborlajos #25702 üzenetére
Szia!
Kérdésre kérdés: mit értesz munkafüzet oldalai alatt? Mert a munkafüzetben munkalapok vannak és a munkalapokat lehet oldalakra bontani (legalábbis eddig így tudtam).
Egyébként pedig ránézel a munkalapra és nem nyomtatod ki, ha hiányzik az adott cella adata.....Komolyra fordítva:
Ha az a kérdés, hogy van-e ilyen beépített lehetőség az Excelben, akkor a válasz nincs.
Makróval viszont minden (na jó, szinte minden) megoldható. Végigmehetsz az adott munkalap kinyomtatandó oldalain és megnézheted, hogy az adott cellában van-e adat. Az eredmény függvényében kinyomtatod vagy továbblépsz kinyomtatás nélkül.Üdv.
[ Szerkesztve ]
-
poffsoft
addikt
válasz gaborlajos #25704 üzenetére
lehetséges, hogy érvényesítéssel is megoldható...
Persze nem tuti , csak tipp.[ Szerkesztve ]
-
DrojDtroll
addikt
Várom a kihívásokat
-
Fferi50
őstag
válasz gaborlajos #25704 üzenetére
Szia!
Sub nyomtat()
If Not IsEmpty(Range("A1")) Then ActiveSheet.PrintOut
End SubAz A1 helyébe annak a cellának a címét kell írni, amelynek a kitöltésétől függővé teszed a nyomtatást.
A makrót egy általános modullapra kell írni.
Üdv.
-
-
sedyke
tag
Sziasztok!
Tudnatok segiteni egy rovid macro megirasaban?
Van egy tablazatom (arlista), D oszlopban vannak az arak. Szeretnem minden sorban, az adott termekhez megjeleniteni a cella modositasanak datumat a T oszlopban.
Nem hasznaltam meg macrot.
Elore is koszonom a segitseget!
Legyen szep napotok! -
Delila_1
Topikgazda
válasz TrollBalint #25708 üzenetére
Az Office telepítésénél lehet a gond.
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 sedyke #25709 üzenetére
A lapodhoz rendelt a lenti eseményvezérelt makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then Cells(Target.Row, "T") = Date
End SubMikor a D oszlopba viszel be adatot, a T oszlopba beírja az aktuális dátumot.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
sedyke
tag
válasz Delila_1 #25711 üzenetére
Koszonom szepen, tokeletesen mukodik.
Meg annyit szeretnek kerdezni toletek, hogy milyen Excel konyvet ajanlanatok otthoni tanulasra?
Bartfai Barnaban: Excel haladoknak c. konyvet ismeritek? 146 oldalat kicsit kevesnek talalok...
Szeretnek tobbet megtanulni a makrokeszitesrol, adatelemzesrol stb..
-
TrollBalint
addikt
válasz Delila_1 #25710 üzenetére
Hát ennek nem örülök, de mindegy, megoldani nem tudom szerintem, azért még tovább próbálkoztam, részleges sikerrel
Írtam egy makrót, cellából meghívva nem igazán akar működni, de ha gombbal hívom meg, akkor valamit csinál Amit küldtél munkanapos excelt, azt használtam alapnak. Az első (Settings) fülön "E" oszlopban vannak a napok, mellette ("F" oszlop) hogy workday vagy holiday. A makrót egy másik fülről hívom meg. Ahonnan meghívom, ott hivatkozásként egy cellát kellene átadni, ami dátum formátumú. Cells 10,10-be kiíratom, amit beadtam neki, de érdekes módon nem azt dobja ki. A kezdő dátumom 2015.01.20 a makró 1905.06.16-ot ír ki. Ha a listában beírom ezt a dátumot, akkor megtalálja és jól is számolja ki a munkanapokat. Két kérdésem lenne:
1. Miért nem jó a dátum átadás, (ha gombbal hívom meg, ott 2015 - 1 - 20 ként adja át, ha cellából, mint függvény, akkor pedig #VALUE az eredmény...
2. Miért nem lehet meghívni, mint függvény? Csak gombbal sikerül?Itt a makró, hátha segít, ill. ha ehhez valami beállítás kell nézni, vagy bármit, akkor megnézem. Köszi minden segítséget
Makró:
Option Explicit
Function Munkanap(Cella As Date, Day As Integer)
Dim x As Integer, workday As Integer
x = 2
workday = 0
Cells(10, 10).Value = Cella
Do
Cells(11, 11).Value = x
If Sheets("Settings").Cells(x, 5).Value = Cella Then
Do
If Sheets("Settings").Cells(x + 1, 6).Value = "Workday" Then
workday = workday + 1
End If
x = x + 1
Loop Until workday = Day
Munkanap = Sheets("Settings").Cells(x, 5).Value
End If
x = x + 1
Loop Until workday = Day
Munkanap = Sheets("Settings").Cells(x, 5).Value
End Functionhttps://www.pathofexile.com/account/view-profile/Haarkon/characters
-
Delila_1
Topikgazda
válasz sedyke #25712 üzenetére
Azt nem ismerem, de olvastam tőle a "Makróhasználat Excelben" című könyvet, és olyanok vannak benne, amik nem igazak. Például:
"Minden változónak van egy neve és egy értéke. (Más programnyelvekben típusa is, amely meghatározza,
hogy milyen jellegű adat tárolható a változóban. Itt a típust többnyire nem szükséges definiálni, azt az első értékadás határozza meg.)""...az FKERES függvény csak ábécébe rendezett listában működik..."
Legtöbben Kovalcsik Géza Az Excel programozása című könyvét javasolják. Krizsák Lászlónak van egy az azonos című könyve, amit kezdők jobban tudnak használni.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Tikakukac
titán
Excel tud diagram hátteret feltételekhez kötve cserélni? Fantasztikus 3 nap munkával hülyebiztos lett a tesztekhez használt tábláink többsége, viszont oké, hogy tudja kezelni a drága, ha valaki eltérő sorban dobja be az adatokat, csak a diagramok mögött a háttér így igen vicces sajnos.
Ötletek?
A fiatalok 50%-a optimistán tekint a jövőre. A másik felének nincs pénze drogokra.
-
Fferi50
őstag
válasz Tikakukac #25715 üzenetére
Szia!
Ha arra gondolsz, hogy a diagram hátteret - a cellához hasonlóan - feltételes formázással lehessen megadni, az szerintem nem megy (én legalábbis még nem találkoztam ilyen lehetőséggel 2010-es verzióval bezárólag).
Viszont makróval meg lehet oldani. A Chart.Chartarea.Format.Fill tulajdonságot állíthatod a feltételeknek megfelelően (esetleg a SeriesChange esemény kezelésével).
Üdv.
-
Tikakukac
titán
válasz Fferi50 #25716 üzenetére
Igen olyasmi kéne. Sajnos az adatokat, címek és minden más hiába változik meg és pakolja át jó helyekre a háttér sajnos nem. Most csinálhatnám, hogy még csereberés valamit beiktatok és akkor jó helyre mennek, de olyan szintű beágyazások vannak meg hivatkozások, hogy nem bírom követni így 3 nap után.
Ránézek a makróra is, köszi
A fiatalok 50%-a optimistán tekint a jövőre. A másik felének nincs pénze drogokra.
-
Delila_1
Topikgazda
válasz TrollBalint #25713 üzenetére
Itt azt mondja Horváth Imre, hogy a munkanapra cserélt szombattal nem nagyon lehet számolni.
Összesen 2 ilyen lesz az évben (aug.8. és dec.12.), ennek a 2-nek a közelében figyelj, és "gyalog" írd be a dátum+Xnap eredményé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.
-
lumpy92
aktív tag
Sziasztok!
Gyors kérdés: Makrónál meg lehet oldani,hogy ne billentyűkombinációval vagy gombbal indítsam,hanem egy adott cella értéke ha megváltozik,akkor automatikusan lefusson? Ha igen hogyan? Köszi
"never send to know for whom the bells tolls; it tolls for thee"
-
Fferi50
őstag
válasz lumpy92 #25720 üzenetére
Szia!
Az adott munkalap Worksheet_change esemény kezelőjébe kell beletenned a makró indítását.
Munkalapfül - jobb egérgomb - kód megjelenítése.
Bal oldalon a lenyílóból worksheet.
Jobb oldalon a lenyílóból Change kiválasztása.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False
makronév ' az a makró, amit le szeretnél futtatni
Application.EnableEvents = True
End If
End SubAz A1 helyére írod annak a cellának a címét, amelynek a változását figyeled. Tartomány címet is meg lehet adni, ha több cellát kívánsz figyelni ugyanazon makró indításához.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz TrollBalint #25713 üzenetére
Szia!
A munkanapok megszámolására két dolgot javaslok:
I. Az ÖSSZ.MUNKANAP.INTL függvény a következőképpen:
=ÖSSZ.MUNKANAP.INTL(MA();MA()+5;11;J1:J49)
A függvény 3. paramétere határozza meg, hogy milyen napokat tekint hétvégének. A 11 azt jelenti, hogy csak a vasárnap munkaszüneti nap.
A 4. paraméterben kell megadni az ünnepnapokat. Mivel az összes szombatot munkanapnak tekinti a 3. paraméter alapján, erre a területre kell bevinni a többi szombatot.
Kicsit sok a beviendő adat, de sorozatként megoldható könnyen. Cserébe pontosan számol és excel beépített függvény.
II. Saját függvény használata:
Function munkanapszam(ByVal mettol As Date, Optional meddig As Date) As Integer
Dim unnepek As Range, munkanap As Integer, napi As Range, napok As Date
Set unnepek = Range("J1:J7")
munkanap = 0
If meddig = 0 Then meddig = mettol
For napok = mettol To meddig
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = munkanap + 1
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = munkanap + 1
End If
End If
Next
munkanapszam = munkanap
End FunctionItt az a megoldás lényege, hogy az ünnepek közé felveszed a "dolgozós" szombatokat is. A függvény megnézi, hogy az ott szereplő dátum szombat-e, ha igen, akkor munkanapnak számolja. Ha nem szerepel a listában, akkor munkanap, ha H-P.
Mindkét esetben az ünnep lista egy oszlop legyen.
Üdv.
-
csferke
senior tag
Sziasztok!
Szeretném különválasztani az A1:A4 mezőket C1:C4 dátum-ra és D1:D4 idő-re.
A B5=A4-A1 a D5-ben kellene ugyanez az eredmény de sajna a képlettel nem boldogulok.
A5 és D5 cellaformája nn óó:ppköszi
[ Szerkesztve ]
-
TrollBalint
addikt
válasz Delila_1 #25725 üzenetére
Igazából félre is érted és nem is
Az első feladat, amivel most szenvedek, az annyi lenne, hogy egy dátumtól számolva a paraméterben megadott számnyi munkanapot leszámol és azt a dátumot adja vissza. Viszont ha ezen túl vagyok lesz olyan is, hogy két dátum között kell kiszámolni a munkanapok számát.
Tegnap kicsit haladtam és odáig jutottam, hogy a makró (első tesztek alapján jól működik), csak ugye az a gond, hogy csak akkor, ha gombbal hívom meg. Ha függvényként, akkor nemfferi50: Alapvetően ha sok adatot kell felvinni nem gond, mert egyszer kell csak megcsinálni évente és a lényeg, hogy működjön. (Legjobb lenne, ha másfél hét múlva működne már, mert akkor reprezentálnom) Egyébiránt mindenféle megoldás érdekel, ami jól működik, és nem kézzel kell felvinni.
Közben csináltam egy excelt, amibe belementettem a lényegi adatokat, ahogy most nálam működik. Késő délután átküldöm.
https://www.pathofexile.com/account/view-profile/Haarkon/characters
-
Agostino
addikt
sziasztok
szerintem ide makró kellene. azt szeretném elérni, hogyha a makró talán egy bizonyos karaktert egy cellában, akkor tegyen a cell tartalmának elejére és végére egy adott karaktert.
hey friend listen, i know the world is scary right now but its gonna get way worse
-
m.zmrzlina
senior tag
válasz Agostino #25728 üzenetére
Az alábbi pár sor a kijelölt tartomány minden cellájában leellenőrzi, hogy van-e "!" (felkiáltójel) és ha van akkor egy "*" (csillag v. szorzásjel) karaktert tesz a cellatartalom elejére és végére.
For Each cella In Selection.Cells
If InStr(1, cella.Value, "!") <> 0 Then
cella.Value = "*" & cella.Value & "*"
End If
Next -
Agostino
addikt
válasz m.zmrzlina #25729 üzenetére
szia
köszi szépen, rövidesen megnézem. egyébként ilyesmiket hol tudok tanulni? gondolom ez annyira nem összetett dolog és viszonylag hamar összerakható : ) bár lehetséges, hogy rosszul gondolom
hey friend listen, i know the world is scary right now but its gonna get way worse
-
be.cool
csendes tag
Sziasztok!
Szeretném az adott év X.hetének a napjait adott cellákba írni.
Esetleg elég lenne a hét első napját kiíratni egy adott cellába mert onnan már boldogulnék.
Tehát pl. a J2 -es cellában lenne az adott hét száma, mondjuk most 10
A dátumokat pedig a C6-C12 -be szeretném kiíratni. Vagy a hétfőt a C6 -ba (2015.03.02).Köszönöm!
-
Fferi50
őstag
válasz TrollBalint #25727 üzenetére
Szia!
Felhasználói függvény nem módosíthatja más cella tartalmát, ezért nem működik ha cellába írod be (kivétel a tömbfüggvény.) De a makród úgy is működne, ha egyszerűen csak a változókkal számolnál és nem írnád be cellába a változó értéket.
Amúgy várom a mintát.
Üdv.
-
TrollBalint
addikt
válasz Fferi50 #25735 üzenetére
Hello,
ki akartam próbálni a függvényedet (össz.munkanap.intl), de nekem nincsen ilyen függvényem. Ha jól sejtem, ez a networkdays.intl akarna lenni (nálunk angol az excel), viszont csak a networkdayst ismeri
Kell még valamit aktíválnom?https://www.pathofexile.com/account/view-profile/Haarkon/characters
-
Fferi50
őstag
válasz TrollBalint #25738 üzenetére
Szia!
Jól sejted, az lenne a neve. Szerintem nem kellene hozzá semmi kiegészítő, viszont
verzió függő, a 2010-es excelben már benne van. Nálad milyen excel verzió fut?Üdv.
-
Fferi50
őstag
válasz TrollBalint #25740 üzenetére
Akkor marad a felhasználói függvény...
Próbáld ki lsz.Üdv.
-
KaliJoe
csendes tag
Sziasztok,
Kinek van ötlete arra, hogy hogyan lehetne Excelben megoldani, hogy:
- ha az egyik, mondjuk "A" oszlopban egy hivatkozás van, amelyik egy másik Munkalap egyik cellájára mutat; Példa: =Szervezet!L2,
- a mellette lévő oszlopokban pedig evvel a hivatkozással kapcsolatos számítások vannak, úgy mint:
"B" oszlop: =JOBB(CELLA("cím";Szervezet!L2);HOSSZ(CELLA("cím";Szervezet!L2))-SZÖVEG.KERES("!";CELLA("cím";Szervezet!L2);1))
"D" oszlop: =SOR(Szervezet!L2)
... akkor ennek a hivatkozásnak a felhasználsával lehessen az A oszloptól jobbra levő képletekben felhasználni ezt a hivatkozást.Most úgy működik a táblám, hogy minden egyes helyen, ahol a ' Szervezet!L2' cellára történik hivatkozás, oda magát a hivatkozást kell betenni.
Lehet-e valahogy az A cellában szereplő hivatkozást belevarázsolni a mellette lévő képletekbe?Kérlek, ha nem érthető írjatok..., kérdezzetek, hogy pontosíthassam!
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
TrollBalint
addikt
válasz Fferi50 #25741 üzenetére
Fferi50 és delila_1:
Itt van a példa táblázat, amire ma jutottam. Excel tábla
Az az érdekes, hogy míg ez frankón működött a cégnél (2007-es Excel) addig itthon a 2013-assal Excellel nem akar menniEgy kis magyarázat (ha esetleg kell) a makróhoz:
valtozo nevü változóba adom át a dátumot, ami tartalmaz időt is, ezt átalakítom, hogy csak dátum legyen és azt adom át a Cella nevü változónak.
delila_1: felhasználtam amit még legelőször küldtél táblázatot, és az alapján keresi meg, a Settings fülön a dátumot majd megnézni, hogy mellette lévő oszlop az holiday vagy workday-e. Annyi workdayt számol le, amennyi a m_Day változóban van megadva.
Hogy biztos jól működik a script, ezét kiírattam a Cella és a valtozo értékét is.
Jelenleg (elvileg) a gomb megnyomására, kiszámolja ezt a napot és beírja az adott cellába. Ezt a megoldást azért kerülném, mert ez a táblázat folyamatosan lenne feltöltve adatokkal, és mindig más által, így jó lenne, ha függvényként lehetne a makróra hivatkozni. Köszi, hogy ránéztekhttps://www.pathofexile.com/account/view-profile/Haarkon/characters
-
Fferi50
őstag
válasz KaliJoe #25742 üzenetére
Szia!
Kicsit valóban nem világos, mit is szeretnél.
Az A oszlopban van egy képlet, aminek az eredménye a Szervezet munkalap L2 cellájának értéke.
A B oszlopban levő képleted eredménye a Szervezet munkalap L2 cellájának az abszolut címe
A D oszlopban levő képleted eredménye a Szervezet munkalap L2 cellájának a soraHa az a kérdésed, hogy a többi képlet az A oszlopban levő képletben hivatkozott cella adatait adja meg, akkor az a javaslatom, hogy egy oszlopban add meg a hivatkozott cella címét:
F1 értéke Szervezet!$L$2
A1 képlete =INDIREKT(F1)
B1 képlete =KÖZÉP(F1;SZÖVEG.KERES("!";F1)+1;20)
D1 képlete =KÖZÉP(F1;SZÖVEG.KERES("$";F1;SZÖVEG.KERES("$";F1)+1)+1;10)Üdv.
[ Szerkesztve ]
-
KaliJoe
csendes tag
-
KaliJoe
csendes tag
válasz Fferi50 #25745 üzenetére
Szia Fferi50,
Nem az eredménye, hanem a képlete. Történetesen az eredménye "A", egy A betű.
A B oszlopban lévő képletemnek sem az eredménye, mert annak a cellahivatkozás az eredménye.
Szerintem, jobb, ha odaadom a táblát, mert akkor érteni fogod mit is akarok.
Oppá, h is tudok teljes Excel fájlt küldeni?
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
csferke
senior tag
Sziasztok!
Mivel eddig nem kaptam segítséget a #25724-es kérdésemre ezért próbálkozom még 1x.Szeretném különválasztani az A1:A2 mezőket C1:C2 dátum és D1:D2 óra:perc-re, az egyszerűbb adatbevitel érdekében.
A3=A2-A1 "nn óó:pp" formátumban ugyanezt az eredmény szeretném kapni a szétbontott adatokból (C1:C2 D1:D2) is a D3-ban szintén "nn óó:pp" formában.
A segítséget 1 képlet formájában megköszönném.
[ Szerkesztve ]
-
Fferi50
őstag
válasz TrollBalint #25744 üzenetére
Szia!
A következőt javaslom:
A Settings munkalap G oszlopa alá írd még be a H oszlopban levő adatokat ís.
Ezután írd be a következő függvényt a module1-be:Function munkanapos(ByVal mettol As Date, Optional hanynap As Integer) As Date
Dim unnepek As Range, munkanap As Date, napi As Range, napok As Date
Set unnepek = Sheet1.Range("G2:G19")
munkanap = mettol
If hanynap = 0 Then hanynap = 0
For napok = mettol To mettol + hanynap
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = napok
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = napok
End If
End If
Next
munkanapos = munkanap
End FunctionA függvény megmondja, hogy a kezdő dátumtól (meddig) a megadott napokkal (hanynap) később melyik lesz a munkanap.
Ez működik cellában meghívva is (csak a cellaformátumot kell dátumra állítani).Üdv.
(A makróddal kapcsolatban szerintem majd írok privit, ha neked is megfelel.)
-
KaliJoe
csendes tag
válasz csferke #25748 üzenetére
Szia csferke,
Az Excel a dátum és idő értéket, egy egész (az 1900-01-01-től eltelt napok száma) és egy törtrész összegeként tárolja, amely törtrész az egy napon belüli értéket mondja meg.
Tehát, ha a teljes dátumérték - ami Neked az A oszlopodban van - FIX részét veszed, akkor megkapod a dátumot, leválasztva róla az időértéket.
És folytatva, ha a teljes dátumértékből kivonod a dátumérték egész részét megkapod a napon belüli törtértéket. Ezeket megfelelően formázva megkapod a szétválasztott dátumot, és időt.Képlettel:
"C" oszlop: =DÁTUMÉRTÉK(SZÖVEG(FIX(A1;0);"éééé-hh-nn"))
"D" oszlop: =A1-FIX(A1;0;)
A "D" oszlophoz, még az időformátumot is be kell állítsd![ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
Új hozzászólás Aktív témák
- Vezeték nélküli fejhallgatók
- Kipróbáltuk az LG kompakt 4K projektorát, a CineBeam Q-t
- Razer DeathAdder
- Fujifilm X
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Háromféle processzor is része lesz a Core 200 sorozatnak
- Honda topik
- Samsung Galaxy A54 - türelemjáték
- Fejhallgató erősítő és DAC topik
- Letartóztatták a bitcoin-Jézust
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest