-
IT café
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
-
Delila_1
Topikgazda
válasz csferke #16463 üzenetére
As Double (lebegőpontos érték), 8 bájt a területigénye.
Ez a
-1,787693 134 862 32 E308-tól
-4,940 656 458 412 47 E324-ig, és
4,940 656 458 412 47 E324-től
1,787693 134 862 32 E308-ig
tartományokat foglalja magába.Az As Double helyett így is írhatod: Dim MyValueSzám#
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
poffsoft
addikt
válasz csferke #16470 üzenetére
esetleg az int() ?
Sub test()
If IsNumeric(ActiveCell) Then
If ActiveCell.Value - Int(ActiveCell.Value) <> 0 Then
MsgBox "no"
Else
MsgBox "yes"
End If
End If
End Sub"Ha nem egész szám a bevitt szám (pl. 1,23) akkor nem jó a bevitt érték =>123.00"
Valószínűleg az a gondod, hogy a VBA csak "angolul" tudja a formátumokat...[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz csferke #17467 üzenetére
Többen panaszkodtak, hogy nem tudják megjeleníteni a naptár vezérlőt. Most egy olyan, makrót tartalmazó füzetet linkelek, ahol erre nincs is szükség. 2003-as verzió, ami működik a magasabb verziójú Excelekben is.
A makró a D oszlop bármelyik cellájára kattintva megjeleníti a formot a naptárral, a nap kiválasztása után beírja az értéket az aktuális cellába, majd a fókusz a következő cellára ugrik.
Ha csakis a D6-ra történő lépéskor akarod a formot megjeleníteni, akkor a Naptár laphoz rendelt makróban az
If Target.Column = 4 Then Naptar.Show
sort írd át a következőre:
If Target.Addres = "$D$4" Then Naptar.ShowProgramozó: 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 csferke #17473 üzenetére
Nálam Calendar1 névre hallgat a vezérlő, írd át.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsDate(Target) Then
Me.Calendar1.Value = Target
Else
Me.Calendar1.Value = Date
End If
End SubA Now függvény időértéket ad, az aktuális dátumot a Date adja.
[ 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.
-
Delila_1
Topikgazda
válasz csferke #17499 üzenetére
Nagyszerű! Pedig a "Me.MonthView1.Value=??
?? = aktuális dátum ( now() ) értéke és ekkor az aktuális hónapot mutatná a naptár" szövegtől kicsit megijedtem, de reméltem, hogy az aktuális dátumra gondoltál. És lőn.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 csferke #17759 üzenetére
A C3 képlete =NAP(B2)-NAP(B1)
B4
=HA(ÉS(C3=0;ÓRA(B2)<8);0;HA(ÉS(C3=0;ÓRA(B2)>8;ÓRA(B3)<=12);0,5;HA(ÉS(C3=0;ÓRA(B2)>12);1;HA(ÉS(C3>0;ÓRA(B2)<8);C3;HA(ÉS(C3>0;ÓRA(B3)>8;ÓRA(B3)<=12);C3+0,5;C3+1)))))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 csferke #17758 üzenetére
Nem voltak jók az előző képletek. Az időknél a perceket, és másodperceket is figyelembe kell venni, még akkor is, ha nem látszanak.
Irgalmatlan hosszú képlet kell hozzá, pedig a napok különbségét külön, a C3 cellában számoltatom ki a =NAP(B2)-NAP(B1) képlettel.
B4:
=HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));0;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));0,5;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(12;0;0));1;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));C3;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));C3+0,5;C3+1)))))Remélem, ez már jól működik.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz csferke #17759 üzenetére
Hello,
Szerintem ez a képlet megteszi B4-ben:
=INT(B3)+HA((B3-INT(B3))>0,5;1;HA((B3-INT(B3))<1/3;0;0,5))
B3-ban gondolom egy sima B2-B1 van egyéni számformátummal.
Az első fele megadja a napok számát, a második fele pedig attól függően, hogy a napból hány óra telt el 0; 0,5 vagy 1-et ad még hozzá.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz csferke #19923 üzenetére
A cellák alapértelmezésben zároltak. Azoknál a celláknál, amikbe írhatsz, a cellaformázás védelem fülén vedd ki a pipát a "Zárolt" négyzetből. A zárolás akkor lép érvénybe, mikor a lapot levéded.
Nem szükséges jelszót adni a védelemhez, csak arra ügyelj, hogy a védelem beállításakor vedd ki a pipát a "Zárolt cellák kijelölése" elől. Így eléred, hogy a nem módosítható cellákra nem fut rá a kijelölés.
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 csferke #19926 üzenetére
A laphoz rendeld a makrót. Az utolsó esetben, a D6 beírása után a C1-be állítottam be a fókuszt, majd eldöntöd, jó-e így.
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$C$1"
Range("C2").Select
Case "$C$2"
Range("D3").Select
Case "$D$3"
Range("M1").Select
Case "$M$1"
Range("D6").Select
Case "$D$6"
Range("C1").Select
End Select
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.
-
Mutt
aktív tag
válasz csferke #20059 üzenetére
Hello,
..D oszlop celláit szeretném feltételes formázással színezni.. ha nem üres és tartalma (dátum) kisebb (régebbi) mint a mai nap...
Az ISBLANK függvénnyel tudod megnézni, hogy a cella üres-e. Mivel neked nem az üres kell, ezért a NOT függvénybe ágyazva a nem üres cellákra fog igazat adni.
A következő lépés már csak, hogy akkor teljesüljön a formázás ha mindkét feltétel igaz. Ebben az AND függvény tud segíteni, mert csak akkor ad vissza igazat, ha minden paramétere igaz.A feltételes formázásánál a fentiek alapján így alakul a képleted:
=AND(NOT(ISBLANK(D1));D1<TODAY())(Ha azt akarod, hogy mondjuk az első 2 sor semmiképp ne legyen kiszínezve, mert ott fejléc van, akkor erre bővítheted: =AND(NOT(ISBLANK(D1));D1<TODAY();ROW()>2)
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz csferke #20436 üzenetére
Hello,
Lehetséges-e PivotTábla adataiból diagramot készíteni?
PivotChart-nak hívják, Youtube-on jópár videó van róla.Alternatív megoldás lehet sima diagram használata, amely dinamikus tartományokból dolgozik.
Ilyet a fórumon már mutattunk be jó 1 éve. Az én példám itt van, de Delila_1 is osztott meg ilyeneket.üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz csferke #20903 üzenetére
Jelöld ki az A2:C22 területet. Ctrl+r-re táblázattá alakítja a tartományt (vagy beszúrás, táblázat).
Az újonnan bevitt sorokat innen kezdve hozzáadja a diagramodhoz.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 csferke #23046 üzenetére
A lapodhoz kell rendelned a makrót.
Mikor a lapon ráállsz egy cellára, a két diagram "mellé ugrik".Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet.Shapes("Diagram 1")
.Top = ActiveWindow.ActiveCell.Top
.Left = ActiveWindow.ActiveCell.Left + ActiveCell.Width
End With
With ActiveSheet.Shapes("Diagram 2")
.Top = ActiveWindow.ActiveCell.Top + ActiveSheet.Shapes("Diagram 1").Height + 5
.Left = ActiveWindow.ActiveCell.Left + ActiveCell.Width
End With
End SubLehet, hogy másképp hívják a diagramjaidat, ennek megfelelően írd át a makróban a "Diagram 1", és
"Diagram 2" szövegrészeket.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 csferke #23048 üzenetére
A görgetéshez nem tudok eseményt rendelni.
Az előző makróból vedd ki a két .Left kezdetű sort, akkor továbbra is a felső diagram teteje abban a sorban jelenik meg, amelyik cellára kattintasz, a másik a felső alatt, az oszlop helye változatlan marad.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 csferke #23622 üzenetére
Tudtommal nem lehet ezt a formátumot megadni, de m.zmrzlina makrójával a kijelölt területen könnyedén átállíthatod a formá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.
-
slashing
senior tag
válasz csferke #23622 üzenetére
Érvényesítéssel lehet játszani hogy csak nagybetűs szöveget engedjen beírni mondjuk, egyéni cellaformátummal nem tudom hogy megolható-e....
excel 2013, valószínű hogy 2007-ben is jó
érvényesítés
pl.: =AZONOS(A1;NAGYBETŰS(A1))de valami munklaphoz rendel eseménnyel elvileg megolható lehet hogy automatikusan nagybetűs legyen
csak elképzelés:target = UCase(target.Value)
[ Szerkesztve ]
-
Delila_1
Topikgazda
-
b3n1t0
csendes tag
válasz csferke #24043 üzenetére
Szia, próbáld meg először a C:\ProgramData\Microsoft Help mappát átnevezni majd újratelepíteni az Office-t, ha nem oldja meg a problémát akkor állítsd vissza az Internet Explorer-t alaphelyzetbe (Eszközök / Internetbeállítások / Speciális / Alaphelyzet)
Poco X5 Pro 5G *** "Néha nulla vagyok / Néha meg egy / Nem osztok, nem szorzok / Nekem egyre megy" - (ETA - Nulladal)
-
Delila_1
Topikgazda
válasz csferke #24818 üzenetére
Tegyél autoszűrőt a táblázatodba. Az A, B, és F oszlopban a szűrésnél mindegyik oszlopban vedd ki a pipát az "Üres" négyzet elől. Rejtsd el a C:E oszlopokat, jelöld ki a nyomtatandó területet, a nyomtatás párbeszédablakban "A kijelölt terület" opciót add meg.
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 csferke #25030 üzenetére
=AVERAGEIF(B:B,M6,INDIRECT("C1:C" & COUNT(C:C)))
A COUNT(C:C) megadja a C oszlopban lévő számok darabszámát. Ha az adatok üres sorokat is tartalmaznak, foghíjas a táblázatod, hamis értéket kapsz.
[ 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.
-
Delila_1
Topikgazda
válasz csferke #25036 üzenetére
Akkor a COUNT(C:C) helyett a MATCH(999999, C:C) képletet használd. A 999999 helyett olyan nagy számot írj, amekkora biztosan nem szerepel a C oszlopban. Lehet pl. 10^20.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
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... :-) ;)
-
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 (ez jobb):
"C" oszlop: =DÁTUMÉRTÉK(SZÖVEG(KEREK.LE(A1;0);"éééé-hh-nn"))
"D" oszlop: =A1-KEREK.LE(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... :-) ;)
-
KaliJoe
csendes tag
válasz csferke #25756 üzenetére
Szia csferke,
A formátumokat, és annak nemzeti vetületeit magad határozod meg... a megoldás ettől teljesen független.
A képletek angolul:
"C" oszlop: =DATEVALUE(TEXT(ROUNDDOWN(A1;0);"éééé-hh-nn"))
"D" oszlop: =A1-ROUNDDOWN(A1;0)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... :-) ;)
-
Fferi50
őstag
válasz csferke #25756 üzenetére
Szia!
Akkor most mi is a kérdés?
Mert elsőre azt írtad, hogy az A oszlop adatait szeretnéd szétbontani a C és D oszlop szerint.
Most azt írod, a C oszlopba dátumot, a D oszlopba időt szeretnél bevinni. Utána mi vele a célod???
Egyébként pedig annyit kell tenned, hogy a C oszlopot megformázod Dátum formátumra a cellaformázásban, úgy ahogyan Te szeretnéd a dátumot látni és máris írhatod be.
Ugyanezt kell tenni a D oszloppal idő formátumra. Amilyenre formáztad, olyan módon viheted be a cellákba az értéket.Üdv.
-
KaliJoe
csendes tag
válasz csferke #25762 üzenetére
Szia csferke,
Akkor most még kevésbé értem a problémád! Mivel, ha külön vannak ezek, akkor egy egyszerű kivonás már megadja az eredményeket. Napok tekintetében és az órák tekintetében is.
Ha tehát tényleg D3 a keresett cella, az egy egyzserű kivonás. Ha netán az A3-ra gondoltál, akkor csak össze kell adni a C3+D3 értékeit, és a kívánt formátumot beállítani...
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... :-) ;)
-
KaliJoe
csendes tag
-
azopi74
addikt
válasz csferke #25768 üzenetére
Nem vagy ökör, csak az eredeti kérdés feltevés volt kissé rosszul fogalmazva
"Szeretném különválasztani az "A1:A2" mezőket "C1:C2" dátum és "D1:D2" óra:perc-re..."
helyett ha rögtön
"Szeretném egyberakni a C1:C2 dátum és D1:D2 óra:perc- mezőket teljes időadat mezőre, aztán különbséget képezni belőlük "
kellett volna rögtön, és akkor feltehetően megspóroltál volna pár felesleges kört.
Sőt, fel se kellett volna tenned a kérdést, mert hát a "+" az egyik legjobb módszer az összeadásra, kivonásra meg a "-" jel, szóval a TimeEnd - TimeStart, jelen esetben (c2+d2)-(c1+d1) tökéletesen járható útAz általad említett D3=(C2-C1)+(D2-D1) már kissé szofisztikált, mert bár mi ismerjük az alapműveletek azonoságait, bölcsészeknek pl nem biztos, hogy ez annyira átlátható és evidens képletezés lenne
[ Szerkesztve ]
-
Fferi50
őstag
válasz csferke #26766 üzenetére
Szia!
Sheets("Számla könyvelése").Hyperlinks.Add Anchor:=Sheets("Számla könyvelése").Range("B"& sor+1), Address:="g:\valami\2015\szamlaneve.pdf", TextToDisplay:=szamlaszam
A szamlaszam helyére a konkrét számlaszámot írod, ami a Számla készítése lapon a B oszlopban van, ha jól látom.
Ezzel kell kiegészítened a makrót szerintem.Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz csferke #27224 üzenetére
Szia!
A munkalap fülére ráállsz. Jobb egérgomb - kód megjelenítése - lap második felében a bal oldali lenyílóban kiválasztod Worksheet. Jobb oldali lenyílóban kiválasztod Activate.
Az ekkor megjelenő makró vázba beírod a makró nevét, amit szeretnél lefuttatni.Az eljárást eseménykezelésnek nevezik, amit most csinálsz, az a munkalap aktíválásakor bekövetkező esemény. Tehát minden olyan esetben, amikor "kiválasztod" - azaz aktíválod - a munkalapot, le fog futni az a makró, amit oda betettél.
Üdv.
-
azopi74
addikt
válasz csferke #27327 üzenetére
Természetesen sehogy sem lehet ugyanolyan módszerrel. Nem csak akkor nem ha más munkalapon van, akkor sem, ha ugyanazon, de nem látható a képernyőn (mert olyan messze van, vagy nem fér bele a tartomány, vagy el van rejtve, stb..)
Nem is értem hogy gondolod, hogy működhetne? Esetleg valami osztott képernyős nézetben?
-
azopi74
addikt
válasz csferke #27334 üzenetére
DE ha ugyanazon a munkalapon van akkor semmi akadálya, hogy jobbra/lefelé megkeressem a tartományt és módosítsam.
"Kipróbáltam, tényleg. Igazság, hogy, nem gondoltam volna, mert ennek így már nem látom különösebb értelmét "
"DE, ha a másik munkalapra váltok akkor SEMMI nincs kijelölve."
Javasolhatod feature suggestben, ha gondolod , én nem látom igazán hasznosnak, de ez magánvélemény
Új hozzászólás Aktív témák
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- AKCIÓ! - STEAM kulcsok / Punch Club, Oddworld: Soulstorm, Children of Morta, stb. - 2024.05.16.
- Új, bontatlan World of Warcraft gyűjtői kiadások
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen