-
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
-
m.zmrzlina
senior tag
válasz Delila_1 #8101 üzenetére
Az lenne a rövid kérdésem, hogy ezt a parancsot:
Application.DecimalSeparator = ","
ki lehet-e úgy adni, hogy csak egyetlen munkafüzetre legyen érvényes, ne pedig az összes megnyitottra?
Workbooks-nak vagy Worksheets-nek van ilyen vagy ehhez hasonló eszköze?
[ Szerkesztve ]
-
perfag
aktív tag
válasz m.zmrzlina #8151 üzenetére
A Súgó szerint nem, ez csak az Application objektum tulajdonsága.
Azért megkérdezném mi a célod? Mert lehet, hogy meg lehet kerülni pl. egy (Workbook.Change) eseményre írt makróval.Amikor az adott munkalapra váltasz akkor átvált, amikor elhagyod akkor visszavált. -
Abi8211
csendes tag
Sziasztok!
A segítségeteket szeretném kérni! 1 Excel file-ba szeretnék összemásolni sok excel filet, természetesen minden fülre kellene kerülnie 1 file. Ki lehet ezt vitelezni valamilyen paranccsal, mennyi a maximális fül amit tud kezelni egy Excel?
Segítségeteket előre is köszönöm!
-
Sickboy25
addikt
Sziasztok
Ismét lenne egy gyors kérdésem:
Adott egy táblázat, H5;BD91 tartományában, hogy tudom kiszámoltatni, hogy mennyi jelölt négyzet van. A jelölések X-szel történtek és csak egy karaktert tartalmaz!
Köszönöm
"Az élet olyan, mint az ásás. Néha hátráltat egy- két gyökér, de annak jól odab*szol ásóval, azt’ haladsz tovább!"X360 gamertag: sickboyhun
-
m.zmrzlina
senior tag
Ettől a választól féltem, nagyjából én is ezt tudtam lederiválni a súgóból, csak gondoltam hátha rosszul néztem.
Az a feladatom, hogy egy ilyen struktúrájú: 63:37 (21.3 %) cellatartalomból (kb 12000 db cella) kell kiválogatnom a százalék értékeket majd azokkal egyszerű matematikai műveleteket végezni. A munkafüzetnek egymástól eltérő területi beállítású gépeken is működnie kell ezért nem mindegy, hogy a tizedeselválasztó "." vagy ","
Mivel az általam beidézett parancsnak nem látszik hogy lenne egyetlen munkafüzetre érvényes változata ezért marad a B terv miszerint a munkafüzet betöltődésekor le kell kérdezni a területi beállítást és az eredménytől függően vagy lefuttatni a cseréldleazösszespontotvesszőre makrót vagy nem.
A kérdés mostmár az, hogy hogyan lehet excelből lekérdezni a gép területi beállítását különös tekintettel a tizedeselválasztóra.
-
félisten
válasz m.zmrzlina #8156 üzenetére
Hali!
Az hogy az Excel a területi beállításoknak megfelelő karakterrel válassza el a tizedesjegyeket, az a számolási műveleteket nem befolyásolja. Teljesen mindegy hogy 2,00-t avagy 2.00-át szorzol össze 2-vel, az attól még 4 lesz, teljesen lényegtelen, hogy ezt az eredményt 4,00 avagy 4.00-ként jeleníti meg az excel.
Szóval csak ez miatt nincs szükség semmilyen beavatkozásra.
Az a példa, amit írtál az nem szám formátumú 63:37 (21.3 %) (már ha jól értem és ez egy cella tartalma) ergó nincs mit kezdeni a területi beállításokkal.
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
m.zmrzlina
senior tag
válasz Fire/SOUL/CD #8157 üzenetére
De valamiért attól még nem kezd el számként viselkedni, hogy levágtam róla a felesleget. Ha lecserélem a "."-t ","-re és megszorzom az egészet egyel akkor már lehet vele számolni. addig nem.
Azokon a gépeken amelyek "."-t várnak tizedeselválasztónak ott #VALUE hibakódot ad
Nagyjából így néz ki a fv:
=HELYETTE(KÖZÉP('másik munkalap'!D22;SZÖVEG.KERES("(";'másik munkalap'!D22)+1;(SZÖVEG.KERES("%";'másik munkalap'!D22)-1)-(SZÖVEG.KERES("(";'másik munkalap'!D22))-1);".";",")*1[ Szerkesztve ]
-
félisten
válasz m.zmrzlina #8158 üzenetére
Hali!
"Csak mert nagyon nem így van."
Nem is írtam, épp azt írtam, hogy ha az egy cella tartalma, akkor az szöveg.
A cella tartalmát fel lehet dolgozni, adott esetben makró nélkül is, persze ehhez tisztában kell lenni, hogy azok a cellák milyen tartalmakat vehetnek fel. Pl példádnál maradva12:34 (12.34 %)
34:56 (34.56 %)
123:456 (56.78 %)Ebben az esetben a százalék értékek makró nélkül is kiszedhetőek és számmá alakíthatóak (százalékká is)
Ha ennél változatosabbak a cellatartalmak, nem ennyire kötöttek, akkor makró(de akkor sem biztos, csak tudni kellene, hogy mégis milyen tartalmak vannak a cellában)Szerk
Akkor inkább azt kérném, hogy pár cellatartalmat adj meg, meg azt, hogy mit szeretnél csinálni(nem képlet érdekel, hanem feladatleírás). Így látnám mi a probléma...Fire.
UI: Mellesleg ha kijelölnéd az összes ilyen cellát és egy sima csere segítségével lecserélnéd a pontot vesszőre már az is megoldást jelenthetne...
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
m.zmrzlina
senior tag
válasz Fire/SOUL/CD #8159 üzenetére
Bocs közben átírtam a hsz-t. Az újban már látszik, hogy hogyan csinálom a darabolást
-
m.zmrzlina
senior tag
válasz Fire/SOUL/CD #8159 üzenetére
Nagyjából az a struktúra van amit te megadtál annyi különbséggel, hogy a zárójelben lévő értékek a 0-100 ig változnak és ami kívül van az sem mindig ugyanolyan hosszú.
De ezzel nincs is semmi gondom, az előbb idézett képlet rendesen megcsinálja a leválasztást csak akkor van gond ha hurcolászni kell a fájlt két gép között (márpedig kell)
Ha csinálok egy olyan mentést amiben kiveszem a képletből a =HELYETTE fv-t és megnyitom a "."-t váró gépen akkor az is megy tökéletesen.
A baj hogy nem akarok két fájlt és amennyire lehet nem akarom a felhasználóra bízni a módosítgatásokat mert ezeket a fájlokat nagyon különböző informatikai képességekkel rendelkező emberek fogják használni öszzesen vagy tizen-huszan (az egyik tud makrót is írni a másik azt sem tudja mi az a Ctrl-c Ctrl-v)
Ezért akarnám a felismerést automatikusan megcsinálni.
-
félisten
válasz m.zmrzlina #8160 üzenetére
Hali!
Átírtam a már majdnem jó megoldásod, itt A1-ben van a 12:34 (12.34 %)
=HELYETTE(KÖZÉP(A1;SZÖVEG.KERES("(";A1)+1;SZÖVEG.KERES("%";A1)-SZÖVEG.KERES("(";A1)-2);".";",")*1
Az egyetlen fontos dolog, hogy a százalékos értéknek minden cellában egy szóköz és % jel kövesse, tehát ahogy a példádban is van:
12:34 (12.34szóközszázalék)Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
m.zmrzlina
senior tag
válasz Fire/SOUL/CD #8162 üzenetére
Értem én ezt valóban frappánsabb megoldás mint az enyém de ez sajnos nem oldja meg a tizedeselválasztó problémáját. Továbbra is #VALUE hibakódot ad a képlet olyan a gépen aminél "." az elválasztó ha benne hagyom a "." "," cserét.
Köszönöm
-
Delila_1
Topikgazda
válasz m.zmrzlina #8163 üzenetére
Írj egy makrót a cserére, tegyél ki hozzá egy gombot. Amelyik gépen szükség van a cserére, megnyomják, a másikon nem.
A másik fórumon, ahol feltetted ezt a kérdést, már leírtam ugyanezt az választ.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
m.zmrzlina
senior tag
válasz Delila_1 #8164 üzenetére
Stimmel, valsz ezt fogom tenni csak reméltem, hogy le lehet automatizálni ezt a részt is.
Apropos: 2007es Office-ban van-e lehetőség új menüpont beszúrására? Nem a Gyorsindítás gombok közé tehető parancsgombokra gondolok, hanem a Szalagra lehet-e definiálni egy menü elemet (új fület) ahova lehet pakolgatni makróhoz rendelhető parancsgombokat.
Régebbi verziókban volt ilyen sőt az Openoffice-ben is van
Egyébként köszönöm a választ itt is ott is.[ Szerkesztve ]
-
félisten
válasz m.zmrzlina #8163 üzenetére
Hali!
Akkor itt egy képlet, aminek "mindegy" hogy milyen a területi beállítás(minden olyan területi beállítás jó, amiben pont vagy vessző a tizedeselválasztó) illetve az is, hogy a cellában ponttal avagy vesszővel elválasztva szerepel a százalék. pl 12:34 (12.34 %) avagy 12:34 (12,34 %)
(Ha valaki nem pontot vagy vesszőt használ, akkor meg #ÉRTÉK hibát dob)=HA(HIBÁS(ÉRTÉK(HELYETTE(KÖZÉP(A1;SZÖVEG.KERES("(";A1)+1;SZÖVEG.KERES("%";A1)-SZÖVEG.KERES("(";A1)-2);".";",")));ÉRTÉK(HELYETTE(KÖZÉP(A1;SZÖVEG.KERES("(";A1)+1;SZÖVEG.KERES("%";A1)-SZÖVEG.KERES("(";A1)-2);",";"."));ÉRTÉK(HELYETTE(KÖZÉP(A1;SZÖVEG.KERES("(";A1)+1;SZÖVEG.KERES("%";A1)-SZÖVEG.KERES("(";A1)-2);".";",")))
Fire.
UI: Makrónál az lehet "gond", hogy ott meg minden usernél engedélyezni kell a makrók futtatását az Excel beállításokban illetve a munkafüzet megnyitásakor is rákérdez(het)...
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
lackatwo
csendes tag
Sziasztok!
Van-e mod excel VBA-bol lekerdezni a megnyitott xls file utvonalat?
Szuksegem lenne az azonos konyvtarban levo kulso adatforrasok beolvasasahoz.
Koszi elore is a segitseget.bocs a nemekezetelesek miatt
-
félisten
válasz lackatwo #8167 üzenetére
Hali!
ThisWorkbook.Path vagy
ActiveWorkbook.PathEgy üres és még el nem mentett munkafüzetnél a PATH is üres természetesen...
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
lackatwo
csendes tag
válasz Fire/SOUL/CD #8168 üzenetére
Koszi, megproszalom a ket meccs ugyis pocsekul all
bocs a nemekezetelesek miatt
-
Styleboy
tag
Hali mindenkinek.
Egy olyan problémám lenne, hogy mikor felírom egy derékszögű háromszög cosinus szögé a befogó és az átfogó hányadosával akkor eböl szeretnék szöget számítani. De egyszerűen nem találok hozzá függvényt.Olyasmire gondolok mint a számológépen a cos-1.-ön
Pl. adott hogy 3/5= CosAlfa=0,6, na és ebből szeretném megtudni, hogy mennyi az Alfa?
(2003as excel, de ha nincs más a 2007es magyarázat is jöhet,csak azt nem szeretni.Válaszotokat előre is köszönöm.. Remélem tudtok segíteni.
[ Szerkesztve ]
"Aquila non captat muscas" --- azaz "A sas nem fog legyeket"
-
lackatwo
csendes tag
válasz Fire/SOUL/CD #8168 üzenetére
Mindket ..Workbook.Path jol mukodik barmely meghajtorol inditom az excel fileomat, de a Dir(*.csv) ennek ellenere az eredeti C meghajtom konvtarabol olvas mindig (ahonl korabban szerkesztettem a makrozott xls-t).
bocs a nemekezetelesek miatt
-
félisten
válasz lackatwo #8171 üzenetére
Hali!
A DIR-ben teljes útvonalat is megadhatsz, pl ez kilistázza az összes fájlt abból a könyvtárból, ahonnan az excel fájl meg lett nyitva
Private Sub CommandButton1_Click()
Fname = Dir(ThisWorkbook.Path & "\*.*")
Do While Len(Fname) > 0
MsgBox (Fname)
Fname = Dir()
Loop
End SubFire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Styleboy
tag
válasz m.zmrzlina #8174 üzenetére
Köszi a segítséget. Valahogy ez 2003ban nem akart működni,de a 2007ben jó.
Ezer hálám."Aquila non captat muscas" --- azaz "A sas nem fog legyeket"
-
Oly
senior tag
Sziasztok
Egy gyors segítségre lenne szükségem.
macróba olyat szeretnék, hogy feldob egy üzit Igen/Nem lehetőséggel, és a parancs csak az igenrfe fut le, a nemre kilép.
Köszke
SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
perfag
aktív tag
Itt egy minta VBA: Yes or No Message Box.Erre gondoltál? A MsgBox sorokat kell lecserélned kilépésre, vagy egy makró meghívására.
-
félisten
Hali!
Kép perfrag linkjéről
Kód
Sub YesNoMessageBox()
Dim Answer As String
Dim MyNote As String
'Place your text here
MyNote = "Do you agree?"
'Display MessageBox
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "???")
If Answer = vbNo Then
'Code for No button Press
MsgBox "You pressed NO!"
Else
'Code for Yes button Press
MsgBox "You pressed Yes!"
End If
End SubFire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Delila_1
Topikgazda
Egy egyszerű makró:
Sub IgenNem()
Dim v As String
v = MsgBox("Válassz! Folytatódjon a program?", vbYesNo, "Doboz címe")
If v = vbNo Then Exit Sub
MsgBox "Itt folytatódik a program"
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.
-
m.zmrzlina
senior tag
Egy excel munkalapra szeretném beilleszteni a vágólap tartalmát a következő parancssorral
Sheets("Munka1").Select
Range("A1:O1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.ClearContents
ActiveSheet.PasteMűködik is a dolog abban az esetben ha a vágólapra másolás nem excelből történik. Azonban ha a vágólap tartalma egy másik excel munkalapról kerül a vágólapra akkor a program "Run-time error 1004 A worksheet osztály Paste metódusa hibás" hibaüzenettel elszáll.
Ilyenkor ha megnézem a vágólap tartalmát az nem üres de jobb klikkre a Beillesztés menüpont inaktív, mintha nem lett volna előtte kijelölve semmi. Pedig nagyon is ki lett.
[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz m.zmrzlina #8181 üzenetére
Olyan mintha valamelyik .Select vagy a Selection.ClearContents felülírná a vágólap tartalmát.
Hogyan lehetne lekezelni ezt a problémát úgy hogy ha nem muszáj nem szeretnék formot tenni a munkalapra?
-
m.zmrzlina
senior tag
válasz m.zmrzlina #8182 üzenetére
Közben megoldottam.
Az azért érdekelne, hogy mi is a pontos különbség Select és Activate metódus között.
-
perfag
aktív tag
válasz m.zmrzlina #8183 üzenetére
Ha a Google-be beírod "vba Select vs Activate" kapsz pár millió találatot a kérdésedre.
Azt írják, hogy a Select arra jó, hogy több munkalapot kiválassz egyidejűleg, míg az Activate-tel csak egyet lehet aktívvá tenni. Az MSDN kiemeli, hogy cellákat kijelölni csak aktív munkalapon lehet (munkalapokat kijelölni csak aktív munkafüzetben).A prog.hu-negy érdeks gondolat: Annyit azért megjegyeznék, hogy makróban a Select és Activate metódusok használata szerintem nagyon rossz gyakorlat. Miért? Mert valamennyi munkafüzet, valamennyi munkalap és valamennyi cella tartomány elérhető címzéssel.
-
szjoci
őstag
Sziasztok!
Segítséget kérnék! Hogyan lehet (vagy egyáltalán lehet-e) olyan külső hivatkozást csinálni, amelyben a fájl neve egy adott cellában van?
-
félisten
Hali!
Pont úgy ahogy leírtad, azaz a cellába beszúrsz egy hiperhivatkozást amiben megadod(be lehet tallózni) a kívánt fájlt. Ilyenkor a cellára víve a kurzort linkként fog viselkedni(megváltozik az egérkurzor is) és ha rákattintasz, akkor megnyitja a fájlt pl egy másik XLS-t.
Remélem erre gondoltál, nem pedig pl külső hivatkozás adatforrásra...
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Delila_1
Topikgazda
Nézd meg ezt és az előzményeit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
szjoci
őstag
válasz Delila_1 #8187 üzenetére
köszönöm!
Ez az indirekt függvény működik úgy is hogy nem kell megnyittatnom a hivatkozott munkafüzetet, vagy pedig mindenképp meg kell nyitnom?
leírom inkább miről lenne szó konkrétan: van egy lista fájlnevekkel, ezek közül amit kiválasztok az lenne az adatbázis, abból szeretnék adatokat elérni. -
perfag
aktív tag
Ha jól értem akkor meg nem nyitott Excel fájlokból szeretnél adatokat importálni. Évekkel ezelőtt én ezt ebből tanultam meg: Read information from a closed workbook
-
bnorci71
addikt
Szasztok!
Delila_1
itt is szeretném megköszönni a segítséget amit e-mailben kaptam
azóta most volt időm foglalkozni vele, most szenvedtem vele egy kicsit úgy néz ki sikerülni fog, ha nem akkor feladom
"If in doubt, flat out!" "Straight roads are for fast cars, turns are for fast drivers"
-
biker
nagyúr
megint lenne egy extra kérésem
"a" űrlap o2 mezőjébe szeretném a "b" űrlap l2 és g2 mzőinek szövegét +egy megadott szoveget hivatkozva beilleszteni, és persze másolni amennyiszer kell
tehát ha b.l2=teszt, b.g2=uzenet és default text=lenne
akkor az a.o2=teszt uzenet lenneElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
félisten
-
biker
nagyúr
válasz Fire/SOUL/CD #8192 üzenetére
nem... munkalap
de a feladat ugyanaz.Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
biker
nagyúr
válasz Delila_1 #8195 üzenetére
bakker, mindent végigpróbáltam, és idézőjeleztem is, de nem így, lévén a súgóban se találtam csak összefüggő számadatok összefűzését
futok tesztelni!
Olyat is tudsz, hogy közben on-the-fly kicseréljen ||| jelet <br> jelre?
[ Szerkesztve ]
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
biker
nagyúr
király(nő) vagy
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
félisten
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- PHP programozás
- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- A fociról könnyedén, egy baráti társaságban
- Fejhallgató erősítő és DAC topik
- Gaming notebook topik
- Befutottak a The Callisto Protocol első értékelései
- Mini-ITX
- Milyen nyomtatót vegyek?
- MG4 menetpróba
- További aktív témák...
- Windows 10 Home COA fizikai licencek kiárusítás ingyenes szállítással
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- Steames kulcsok jó áron eladóak!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.