-
GAMEPOD.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.
Új hozzászólás Aktív témák
-
zhari
csendes tag
Üdv!
Segítségeteket szeretném kérni egy makró írásában.
Azt kellene tudnia, hogy egy adott mappából megnyit minden excel dokumentumot és minden munkalapot összemásol egy dokumentumba. Tehát van 30 db xls. (különböző munkalapnevekkel) ebből kellene a 30 munkalapot egy .xls-be összemásolnia. -
-
Mauzes
őstag
Sziasztok!
Nem sikerült kisilabizálni a custom formátum kódokat, így kérném a segítségeteket.
1. Ha van egy táblázatom pozitív és negatív 0 és 1 közötti számokkal két tizedessel, és én azt szeretném, hogy százalékban jelenítse meg ÉS hogy a negatívok zárójelben legyenek, van-e olyan kód, hogy rá tudom húzni az egész táblázatra, és akkor csak a negatív lesz zárójelben?
2. Van-e olyan kód, ami azt csinálja, hogy a pozitívok egyetlen karakterrel legyenek behúzva balra? És akkor a zárójeles és nem zárójeles számok/százalékok is pontosan lennének rendezve egymás alatt.
Előre is köszi!
-
Delila_1
Topikgazda
válasz Mauzes #15556 üzenetére
Az egyéni formátumban ezt a cifraságot add meg:
0,00%_);(-0,00%)
A pontosvessző előtti rész a pozitív-, a másik a negatív számokra vonatkozik.
Ha a formátum után közvetlenül írsz egy alsó kötjelet, és azután egy valamilyen karaktert, akkor a szám után olyan széles üres helyet hagy a cella jobb oldalán, mint a beírt karakter. A fenti példában ez a záró-zárójel a pozitív számok utá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.
-
Mauzes
őstag
válasz Delila_1 #15557 üzenetére
Szia!
Köszi, a zárójelezés jól működik, de a behúzás nem. Nem mozdult el semerre a pozitív szám (jobbra van rendezve). Az számíthat, hogy angol nyelvű excelem van?
Az a furcsa, hogy ha balra rendezem, és elé írom ugyanazt, akkor működik, behúzza jobbra...[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Mauzes #15558 üzenetére
A nyelv nem számít. Próbáld meg egy másik lapon. Előfordult már nálam, hogy nem minden lapon működött.
Másik próba, hogy nem )-et, hanem pl. W-t írsz az alsó kötjel után. A számformátum, kötjel, és a beírt karakter között ne legyen szóköz.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
sevadevil7
csendes tag
Táblázat bizonyos celláit hogy tudom jelszóval levédeni?
Pl:A1:E10-ig védett tartomány, többi cella szerkeszthető
-
Delila_1
Topikgazda
válasz sevadevil7 #15560 üzenetére
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 siskin #15564 üzenetére
Hasonló kérdésre valamikor ezt a választ adta egy ügyes informatikus (szó szerint idézem, hátha bejön):
"Ha nincs meg a fájlod valahol mégis, egy másik néven, vagy emailben csatolt állományként,
vagy ilyesmi, akkor még azt teheted, hogy elindítod az excelt, azután a feladatkezelőből leállítod.
Ezután újraindítod, és ha szerencséd van, feldob egy olyan ablakot, hogy dokumentum-helyreállítás,
és talán benne van a fájlod, ha mostanában szerkesztetted, vagy lagalább valami nem túl régi verzió.
Ha ez az út nem járható, akkor itt egy másik megközelítés.Ha felülírsz egy fájlt, az (bár nem biztos, de szerintem) olyan, mintha törölted volna.
Mármint, a rendszer elmenti az új fájlt egy új helyre, és felszabadítja a régi által lefoglalt tárhelyet.
Én törölt fájlok visszaállítási kísérleténél én ezt az utat szoktam követni:
1. Kikapcsolom a gépet (A), amin a törölt fájl van.
Törlés után a fájl még ott van a merevlemezen, de az általa lefoglalt terülte szabadnak van nyilványtva, és csak idő kérdése, hogy mikor ír oda valamit a rendszer.
2. Keresek egy másik gépet (B), amire telepítek egy olyan programot, amivel törölt fájlokat vissza lehet hozni.
Van ilyen sok, többségük nem ingyenes, de 15 v. 30 napig ingyen használható, ami teljesen megfelel a célnak.
3. Átrakom a törölt fájlt tartalmazó merevlemezt az A-ból a B gépbe, és Secondary Slave -ként konfigurálom,
hogy véletlenül se erről próbálja a gép a rendszert betölteni.
4. Enildítom a B gépet, futtatom rajta a törlésvisszavonó programot, és végigszkennelem azt a bizonyos merevlemezt, hogy megtalálja-e.
Ha megtalálja, és vissza tudja állítani, akkor jó.
Ha ez kínai, vagy nem vagy biztos a dolgodban, akkor érdemes inkább szakemberhez fordulni, mert könnyű nagy kárt okozni, ha az ember nem tudja mit csinál."Egy másik, amit megpróbálhatsz, hogy nyitsz egy új füzetet. Az első lap A1 cellájában hivatkozol a megnyithatatlan füzet első lapjának A1 cellájára -> =[FüzetNeve.xls]ElsőLapNeve!A1
Ezt le-, és jobbra másolod. Vagy bejön, és a képletek helyére bemásolod az értéküket irányított beillesztéssel, vagy tovább búsulsz.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 siskin #15564 üzenetére
Megtaláltam azt a leírást, ami a hivatkozásokkal foglalkozik.
"Csináltam egy tesztet, úgy tűnik, tényleg van egy másolat a forrástábláról a fájlban. Eléggé Excel veterán vagyok, de ez most nekem is új volt. Tedd a következőket:
1. A hivatkozásokat tartalmazó Excel fájlban nyiss egy új fület.
2. Helyezz el az A1 cellába egy hivatkozást a törölt tábla A1 cellájára. Ez valahogy így fog kinézni:
Kód:
='C:\[teszt1.xls]Munka1'!A1
A pontos elérést puskázd ki valamelyik meglévő hivatkozásból. A lényeg, hogy a végén A1 legyen és ne $A$1!
Amikor bekéri frissítés céljából az Excel a hivatkozott fájlt, nyomj mégsét.
3. Autokitöltéssel húzd végig jobbra a frissen létrehozott cellát annyit oszloppal, amennyit a forrás tartalmazott.
Ha túlhúzod, akkor sincs gond. (Autokitöltés = kijelölöd az A1-et, majd a cella jobb-alsó sarkában levő pöttyöt megfogva végighúzod jobbra a kijelölést.)
A frissítéshez újra kéri az Excel a forrásfájlt, megint mégse.
4. A felső, immár helyreállt sor celláit jelöld végig ki, majd csinálj egy autokitöltést lefelé is. Innentől kezdve meg kell, hogy kapd a forrásfájl tartalmát.
5. Ezt az egészet jelöld ki, majd CTRL&C, majd szerkesztés->irányított beillesztés->csak értéket.
Ekkor a hivatkozások felülíródnak a megjelenített értékekkel, ezzel végleg elválva a fantom forrástól. A helyreállt táblát már át tudod másolni másik Excel fájlba, stb.
Sajnos a formázásokat végleg elvesztetted, de ez legyen a legnagyobb baj."Nem valószínű, hogy az első módszerrel sikerül, mert azóta már biztosan használtad a gépet. Ezzel a most idézettel valaki pár nap után helyreállította a fájlját, legalábbis azt válaszolta a tanácsra.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Bobrooney
senior tag
Sziasztok!
VBA-val kapcsolatos kérdésem lenne:
Van egy kijelölt blokkom, ennek az összes elemét végig szeretném járni, hogy megszámoljam 1 bizonyos elem előfordulásainak számát. De a kijelölt blokk lehet hogy nem lesz azonos minden esetben.
Az oké hogy selection, de ezeket az elemeket nem tudom h kéne bejárnom valaki tud rá megoldást? -
Delila_1
Topikgazda
válasz Bobrooney #15571 üzenetére
A For Each - Next ciklussal végig lépkedhetsz a terület tagjain. A lenti példában a ciklusváltozó CV.
Sub TeruletBejaras()
Dim ter As Range, CV As Object
Set ter = Range("A1:C15")
For Each CV In ter
MsgBox CV.Address
MsgBox CV.Value
If CV < 300 Then Cells(CV.Row, CV.Column).Font.ColorIndex = 3
Next
End SubA két kiíratást csak azért tettem bele, hogy megmutassam, miket tud még ez a különleges ciklus.
A For Each CV In ter helyett For Each CV In Range("A1:C15") is szerepelhet.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
-
-
csferke
senior tag
Sziasztok!
Nemrégen feltettem ezeket a kérdéseket de mivel nem kaptam választ így most megismétlem.1.lap adatok (név, ir.szám, város, cím...)
2.lap pl. A1 cellába vlookup-al behozok egy nevet és az A2-ben szeretném összevonva megjeleníteni az ir.számot és várost (ir.szám+" "+város formában). A2-be vlookup ir.szám, B2-be vlookup város, eddig eljutottam.
Hogyan kell "összeadni" a két vlookup-ot?A1 cellába a név kiválasztásánál a legördülőben lehet-e két oszlop (pl. név, város). Az 1.lapon az adatok
város+név szerint vannak rendezve. Nagyban megkönnyítené a kiválasztást ha 2.lap A1-ben is látnám a városokat is.köszi
-
Delila_1
Topikgazda
válasz csferke #15582 üzenetére
Az első lap egy új oszlopába tedd be az =A2& " "&C2 képletet, ami összefűzi a nevet és a várost. Legyen ez pl. a D oszlopban. Ügyelj, hogy az idézőjelek között 2 db szóköz legyen.
Másold le a képletet, jelöld ki mindet, és nevezd el mondjuk NV-nek (nés és város).
A 2. lap A1 cellájában az érvényesítésnél ezt add meg forrásként: =NV
Az A2 cellába a következő képlet jön:=FKERES(BAL(A1;SZÖVEG.KERES(" ";A1)-1);Munka1!A1:C5;2;0) & " " & FKERES(BAL(A1;SZÖVEG.KERES(" ";A1)-1);Munka1!A1:C5;3;0)
Itt is 2 db szóközöket írj.
Ebből a BAL(A1;SZÖVEG.KERES(" ";A1)-1) adja a keresendő nevet. Megkeresi az A1 cellában a 2 db szóköz helyét, megadja a keresendő nevet, és ennek megfelelően keres az 1. lap adatai között.
Azért kell dupla szóköz, mert a nevek tartalmaznak 1-1 db-ot.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 Geryson #15584 üzenetére
A cellaformázás Védelem fülén jelöld be a Zárolt négyzetet. Ez az alapbeállítás szerint zárolt, ami azt jelenti, hogy azoknál a celláknál vedd ki a pipát, amelyeknél megengeded a módosítást.
A védelem akkor jön létre, mikor a lapot védetté teszed.
A 2007-es verzióban a lapfülön jobb klikkre előjön a Lapvédelem, ahol lehetőséget kapsz jelszavas védelemhez (nem kötelező jelszavazni), és kapsz egy listát, amiből kiválaszthatod, milyen módosításokat engedsz meg a felhasználóknak.
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
Van egy ilyen sorom:
ActiveCell.Offset(0, 1).Value = Cells(ActiveCell.Row, 6).Value + Cells(ActiveCell.Row, 5).Value - shift + (1 / 24)
Az = jel jobb oldalán lévő két cella dátumot és időt tartalmaz. A shift szintén idő amit ki kell vonni az előző két cella által meghatározott dátumból.
Az legvégén lévő hozzáadást (az 1/24 értéket) csak akkor szeretném elvégezni ha a shift-tel módosított időpont a nyári időszámítás idejére esik.
Úgy meg tudom oldani, hogy egy cellában a munkalapon megadok egy értéket és azt levizsgálva vagy megtörténik vagy nem a hozzáadás. De ekkor a felhasználónak egy előzetes becslést kellene elvégeznie, hogy hová fog esni várhatóan az időpont, és ez - főleg az óraállítások környéki időpontoknál - kicsit macerás.
-
poffsoft
addikt
válasz m.zmrzlina #15586 üzenetére
"a nyári időszámítás március utolsó vasárnapján kezdődik, és október utolsó vasárnapjáig tart. Ennek megfelelően minden évben más dátumra esik, de az átállítás napja mindig vasárnap. Az óraátállítás az UTC szerint hajnali 1 órakor történik, vagyis Magyarországon márciusban helyi idő szerint 2 órakor előre, októberben 3 órakor vissza kell állítani az órákat."
Temptime= Cells(ActiveCell.Row, 6).Value + Cells(ActiveCell.Row, 5).Value - shift
' ellenőrizd le, hogy téli vagy nyári időpont a Temptime
If summer then temptime=temptime+ (1/24)
ActiveCell.Offset(0, 1).Value = temptimegoogle első találata
[ Szerkesztve ]
[ Szerkesztve ]
-
dellfanboy
senior tag
hogy kell 2007-ben sort úgy elrejteni hogy utána ki tudjam "bontani" úgy hogy bal oldalon a címsávba a pluszra kattintok?
első két sorban adatok vannak szummáznám őket a 3. sorba De szeretném elrejteni az első két sort de nem jobb gombal hanem úgy hogy bal oldalon a kék mezőbe ki tudjam bontani.
remélem egyértelműeladó dolgok:mondd az árát és vidd http://hardverapro.hu/tag/dellfanboy#aprohirdetesei
-
Delila_1
Topikgazda
válasz dellfanboy #15588 üzenetére
Adatok | Tagolás | Csoportba foglalá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 dellfanboy #15590 üzenetére
Szívesen. Neked is Geryson.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
gurabli
senior tag
Sziasztok!
Remélem tudtok segíteni, nem nagyon értek sajna az Excelhez.Adott egy táblázat, az egyik oszlopba kellene bemásolni automatizálva vagy hivatkozva vagy nem tudom hogyan (csak ne gépelve) egy másik excel fájl oszlopainak adatait. Ahová másolni kell, ott minden hatodik cellába kellene , hogy kerüljön szám, de a forrásban egymás alatt vannak a számok. Ráadásul úgy kellene átrakni, hogy csak a szám kerüljön be, mert a többi cellában van képlet is.
A sorok azonos sorrendben vannak mindkét excel fájlban, csak mint írtam, amibe másolni kell ott több sor, hat, szerepel, ahonnan másolni kell, ott pedig egymás alatt folyamatosan jönnek a számok.
Remélem érthető, hogy mit akarok
Óriási segítség lenne, ha ebben tudnátok segíteni, amit előre is nagyon köszönök!"Akinek pénze van, az ne zavarja dolgozással a mások munkáját " R.J.
-
gurabli
senior tag
válasz Delila_1 #15594 üzenetére
Az első excel G10-be, majd G16-ba, majd G22-be, stb kell behívni a másik excelből az N2 az N3, N4 értékeket.
Vagyis, G10-be kell, hogy kerüljön az N2 és így tovább. A többi cellának érintetlennek kell maradnia.Remélem így érthetőbb! És köszönet előre is!
"Akinek pénze van, az ne zavarja dolgozással a mások munkáját " R.J.
-
lappy
őstag
válasz gurabli #15595 üzenetére
Egy hasonló macro a problémára!
Sub Makró1()
For i = 0 To 298 'ez az oszlop első 298 celláját másolja
Range("A" & i + 1).Select 'másolandó cella kijelölése (pl A1, A2, stb...)
Selection.Copy 'cella másolása
Range("B" & i * 16 + 1).Select 'célcella kijelölése (pl B1, B17, B33, stb...)
ActiveSheet.Paste 'cellába másolás
Application.CutCopyMode = False 'kijelölés megszüntetése
Next
End Sub[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
csferke
senior tag
válasz Delila_1 #15583 üzenetére
Delila,
ezt biztosan lehet egyszerűbben is mint ahogyan írtad #15583-banAddig jutottam, hogy:
A1-ben kiválasztom a nevet és ennek alapján
A2: =VLOOKUP(A1;Kupci!B:O;3;0) - ir.szám
B2: =VLOOKUP(A1;Kupci!B:O;4;0) - városNamármost azt szeretném elérni, hogy A2-ben legyen az ir.szám+" "+város.
Valahogy így gondolom csak nem jön össze
A2: =&(=VLOOKUP(A1;Kupci!B:O;3;0))+" "+&(=VLOOKUP(A1;Kupci!B:O;4;0))A2: &ir.szám+" "+&város
köszi
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz gurabli #15595 üzenetére
Minden feladatra van több megoldás. Lappy válasza is biztosan jó, én mást agyaltam ki.
Úgy látom a csatolt képen, hogy azon a lapon, ahonnan másolni kell, az N oszlopban folyamatosan vannak adatok, ezért ebből az oszlopból veszem az utolsó sort.
A két Set kezdetű sorban írd át a lapok nevét.Sub Tizenhat()
Dim sorIN%, sorID%, usorIN%, WSIN As Worksheet, WSID As Worksheet
Set WSIN = Sheets("Innen")
Set WSID = Sheets("Ide")
usorIN% = WSIN.Cells(Rows.Count, "N").End(xlUp).Row 'utolsó sor az Innen lapon
sorID% = 10
Do
For sorIN% = 2 To usorIN%
WSID.Cells(sorID%, "G") = WSIN.Cells(sorIN%, "N")
sorID% = sorID% + 6
Next
Loop While sorIN% < usorIN%
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.
-
gurabli
senior tag
Köszönöm a választ! Ez az én esetemben hogy nézne ki pontosan? Sajnos még azt sem tudom, hogy hol kell megadni, beírni a makrót?
A fenti kép és pontos cellák alapján mit és hogy kell változtatnom?
Köszönöm!SZERK: közben látom érkezett másik válasz is
[ Szerkesztve ]
"Akinek pénze van, az ne zavarja dolgozással a mások munkáját " R.J.
-
Delila_1
Topikgazda
válasz gurabli #15599 üzenetére
A makró beírása úgy történik, hogy Alt + F11-gyel előcsalod a VB szerkesztőt. Bal oldalon ráállsz a füzeted nevére. Insert menü | Module. Jobb oldalon kapsz egy üres felületet, oda másold be a makrót.
Visszalépsz a füzetbe, ott Alt + F8-cal bejön a makrókat tartalmazó ablak, ahonnan indíthatod a makró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.