Hirdetés

2024. május 15., szerda

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#24551) Thrawnad


Thrawnad
senior tag

Törzsszám Név UTK Óra Dátum

50400603 Cserepák József 4054 16 2014.11.30
50400603 Cserepák József 4052 36 2014.11.30
50400603 Cserepák József 4001 48 2014.11.30
50400603 Cserepák József 4033 12 2014.11.30
50400603 Cserepák József 4001 36 2014.11.30

Van egy ilyen táblám, az a kérdés hogy tudom összeadni azokat az órákat ahol egyezik az UTK és a törzsszám? Makró nélkül lehetőleg.

Köszi:
Thrawnad

Hardver hibára ritkán van jó szoftver...

(#24552) slashing válasza Thrawnad (#24551) üzenetére


slashing
senior tag

szumhatöbb függvénnyel egyszerűen

(#24553) Thrawnad válasza slashing (#24552) üzenetére


Thrawnad
senior tag

És csinál kimutatást?

Hardver hibára ritkán van jó szoftver...

(#24554) slashing válasza Thrawnad (#24553) üzenetére


slashing
senior tag

hát ha kimutatást akarsz akkor nem kell szumhatöbb mivel behúzod a szűrőhöz az utk-t az értéknek az órát és leszűröd arra amelyik érdekel.

ha meg mindegyikre kell akkor meg neked kell megcsinálni a kimutatás táblát amit meg szumhatöbb-el fel tudsz tölteni tölteni..

pl. leszűröd egyénire a törzsámokat meg az utk-kat aztán a törsz lesz a függőleges mondjuk A oszlop az utk meg a vízszintes 1 sor és jöhet a szumhatöbb...

lehet meglehet csinálni szebben jobban de így 5 perc alatt ennyire futja most...

(#24555) firemanus82 válasza slashing (#24550) üzenetére


firemanus82
senior tag

Köszönöm. Valami mókolok vele akkor. A mágnes tábla azért nem játszik, mert haza kell vinnem meg a fönökömnek is, hogy ha otthonról kell a szolgálatot szervezni, képben legyünk. A C gyökér helyett lehet más útvonal is?

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24556) m.zmrzlina


m.zmrzlina
senior tag

Adott kb 50 fájl egyetlen mappában aminek az elérési útja változó. (nem adható meg előre makróban).
Változóba szeretném írni a fájlok elérési útvonalát.

A tudomány(om) jelenlegi állása szerint ez az információ az Application.GetOpenFilename metódussal nyerhető ki. Mivel ez a módszer a fájlnévvel együtt adja vissza az elérési útvonalat előbb le kell nyisszantani a változó végéről a fájlnevet.

Az a kérdésem, hogy van-e olyan módszer ami közvetlenül az elérési utat adja vissza és nem kell utána még trükközni?

(#24557) Fferi50 válasza m.zmrzlina (#24556) üzenetére


Fferi50
őstag

Szia!

Talán két dolgot lehet tenni.
1. Ha megnyitod az adott fájlt (munkafüzetet), akkor a workbook.path tulajdonság csak az elérési útvonalat adja meg.
2.Érdemes megnézni szerintem a filesystemobject objektumot.

Üdv.

(#24558) firemanus82 válasza slashing (#24550) üzenetére


firemanus82
senior tag

Annyiban segíts még nekem légyszi, hogy hogyan tudom ezt két külön munkalapon megvalósítani? A "Beosztas" nevűben vannak a nevek, a "Munka2" nevűben a Diagram területek. Próbáltam megcímezni a kódot, de valami még hiányzik... Hibát ír ki, hogy Object required. 424. Nem talál objektumot. Ha egy lapon van minden, akkor megy (tehát nem fájlnév probléma)

Private Sub Worksheet_Change(ByVal Target As Range)
If beosztas.Target.Row = 3 And beosztas.Target.Column = 2 Then
Munka2.ChartObjects("Diagram 1").Select
ActiveChart.ChartArea.Format.Fill.UserPicture ("c:\" & Target & ".jpg")
Target.Select
End If


End Sub

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24559) firemanus82 válasza firemanus82 (#24558) üzenetére


firemanus82
senior tag

Na a diagram neve nem stimmelt, javítottam, de még mindig nem megy:

Object variable or With block variable not set 91

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24560) bocsi6


bocsi6
újonc

Sziasztok, kérdésem lenne.

Van egy Excel fájlom, amire az Excel eszköztárából feltettem pár ActiveX vezérlőt, amikhez
eseménykezelőket írtam . Eddig minden OK volt, de távollétemben egy (azt hiszem) Office frissítés után
a rendszer a gépet újraindította. Ezután jött a gubanc.

A fájl vezérlői ott voltak a helyükön, de nem működtek és ha a munkalap valamelyik eseménykezelője a
vezérlők valamelyikére hivatkozott, hibaüzenet jelent meg : Object required. Ki tudtam jelölni őket és a
Szerkesztőlécen annak rendje, módja szerint látszottak (=BEÁGYAZ(...)), de a Properties
párbeszédablakban nem jelentek meg ! Mintha tényleg nem lennének ott, pedig ott vannak.

Ha pedig, ugyancsak az Excel eszköztárból fel akartam tenni egy ActiveX vezérlőt, újabb üzenet jött :
Az objektum nem szúrható be.
Ugyanez történt, ha egy tök új Excel munkafüzetbe akartam feltenni egy ActiveX vezérlőt.

Office 2007 van a gépemen.

Mi lehet a probléma ?

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

(#24561) Fferi50 válasza bocsi6 (#24560) üzenetére


Fferi50
őstag

Szia!

No ez az a jelenség, amire szerintem pillanatnyilag nincs normális megoldás.

Próbáld a következőt:
Az excelt nyisd meg egy üres munkafüzettel.
Menj át a VBA nézetbe (Alt+F11 vagy Nézet - makrók - visual basic)
Az immediate ablakba írd be:
application.enableevents=false
Ezután nyisd meg a kérdéses munkafüzetet. Ha előjönnek az activex vezérlők, akkor kapcsold vissza az eseménykezelést: application.enableevents=true
De semmi garancia nincs arra, hogy a következő megnyitáskor nem fog összedőlni az egész excel....

Másrészt érdemes lenne megnézni, milyen "references" az amit elér az excel. Azt is a VBA nézetben láthatod. Lehet, hogy kellene egy activex komponesekre hivatkozó MS dll. De erre sem vennék mérget.

Én már több hónapja küzdök ezzel a problémával és nem találtam rá olyan megoldásra, ami garantáltan kiküszöböli.
Nagy eséllyel valamilyen memória kezelési hiba - vagy programozói "hanyagság" - okozza. Ez utóbbit azért tettem idézőjelbe, mert egyébként nem következetes az összeomlás. Van, hogy ugyanaz a program napokig megy hiba nélkül, aztán teljesen váralanul jön a baj, nem indul el, hanem kiakasztja az excelt.

Még valami, amit a szerkesztőlécen látsz beágyazként az sajnos már nem activex vezérlő, hanem munkalap vezérlő - valamelyik sorstárs irta, hogy "átalakul az activex vezérlő munkalap vezérlővé".

Üdv.

[ Szerkesztve ]

(#24562) m.zmrzlina válasza Fferi50 (#24557) üzenetére


m.zmrzlina
senior tag

Köszi a választ.

Elindultam az általad javasolt filesystemobject irányba keresgetni és eljutottam a msoFileDialogFolderPicker-hez. Talán ez lesz a megoldás.

(#24563) Delila_1 válasza firemanus82 (#24559) üzenetére


Delila_1
Topikgazda

Két dolgot változtatnék a helyedben. Az első, hogy diagramok helyett szövegdobozokat tennék a második lapra, azokba tölteném fel a képeket. A másik, hogy 2 makróval hajtatnám végre a feladatot (másképp nem megy).
Slashing változatánál maradva a képek nevét a 4. sorba viszem be.

Az eseménykezelő makrók csak a saját lapjukon tudnak dolgozni, nem hajlandóak a másik lapon ügyködni. Meg lehet hívni viszont egy nem laphoz rendelt, hanem modulba helyezett másik makrót, átadva annak az értékeket.

Az első lap, amibe a képek nevét viszem be, nálam Munka1 névre hallgat, a másik Munka2-re, a szövegdobozok txt_1, txt_2, ... txt_6 nevűek.

Laphoz:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Row = 4 Then
Kepek Target.Column, Target
Target.Select
End If
Application.ScreenUpdating = True
End Sub

Modulba:

Sub Kepek(oszlop, nev)
Sheets("Munka2").Select
Select Case oszlop
Case 2
ActiveSheet.Shapes("txt_1").Select
Case 3
ActiveSheet.Shapes("txt_2").Select
Case 4
ActiveSheet.Shapes("txt_3").Select
Case 5
ActiveSheet.Shapes("txt_4").Select
Case 6
ActiveSheet.Shapes("txt_5").Select
Case 7
ActiveSheet.Shapes("txt_6").Select
End Select
Selection.ShapeRange.Fill.UserPicture "C:\Almappa\Al_Almappa\" & nev & ".jpg"
Sheets("Munka1").Select
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24564) firemanus82 válasza Delila_1 (#24563) üzenetére


firemanus82
senior tag

Nagyon szépen köszönöm! Ez úgy néz ki bevált. :R

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24565) Delila_1 válasza firemanus82 (#24564) üzenetére


Delila_1
Topikgazda

Örülök neki, 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.

(#24566) firemanus82


firemanus82
senior tag

Nagyon láma kérdés: hol lehet átnevezni a "szövegdoboz 1". Kicsit rövidebb névre lenne szükségem :O

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24567) Delila_1 válasza firemanus82 (#24566) üzenetére


Delila_1
Topikgazda

Kijelölöd a szövegdobozt, és a szerkesztőléc bal oldalán lévő mezőbe beírod a rövid nevet, Enter.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24568) firemanus82 válasza Delila_1 (#24567) üzenetére


firemanus82
senior tag

Köszönöm! :R Eddig nem próbáltam számmal, így az adott cellára ugrott :W

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24569) Delila_1 válasza firemanus82 (#24568) üzenetére


Delila_1
Topikgazda

Azért tettem a txt után alsó kötőjelet. :DD

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24570) firemanus82 válasza Delila_1 (#24569) üzenetére


firemanus82
senior tag

Van egy kis bibim. :W Privátba küldhetem?

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24571) bocsi6


bocsi6
újonc

Fferinek : Köszi, de sajnos nem sokra jutottam.

Azt még kifejtenéd bővebben, hogy mit kéne tennem a "Lehet, hogy kellene egy activex komponesekre hivatkozó MS dll" mondatod kapcsán ?

Meg egyáltalán, milyen beállítás változhatott, ami nem 1 Excel fájlt érint, hanem az Excel egészét ?
Mi erről a véleményed ?
Bár gondolom, ha erre tudnád a választ, akkor nagy valószínűséggel a megoldást is tudnád, úgyhogy lehet, hogy ez a kérdésem a költői kérdés kategóriájába sorolható.

Köszönöm : bocsi6

(#24572) Fferi50 válasza bocsi6 (#24571) üzenetére


Fferi50
őstag

Szia!

Mint írtam is, én is csak próbálkozom...
Arra gondoltam, ha nem lehet benne activex-et egyáltalán feltenni, akkor hiányozhat ez a komponens. VBA nézetben- Tools menü - References. Ezt kellene megnézni másik gépen, ahol ment a fájl.
Nem tudom, tudsz-e régebbi környezetet "produkálni". Szerintem meg kellene nézni, hogy másik gépen, másik excellel működik-e az activex felrakása.
Esetleg - ha nincsenek benne titkos adatok, vagy azokat ki lehet gyomlálni - feltehetnéd a problémás fájlt valahova, hátha "megnézve" okosabb lehet valaki.

Üdv.

(#24573) bocsi6


bocsi6
újonc

Fferinek

Az Excel eszköztárának ActiveX vezérlői a Microsoft Forms 2.0 Object library-ben vannak.
Ezt írod :"Ezt kellene megnézni másik gépen, ahol ment a fájl."
A fájl nem másik gépen, hanem ezen a gépen ment, és itt a References között a könyvtár szerepel.

A régebbi környezetet még megpróbálom "produkálni", csak az a baj, hogy nem állítottam be visszaállítási pontot - meg egyáltalán azt hogy kell csinálni ?

A fájl másik gépen való kipróbálása (másik Excel-lel) már jobbnak tűnik, csak az a problémám, hogy ezügyben elég "magánzó" vagyok. Vagyis nemigen tudom ezt hol kipróbálni.

Az utolsó észrevételedhez :"feltehetnéd a problémás fájlt valahova, hátha "megnézve" okosabb lehet valaki". Ezzel meg az a gondom, hogy nem tudok ilyen valakit. Ha ez online történne, akkor meg : hogyan kell feltenni a fájlt ?

Ne haragudj, nem a kifogásokat keresem, csak eléggé teli vagyok kérdésekkel.

Köszi

(#24574) Fferi50 válasza bocsi6 (#24573) üzenetére


Fferi50
őstag

Szia!

Fájlokat több helyre is lehet feltenni teljesen ingyenesen és biztonságosan. Én a Data.hu-ra szoktam feltenni, ott feltöltés után kapsz egy linket, amit be lehet ide másolni. (De más "adattárak" is így működnek.)

A régi környezetet már nem tudod szerintem visszaállítani, ezért javasoltam a "szomszéd, barát, ismerős, munkahely, stb.) másik gépet ill. a feltöltést.

Üdv.

(#24575) bocsi6


bocsi6
újonc

Fferinek

Hurrá ! Sikerült !
Mégpedig rendszer visszaállítással, 3 nappal ezelőttre állítottam vissza.
Minden OK módon működik, remélem nem csak átmenetileg.

Kérlek egy mondat erejéig szólj vissza, hogy osztozol-e az örömömben, és köszi az ötleteket.
Végső soron ez a mondatod adta az ötletet : "Nem tudom, tudsz-e régebbi környezetet "produkálni"."
Én egyet nem tudtam, hogy a rendszer automatikusan létrehoz ilyen visszaállítási pontokat.

Köszi még egyszer

(#24576) Fferi50 válasza bocsi6 (#24575) üzenetére


Fferi50
őstag

Szia!

Természetesen örülök, hogy sikerült végül visszaállítani a régi környezetet. Már csak az a kérdés, kell-e az "új" környezet, illetve mi volt a változtatás, ami "törpretette" az excelt.
Ha meg tudod mondani, annak nagyon örülnék, hátha nekem is segít valamit.

Üdv.

(#24577) slashing


slashing
senior tag

Ha van beállítva rendszer visszaállítás akkor az xls fájlon jobb klikk / tulajdonságok / előző verzióknál vissza lehet állítani korábbi állapotokat is(úgy hogy közben megmarad a jelenlegi is). már ha nincs szükség a teljes környezet visszaállításra csak a fájléra.

[ Szerkesztve ]

(#24578) bocsi6


bocsi6
újonc

Fferinek
Azt sajnos nem tudom megmondani, de ha rájövök, ígérem, hogy megírom.
Üdv

(#24579) Delila_1 válasza firemanus82 (#24570) üzenetére


Delila_1
Topikgazda

Nosza!

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24580) Mag__


Mag__
tag

Sziasztok!

ÖSSZEFÜZ függvénnyel van gondom.
Ezt akarom megcsinálni, de a magyar excelben nem müködik:
ÖSSZEFŰZ agolul CONCATENATE néven működik

[link]

Van 5 sor egy oszlopban, és minden sor elejére kéne beilleszteni ugyanazt a szöveget, és még egy másik szöveget minden sor végére. A fenti link-en megcsinálja az angol excel,de nekem nem jelenik meg semmi az oszlopban,sőt eltűnik a tartalma, és H-0000 jelenik meg.Természetesen ÖSSZEFŰZ függvényt írtam be.

Előre is köszi a segítséget.

[20:21:00] <.[VIP]Viky> miért van az, hogy oda van egy film mögé írva hogy avi és közbe angol?????????????????????

(#24581) Fferi50 válasza Mag__ (#24580) üzenetére


Fferi50
őstag

Szia!

Nézd meg lsz. a cella formátumát. Az sem mindegy teljesen, hogy mit szeretnél összefűzni.
Továbbá az ÖSSZEFŰZ függvény helyett használd az & jelet. Tehát:

A2 cellába: ="előre" & A1 & "végére"

Előre és végére helyett írod a saját szöveged idézőjelek között.
Egy adott cellában saját magára nem lehet képletben hivatkozni.

Üdv.

(#24582) lappy válasza Mag__ (#24580) üzenetére


lappy
őstag

Szia!Nekem így működik

Bámulatos hol tart már a tudomány!

(#24583) firemanus82


firemanus82
senior tag

Nagyon köszönöm a segítséget "slashing" és "Delila_1"!

LG Optimus Black => LG Optimus 4X HD => LG G2 32Gb => LG G5 Titan => Samsung S8 => Huawei P20 Pro => Huawei P30 Pro => Huawei P40 Pro => Honor Magic 4 Pro=> A tűzoltó nem azért rohan be az égő házba, mert rettenthetetlen, hanem mert az elhivatottsága erősebb a félelménél. John C. Maxwell

(#24584) slashing


slashing
senior tag

#24583) firemanus82: nincs mit

Van egy select eseményem:

If Target.Column = 16 Then
Application.Dialogs(xlDialogInsertHyperlink).Show
End If

Ebbe hogyan lehet beleírni azt hogy adott könyvtárba dobjon ne kelljen kikeresnem?

példaként akármi lehet : c:\test\kepek\

(#24585) Fferi50 válasza slashing (#24584) üzenetére


Fferi50
őstag

Szia!

Nekem úgy tűnik, hogy az xldialoginserthyperlink beépített formnak nincs beállítható paramétere (ellentétben pl. a fájlnyitogatóval), mindig abból a könyvtárból indul, amelyben az aktív workbook található (és nem az aktív könyvtárból!!).

Üdv.

(#24586) Mag__ válasza Fferi50 (#24581) üzenetére


Mag__
tag

Szia Fferi50!
Köszönöm szépen a segítséget,a leírásodnak köszönhetően rájöttem miért nem ment.
Szép napot!

[20:21:00] <.[VIP]Viky> miért van az, hogy oda van egy film mögé írva hogy avi és közbe angol?????????????????????

(#24587) Mag__ válasza lappy (#24582) üzenetére


Mag__
tag

Szia lappy!
Köszönöm szépen a segítséget,a leírásodnak köszönhetően rájöttem miért nem ment.
Szép napot!

Mindkettőtöknek köszönettel tartozom!

[20:21:00] <.[VIP]Viky> miért van az, hogy oda van egy film mögé írva hogy avi és közbe angol?????????????????????

(#24588) DrojDtroll


DrojDtroll
addikt

Sziasztok, újabb feltételes formázásos gondom van.

Most valamiért az nem akar működni, hogy adott értékek mellet, egy másik munkalap formázódjon.

Pl.:

munkalap 1:

1 3 4 1
2 1 2 3
1 2 4 1

munkalap 2.

23 45 43 10
12 34 12 20
42 80 81 91

Az munkalap1 alapján kellene formáznom a munkalap2-t.
Pl.: ha a munkalap1 A1 celléja 1-es akkor a munkalap2 A1-es cellája legyen piros
ha a munkalap1 A1 celléja 2-es akkor a munkalap2 A1-es cellája legyen sárga.....

De valamiért nem enged másik munkalapra hivatkozni a feltételes formázásnál. Sajnos segédcella használata nem megengedett.

Valakinek esetleg valami ötlete van, hogyan lehetne megcsinálni?

[ Szerkesztve ]

(#24589) Fferi50 válasza DrojDtroll (#24588) üzenetére


Fferi50
őstag

Szia!

munkalap2 A1 cella Feltételes formázás, a cellák kijelölése képlettel, a képlet legyen ez:
=munkalap1!$A$1=1
a kitöltésnél jelöld be a piros szint.
A másik színnél ugyanígy.

Üdv.

(#24590) Delila_1 válasza DrojDtroll (#24588) üzenetére


Delila_1
Topikgazda

2010-es előtti verzióban nem enged más lapra hivatkozni a feltételes formázás, de egy segédoszloppal meg lehet oldani a színezést.

A Munka2 pl. a G1-ben legyen a képlet =Munka1!A1. Ezt lemásolod, ameddig kell. Ezen a lapon az A1 feltételes formázásának a képlete: =$G1=1, és itt adod meg a szí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.

(#24592) Fferi50 válasza Delila_1 (#24590) üzenetére


Fferi50
őstag

Szia!

Áthidalható a probléma úgy is, ha azt a cellát, amelyikre hivatkozni akarsz, ellátod névvel.
Így már lehet használni a feltételes formázásban is:

Munka1 munkalap A1 celláját elnevezed pl. elso -nek.
Munka2 munkalap A1 cellájának feltételes formázása: a képlet =elso=akarmi

Természetesen az akármi helyére a feltétel helyettesítendő be.

Üdv.

[ Szerkesztve ]

(#24593) slashing válasza Fferi50 (#24585) üzenetére


slashing
senior tag

Számítottam rá, nem igen találtam semmi érdemlegeset a témában, vagy ha valamit igen akkor az meg túlon túl bonyolult volt és nem is 100%-ig arra vonatkozott. Nem nagy gond eddig is kikersték ezután is :)

Más

Van egy adat érvényesítésem ami a következőt engedi: csak N/A értéket és idő formátumot. A képletben a D9 az nem cella hanem a forma idő típusára utal: ó:pp.

=VAGY($O4="N/A";CELLA("forma";$O4)="D9")

egy gondom van vele ha jó időértéket írok bele akkor a cella típusa átvált általánosról időre és ezután bármilyen szöveget elfogad már az a cella ha időértéken marad a formátuma :(

Addig eljutottam hogy worksheet change-be raktam egy ilyet:

If Target.Column = 15 And IsNumeric(Target) Then
Target.NumberFormat = "h:mm;@"
Else
Target.NumberFormat = "General"
End If

Ez annyiban segített hogy 1 jó időérték után egyszer be tudok írni rossz szöveges értéket de utánna már csak jót mert átváltott generalra, csak ki kéne küszöbölni még azt az 1 rossz érték engedését is. Gondolom előbb kéne egy format ellenőrzés is de nem jövök rá a megfelelő megoldásra :(((

[ Szerkesztve ]

(#24594) Fferi50 válasza slashing (#24593) üzenetére


Fferi50
őstag

Szia!

Ugyan nem egészen látom a logikáját annak, hogy miért formátumhoz kötöd a validálást, de az ellenőrzéshez az alábbiakat ajánlom:

If Target.Column = 15 And IsNumeric(Target) Then
Target.NumberFormat = "h:mm;@"
Else
application.undo
msgbox "Helytelen adat"
'Target.NumberFormat = "General"
End If

Lehet, hogy a kikommentelt sor is kell, nézd meg lsz.

Üdv.

[ Szerkesztve ]

(#24595) Fferi50 válasza slashing (#24593) üzenetére


Fferi50
őstag

Szia!

Még valami: Ha már egyszer úgyis meg kell nézni, hogy jót írt-e be, azt be lehetne építeni a fenti makróba és akkor az egész validálást ki lehet iktatni:

Én beszúrnám még ezt a sort az else után az előző makrómban:
if target.value<>"N/A" then
utána jön az Undo, az üzenet és ne felejtsd el az ezt záró end if -et.

Üdv.

(#24596) slashing válasza Fferi50 (#24594) üzenetére


slashing
senior tag

Mert ahogy idő kerül a cellába átvált a cella típusa időre és valamiért ha idő a típusa az adatérvényesítés elfogadja az n/a helyett az "akármit" is.

De ez az applictaion undo ez nagyon jó lehet kihagyom a fenébe az érvényesítést és csak makró fogja ellenőrzizni ha már úgy is kell bele makró is.

(#24595) Fferi50
pont ugyan ezt raktam még bele az előbb de még mindig nem tökéletes valami kezdek nagyon belekavarodni :D

[ Szerkesztve ]

(#24597) DrojDtroll válasza Delila_1 (#24590) üzenetére


DrojDtroll
addikt

Köszi :R

Még szerencse, hogy 2007-esel próbálkoztam. :W

(#24598) Delila_1 válasza DrojDtroll (#24597) üzenetére


Delila_1
Topikgazda

Szivi. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24599) G@ben válasza lappy (#24539) üzenetére


G@ben
addikt

Már csak egy kérdés: hova kell beírni azt a könyvtárat, amiben a fájlok vannak?

Amit ma letölthetsz, ne halaszd holnapra!

(#24600) Fferi50 válasza slashing (#24596) üzenetére


Fferi50
őstag

Szia!

Akkor leírom egyben:

Application.Enableevents=false
If Target.Column = 15 And IsNumeric(Target) Then
Target.NumberFormat = "h:mm;@"
Else
if target.value<>"N/A" then
application.undo
msgbox "Helytelen adat"
'Target.NumberFormat = "General"
endif
End If
Application.Enableevents=True

Arra figyelj, hogy az "N/A" szöveg nem azonos az N/A hibával! Ide most szöveget kell írni. Ha a hibát szeretnéd, akkor azt másképpen kell.

Üdv.

[ Szerkesztve ]

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.