- Lalikiraly: Astra kalandok @ Harmadik rész
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
- Lalikiraly: Sencor SMC BS30 aktív hangfalszett bemutató
-
LOGOUT
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
-
Fferi50
Topikgazda
válasz
littleNorbi #23897 üzenetére
Szia!
Annyit azért elárulhattál volna, hogy angol nyelvű excelt használsz.....
(Mint az a következő hozzászólásodból ki is derül.)Üdv.
-
littleNorbi
aktív tag
válasz
littleNorbi #23897 üzenetére
MEGOLDVA!
Fogtam az egész házszám oszlopot, Replace segítségével a szóközt és a "-"-t megváltoztattam "/"-re.
Az eredeti oszlopomat átmásoltam egy másik oszlopba. Majd Text to Columns-szel, szétdaraboltam a cellám a "/" jelig. A számokat rendeztem növekvő sorrendben. majd használtam az ISEVEN függvényt, akkor az szerint rendeztem, majd utcák szerint, és végül visszamásoltam az eredeti oszlopomat a szétdarabolt (amiben csak számok maradtak) oszlop helyére.Köszönöm szépen a segítséget!!!
-
littleNorbi
aktív tag
válasz
Delila_1 #23878 üzenetére
Sajnos ez nálam nem múködik, pedig bekapcsoltam a makrókat, meg minden, de az oszlopokban: "NAME?" van. Azt hiszem különben, hogy nem teljesen értetettek meg. Csináltam egy példát amiben kézzel rendeztem, hogy hogy is kellene kinéznie a számomra megfelelő végeredménynek. Tehát nekem az összes adatra szükségem van nem csak a házszám egyik felére, csak azért akarom szétválasztani 2 oszlopba, hogy könnyebben tudjam rendezni, majd rendezés után meg összefűzném a 2 oszlopot 1-be.
-
Fferi50
Topikgazda
válasz
Dr. Romano #23886 üzenetére
Szia!
Az alábbi feltételes formázást javaslom:
A rendszámok a B2:C29 mezőben vannak.
Formázás képlettel,
a B2:B29 cellákra a következő a képlet:=ÉS(DARABTELI($B$2:$B$29;$B2)>0;DARABTELI($C$2:$C$29;$B2)>0)
a C2:C29 cellákra pedig a következő: =ÉS(DARABTELI($C$2:$C$29;$C2)>0;DARABTELI($B$2:$B$29;$C2)>0)Azért kell az abszolút ($-os) képlet a tartomány meghatározásához, hogy ne "csússzon ki" a tartományból a számolás.
Másrészt, azért kell különböző képlet a két oszlopra, mert nem egymás mellett is lehetnek az azonos rendszámok, tehát az első képlet "próbáját" is meg kell csinálni a második oszlopra.Üdv.
-
Dr. Romano
veterán
válasz
m.zmrzlina #23893 üzenetére
Igaz... már kicsit elvesztem, két órája ezt nézem, már fáj a fejem.
-
Dr. Romano
veterán
válasz
m.zmrzlina #23888 üzenetére
Végül elvileg ez a nyers képlet hozzá:
=DARABTELI(B$1: B$9;A1)>0Most már nyomon vagyok. Istenek vagytok, kösz srácok a segítséget!!
-
slashing
senior tag
válasz
Dr. Romano #23889 üzenetére
rákerestem youtubon-n https://www.youtube.com/watch?v=hovSZI3Ekyo
0:45-nél csinálja, ennél egyszerűbben nem lehet.. 4 kattintás az egész oszlop kijelöl menüben kiválaszt majd leokéz, nem kell képlet semmi
-
m.zmrzlina
senior tag
válasz
Dr. Romano #23889 üzenetére
Azt szinezi amit szeretnél?
-
Dr. Romano
veterán
válasz
m.zmrzlina #23888 üzenetére
Persze, a sor értékeket átírtam, azzal nem volt gond (szerencsére nem vagyok rendőr
) Lehet az a probléma hogy ez office 2007?
slashing
Köszi neked is, átgondoltam, legvégső esetben a tiéd is jó lehet... -
m.zmrzlina
senior tag
válasz
Dr. Romano #23883 üzenetére
Új még nekem ez a data.hu
Az előző megoldás nem is lehetett jó mert nem ugyanabban a sorban van az ismétlődő érték. Itt az első oszlopban szinezi azt az elemet amely megtalálható a másodikban is.
-
slashing
senior tag
válasz
Dr. Romano #23886 üzenetére
pontosan menüből egyszerűen szerintem a 2007 is támogatja a feltételes formázásnak azt a verzióját amit az első mondatomban leírtam...
Kijelölöd őket, menüben feltételes formázás/kijelölési szabályok/ismétlődőek....
-
slashing
senior tag
válasz
Dr. Romano #23883 üzenetére
excel 2013-ban, rendszámokat kijelöl, feltételes formázás/cellakijelölési szabályok/ Ismétlődő értékek...
vagy kijelölöd az egyik oszlopot aztán Adadtok/Ismétlődések eltávolítás így amiből 2-vagy több van abból csak 1 marad ugyanezt a másik oszlopon aztán ha ez megvan még csinálsz feltételes formázást ahogy fent írtam hogy megnézd a két oszlopot hogy egymáshoz viszonyítva vannak-e ismétlődések ha igen valamelyikből kitöröld kézzel....
-
Dr. Romano
veterán
válasz
m.zmrzlina #23882 üzenetére
Szia!
Megpróbáltam, de béna lehetek mert nem sikerült
Megpróbálnád légyszi ezen a teszten és tudnád linkelni a képletet? Lényeg hogy csak azokat az értékeket jelölje meg ami mindkét oszlopban szerepel. Előre is köszönöm!
-
m.zmrzlina
senior tag
válasz
Dr. Romano #23881 üzenetére
-
Dr. Romano
veterán
válasz
Dr. Romano #23880 üzenetére
Mármint csak abban az esetben emelje ki, ha mindkét oszlopban szerepel. Ha csak a sajátjában van duplikálva azt ne (pont ezért nem jó nekem a feltételes formázásban lévő kiemelő.
-
Dr. Romano
veterán
Van két oszlopom rengeteg rendszámmal. Szeretném ha az Excel (2007) a két oszlopban egyezőket kiemelné más háttérrel, színnel stb. Ezt hogyan tudnám megoldani?
-
repvez
addikt
köszi egy is jó , csak a grafikonos megjelenitéssel nem jutok elöre az elsö görbét megjeleniti,de a másodikat nem tudom hozzáaddni, mert hiába jelölöm ki ugyan ugy nem jelenik meg egy diagramban a két görbe.
-
Delila_1
veterán
válasz
littleNorbi #23863 üzenetére
Itt a végleges-nek látszó füzet.
-
Delila_1
veterán
válasz
Delila_1 #23872 üzenetére
Még valamit be kellett tenni a ciklusba.
For betu = 1 To Len(szoveg)
If IsNumeric(Mid(szoveg, betu, 1)) Then
szam = szam & Mid(szoveg, betu, 1)
ElseIf Mid(szoveg, betu, 1) = "/" And IsNumeric(Mid(szoveg, betu + 1, 1)) Then
If WorksheetFunction.IsEven(Left(szoveg, InStr(szoveg, "/") - 1) * 1) Then
ParosCsakSzam = szoveg
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
ElseIf WorksheetFunction.IsEven(szam) Then
ParosCsakSzam = szam
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
NextA 7/4-hez enélkül nullát ad.
-
Mittu88
senior tag
válasz
repvez #23873 üzenetére
Szerintem egyszerűbb, ha egy másik munkalapon megvannak az adatok.
Írd be A1-be, hogy 100000. Utána menüszalagon Kezdőlap\Szerkesztés\Kitöltés\Sorozatok...
Ezen belül Számtani, Lépésköz: 100 Végérték 1000000.
Ha ezzel megvan, mellé B1-be egy képlet: =A1*0,67 C1-be meg: A1*0,74
Aztán behivatkozod diagramba.Így jó?
-
Delila_1
veterán
válasz
repvez #23873 üzenetére
Számolás nélkül szerintem nem megy, viszont gyorsan megoldhatod.
Első cellába (A1-be) 100000, másodikba (A2) 100100. Ezt lehúzod, ameddig kell. Mellette B1-be =A1*67%,
C1-be =A1*74%.A B1 és C1 cellát együtt kijelölöd, a C1 jobb alsó sarkában lévő kis fekete négyzetre duplán kattintva már kész is a teljes számításod.
-
Delila_1
veterán
válasz
m.zmrzlina #23871 üzenetére
Közben megszületett a páros számok kigyűjtése (egyik oszlopba), a páratlanokhoz ebben a makróban át kell írni az IsEven-eket IsOdd-ra.
Function ParosCsakSzam(cella As Range)
Dim betu As Integer, szam As Integer, szoveg As String
szoveg = Trim(cella)
If IsNumeric(szoveg) Then
If WorksheetFunction.IsEven(szoveg) Then
ParosCsakSzam = szoveg
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
Else
For betu = 1 To Len(szoveg)
If IsNumeric(Mid(szoveg, betu, 1)) Then
szam = szam & Mid(szoveg, betu, 1)
ElseIf Mid(szoveg, betu, 1) = "/" And IsNumeric(Mid(szoveg, betu + 1, 1)) Then
If WorksheetFunction.IsEven(Left(szoveg, InStr(szoveg, "/") - 1) * 1) Then
ParosCsakSzam = szoveg
Exit Function
End If
ElseIf WorksheetFunction.IsEven(szam) Then
ParosCsakSzam = szam
Exit Function
Else
ParosCsakSzam = ""
Exit Function
End If
Next
End If
End Function -
Delila_1
veterán
válasz
m.zmrzlina #23869 üzenetére
Valamelyik hsz-ben az volt, hogy az 56/12 teljes egészében kell. Legalábbis úgy rémlik.
Láttad, hogy pl. az 1/A igazán "1/A " ?
Egy halom szóközzel a végén. -
Delila_1
veterán
válasz
m.zmrzlina #23867 üzenetére
Már eleve nem tudom értelmezni pl. a 17.sorban lévő 13/II-I-3 féle házszámokat, de gyanítom, hogy ott nem lesz jó a 133-as eredmény.
-
m.zmrzlina
senior tag
válasz
Delila_1 #23866 üzenetére
Én úgy értelmeztem, hogy littleNorbi-nak a C oszlopban lévő adatokra van szüksége. Ha így van akkor ez a fv kell: (Isten bocsássa meg nekem amit tettem
)
Function CsakSzam(cella As Range)
Dim betu As Integer, szam As Integer
If IsNumeric(cella) Then
CsakSzam = cella
Exit Function
End If
For betu = 1 To Len(cella)
If IsNumeric(Mid(cella, betu, 1)) Then
szam = szam & Mid(cella, betu, 1)
'ElseIf Mid(cella, betu, 1) = "/" And IsNumeric(Mid(cella, betu + 1, 1)) Then
ElseIf Mid(cella, betu, 1) = "/" Or Mid(cella, betu, 1) = "-" Then
'CsakSzam = cella
CsakSzam = Left(cella, betu - 1) * 1
Exit Function
Else
CsakSzam = szam * 1
End If
Next
End Function -
Delila_1
veterán
válasz
littleNorbi #23863 üzenetére
Kiegészítve a tegnapi makró:
Function CsakSzam(cella As Range)
Dim betu As Integer, szam As Integer
If IsNumeric(cella) Then
CsakSzam = cella
Exit Function
End If
For betu = 1 To Len(cella)
If IsNumeric(Mid(cella, betu, 1)) Then
szam = szam & Mid(cella, betu, 1)
ElseIf Mid(cella, betu, 1) = "/" And IsNumeric(Mid(cella, betu + 1, 1)) Then
CsakSzam = cella
Exit Function
Else
CsakSzam = szam
End If
Next
End Function -
Mittu88
senior tag
válasz
littleNorbi #23863 üzenetére
részvétem :/
-
Zola007
veterán
válasz
m.zmrzlina #23860 üzenetére
mert oda is beteszi az aposztrófot, ahova nem kéne
(#23861) Delila_1 : megnézem -
littleNorbi
aktív tag
válasz
m.zmrzlina #23854 üzenetére
Tessék egy része, de a lényeg benne van.
-
Delila_1
veterán
válasz
Zola007 #23859 üzenetére
=HA(BAL(A1;1)<>"'";"'" & A1;A1)
Szóközökkel széthúzva, hogy meg lehessen különböztetni az aposztrófot az idézőjeltől:
=HA(BAL(A1;1)<>" ' ";" ' " & A1;A1)A képleteket lemásolod, majd az eredeti értékek helyére értékként beilleszted.
A még kitöltetlen cellákra pedig add meg m.zmrzlina formátumát.
-
Zola007
veterán
válasz
m.zmrzlina #23858 üzenetére
igen, csak a kezdő aposztrófok nem jelennek meg
-
Zola007
veterán
válasz
m.zmrzlina #23856 üzenetére
nem jó, mert a szövegnek szerves része és nem mindegyik cellában van jelen, hanem összevissza
azt nem értem miért nem jeleníti meg, hiszen a "szöveg" formázásnak az lenne a lényege, hogy úgy látszik, ahogy beírtam -
Zola007
veterán
szöveget tartalmazó cellában több helyen aposztróffal kezdődnek a beírt szöveg, de az excel nem jeleníti meg.
hogy tudnál ezt megváltoztatni? cella formátum átállítás nem segít -
m.zmrzlina
senior tag
válasz
littleNorbi #23853 üzenetére
Tudom, hogy ez nagyon sikamlós dolog (adatvédelmileg) de akkor is kéne valami fogalmunk legyen róla hogy milyen szerkezetű adattal van dolgunk.
Azt meg tudod oldani, hogy a települést (ha kell az utcát is) leválasztod és megmutatod?
-
littleNorbi
aktív tag
válasz
m.zmrzlina #23852 üzenetére
Esetleg ha van valamiféle más módszer, mert nekem az a lényeg, hogy páros és páratlan házszámok szerint rendezzem. Tulajdonképpen ez egy lista akiknek levelet szeretnénk küldeni, és akkor fontos lenne, hogy az utca páratlan (pl: 1, 3, 5, 5A, 7), illetve a páros (2, 4, 4A, 6, 6A, 6B) házszámai legyenek egymás után.
-
m.zmrzlina
senior tag
válasz
littleNorbi #23851 üzenetére
A videón szereplő példában egy egyszerű, azonos szerkezetű cellaértéken (szöveg>kettőspont, szóköz> szöveg) egyszerűen meg lehet csinálni a szétosztást. Ilyen cellákon még a korábbi hsz-ban leírt fv is működne.
A te legfőbb problémád, hogy ugyanaz a karakter ("/") az egyik esetben használható mint a levágandó rész jelölője (23/A) a másik esetben nem (A épület 3/6).
Próbáld meg kigyűjteni, hogy milyen tipusú értékeid vannak és mit szeretnél belőle látni, hátha valakinek eszébe jut valami.
A további beviteleket pedig (ha lesznek) validált listákkal kell megpróbálni kezelhető formában tartani.
-
-
repvez
addikt
Tud valaki abban segiteni, hogy 2 adatot szeretnék grafikonon ábrázolni,de nem tudom, hogy jelenitsem meg öket, ugy hogy ne kelljen mindet egyenként kiszámitani.
A lényeg, hogy mondjuk az egyik görbe a 100.000 , 67%-a a másik meg a a 100.000 74%-a lenne és ezt kéne 100.000-től 1.000.000-ig 100as lépésben ábrázolni. -
-
Muszo
újonc
Sziasztok! Segítségeteket kérném excellel kapcsolatban. A problémám a következő. MUNKA1-ben a B oszlop 1, 3, 5, 7 stb. soraiban lévő cellákban külön-külön egy legördülő listát hoztam létre ami a MUNKA2 A oszlopának soraiba beírt neveket tartalmazza. A MUNKA2 B oszlopában a nevekhez tartozó szám, a C oszlopban a nevekhez tartozó telefon szám van bírva. Azt szeretném hogy amikor a MUNKA1-ben a legördülő listából kiválasztok egy nevet a MUNKA2-ben a vele egy sorban (hozzátartozó) szám és telefonszám a MUNKA1 lapon a név mellett egy sorban az A oszlopban a szám jelenjen meg, a név alatt a B oszlopban (2, 4, 6, 8 stb. sorokban) pedig a hozzátartozó telefonszám. Ha tudtok segíteni előre is köszönöm.
-
ztoldy
senior tag
Sziasztok!
Hogyan tudom azt megcsinálni, hogy az első sort és az első oszlopot is rögzítem egyszerre, így lefelé és oldalra görgetésnél is mindig láthatóak maradnak ezek az részek? Jelenleg csak az egyik vagy a másik marad rögzítve. (office 2010)
Köszönöm a segítséget!
-
Mittu88
senior tag
válasz
littleNorbi #23838 üzenetére
Ez sajnos hatalmas szívás :/
Hány tétel van nagyjából, amit javítani kell? Nem tudsz gyorsan végigfutni rajta szemmel? -
littleNorbi
aktív tag
válasz
Mittu88 #23837 üzenetére
Értelek, csak sajnos egy kész listát kaptam kézhez, ami ilyen módon lett betáplálva...
Gondoltam hogy van valami egyszerűbb megoldás is rá, mint hogy külön külön függvényt írni rá. Pl osztja szét az oszlopot úgy, hogy az első oszlopba kerüljenek azok a karakterek amik számok, és ha bármilyen más karakter található az oszlopban, ami nem szám onnantól azokat dobja át a másik oszlopba, mert ha mindenhol csak "/" jellel lenne elválasztva, akkor már meg is oldódott volna a problémám... -
Mittu88
senior tag
válasz
littleNorbi #23836 üzenetére
Erre szokta az IT-s kollégám mondani, hogy rendszertelenségre nem lehet rendszert fejleszteni. Amivel részben egyet is értek. Szerintem lehet, csak feleslegesen erőforrás-igényes. Ebbe is bele lehet egyesével programozni, hogy milyen karaktert minek kell követnie, hogy egy adott módon értelmezze a program, de egyszerűbb lett volna úgy bekérni az adatokat, hogy Irányítószám; Település; Utca/Tér stb. megnevezése; Utca/tér stb. fajtája; Házszám; Emelet; Ajtó.
Bocsi, tudom nem segítek ezzel a kommenttel, de szerintem a többiek se fognak minden egyes ilyen egyedi esetre leprogramozni neked egy megoldást. -
littleNorbi
aktív tag
válasz
littleNorbi #23835 üzenetére
Bár ez sem teljesen jól működik, mert ha például lakásról van szó, aminke a házszáma 4/6, akkor 46-ot ír ki...
-
Mittu88
senior tag
válasz
littleNorbi #23833 üzenetére
Module-ba tetted a programkódot?
-
Delila_1
veterán
válasz
littleNorbi #23831 üzenetére
Egy saját függvénnyel megoldható.
Function CsakSzam(cella As Range)
Dim betu As Integer, szam As Integer
If IsNumeric(cella) Then
CsakSzam = cella
Exit Function
End If
For betu = 1 To Len(cella)
If IsNumeric(Mid(cella, betu, 1)) Then
szam = szam & Mid(cella, betu, 1)
Else
CsakSzam = szam * 1
End If
Next
End FunctionAlkalmazása: =csakszam(A1), az A1 cellában lévő házszám kinyeréséhez.
-
littleNorbi
aktív tag
válasz
m.zmrzlina #23830 üzenetére
Van ahol van "/" is meg "-" is meg szóköz is... Tehát valami olyasmi kellene, hogy ameddig szám, addig hagyja meg, a többit meg dobja át a másik oszlopba...
-
m.zmrzlina
senior tag
válasz
littleNorbi #23829 üzenetére
Az nem megoldás hogy levágod a cella utolsó karakterét?
Arra gondolok, hogy van-e a házszámban random előforduló "/" vagy <szóköz> ami bezavarhat egy sima
=BAL(A1;(HOSSZ(A1)-1)) fvnek
-
littleNorbi
aktív tag
Sziasztok!
Van egy excel táblázatom, amiben személyek és a hozzájuk tartozó utca és házszám található. Ahol a házszám van előfordul, hogy ilyen az alakja: "28A, 42B, 1C, 100D, ..." Hogy tudom azt elérni hogy ezt az oszlopot 2 oszlopra osztjam fel, hogy az egyik oszlopban legyenek csak a számok: "28, 42, 1, 100", a másikban meg csak a betűk: "A, B, C, D"? -
-
HisHis
csendes tag
válasz
Olifat #23823 üzenetére
Csak a kijelölésen belül rendez az Excel. Igaz kibővíti a kijelölést, de példában szereplő üres E oszlop miatt nem bővíti jól a kijelölést.
Példádban B4-től (ha sorszámot is rendezni akarod, akkor A4-től) jelölöd T77-ig
A Tab CtrlTab gombbal kiválasztod a rendezés alapját szolgáló oszlopot, majd mehet a szokásos rendezés ikon. -
zeddry
újonc
Sziasztok!
Szeretnék segítséget kérni.Excel cellában szeretnék választható dátumot állítani. Hiányzik a Fejlesztőeszközök\beszúrás\Active-x vezérlők közül a microsoft date and time picker control. Letöltöttem az mscomct2.ocx -file-t. Hova kell, vagy hogyan kell telepíteni, hogy választható legyen?
Előre is köszi! -
Olifat
újonc
Sziasztok,
Szeretnék segítséget kérni egy táblázattal kapcsolatban. Szóval van egy excel táblázat (Office 2007), ami egyfajta rangsorként szolgál és amit folyamatosan bővítek. Tehát egy szimpla pont táblázat, ahol az összesített pontok alapján rangsorolom az embereket. Vagyis az első oszlop (A) tartalmazza a helyezést, a második oszlopban (B) vannak a nevek, a harmadik (C) oszlopban (Pontszám) pedig az összpontszám, a negyedik (D) oszloptól kezdődnek a részpontszámok amelyek ugye a harmadik (C) oszlopban vannak összesítve. A probléma ott kezdődik amikor rendezni akarom a legnagyobbtól a legkisebbig, vagy akár fordítva mert úgy sem működik. Az A és B oszlopot megfelelően rendezi viszont a C oszlop értékei változatlanul maradnak és valamiért a rendezés után eltolódik egy-két sorral felfelé az egész. Azért idegesítő ez a probléma mert korábban már szerkesztettem egy ugyanilyen táblázatot és ott soha nem történt hasonló, mindig sikeresen és hibák nélkül tudtam rendezni az adott oszlop értékeit a legnagyobbtól a legkisebbig úgy, hogy a nevekhez tartozó sorok is együtt rendeződtek az "öszpontszámos" oszlop értékeivel.
Mellékelek egy képet és az excel fáljt is, hátha valaki rájön mi is a gond. Mindig úgy szoktam rendezni, hogy kijelölöm a C4-es cellától egészen a C77-ig és nyomok egy adatok rendezése Z->A -t ami eddig minden egyes alkalommal működött!
Íme a problémás táblázat:
[link]Előre is köszi!
-
PETEE78
senior tag
Itt is megpróbálom...
Sziasztok!
Hátha valaki megválna tőle...
Keresem az alábbi könyvet+CD mellékletét:
Kovalcsik Géza: Az Excel programozása -
Delila_1
veterán
válasz
Xterms #23808 üzenetére
Az előző verziódhoz képest az oszlopok számán kívül a két tábla sorainak a helyét is módosítottad. Ezután is teheted mindkettőt, ahova akarod, csak most már a saját károdra. Az ilyen változások a makró átírása után működnek jól. Nem viccből kérdeztem rá kétszer is, hogy hol helyezkednek el az egyes egységek.
A késésben lévő járatok a fekete táblázatban felülre kerülnek, a többiek az időpontnak megfelelően növekvő sorrendben ezek alá.
Tapasztalatból tudom, hogy a bejelentett kb. 10 perc késés lehet akár 20 is, ezért az ilyen járatokat manuálisan kell törölnöd a fekete tábláról a H:Q tartományból. Esetleg a törlés után javítod a bal oldali táblában, és újra beíratod a nyíl segítségével a jobb oldaliba.
A makró elején látsz egy értékadást.
lapnev = "Második"
Ebben írd át a Második-at a lapod végső nevére, ne feledkezz meg az idézőjelekről! -
slashing
senior tag
Én találtam egy működő verziót ami a főkönyvtárban lévő almappákban lévő fájlokon végigmegy viszont az almappák almappáin nem illetve a főkönyvtárban elhelyzett fájlokon sem. Kipróbáltam
Sub test()
Dim objFSO As Object
Dim objFolder As Object
Dim objSubFolder As Object
Dim objFile As Object
Dim MyFolder As String
Dim wkbOpen As Workbook
Dim wkb As Workbook
Dim wks As Worksheet
Dim CalcMode As Long
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
'Change the path accordingly
MyFolder = "C:\Path"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MyFolder)
Set wkb = ActiveWorkbook
Set wks = ActiveSheet
For Each objSubFolder In objFolder.SubFolders
For Each objFile In objSubFolder.Files
Set wkbOpen = Workbooks.Open(objFile.Path)
'Your code here
wkbOpen.Close savechanges:=True
Next objFile
Next objSubFolder
With Application
.Calculation = CalcMode
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Completed...", vbInformation
End Sub -
Fferi50
Topikgazda
Szia!
A dir() parancs korlátok között alkalmas arra is, hogy megkeresd vele az almappákat.
neve=dir("*.",vbdirectory) azokat a fájlneveket hozza, amelyek könyvtárak, vagy nincs kiterjesztésük.
Az első két ilyen elvileg a . és .. könyvtár, ami minden mappában benne van. (Könyvtár=mappa az én értelmezésemben most, ne zavarjon.)
Ezután folyamatos neve=dir() parancsokkal megkaphatod a többi nevet.
Ez lényegében ugyanaz, mint amikor a fájlokat nézed végig.
Mivel sajnos nem egyértelmű, hogy almappa-e amit hoz, annak is meg kell nézni hasonló módon az "almappáját", ha van benne "." könyvtár, akkor az is almappa.Most sajnos nincs elég időm arra, hogy pontos makrót írjak rá, de ezen elvek szerint próbáld végig.
Van még a filesystemobject objektum, amellyel szintén meg lehet találni a fájlokat.
Ezt is érdemes lenne végignézni.Üdv.
-
slashing
senior tag
válasz
Fferi50 #23810 üzenetére
szerintem csak az első szintig tudja feldolgozni az almappákban már nem...
tehát elméletileg nem csak a fileoknál kéne addig futnia a makrónak míg <>"" az aktuális könyvtárban lévő fájlok, hanem addig míg az összes alkönyvtárban lévő fájlon lefut nem csak a gyökérben lévő fájlokon...a workbook.fullname nem fogja megadni az azon túli almappákat.
legalábbis én így értelmezem.
ha csak egy almappa van akkor az nem gond de ha több akkor arra is valami változó kell. Nekem az előbbire van egy példám:
Pathname = "C:\Valami\valami\" & knev & "\"
FileName = Dir(Pathname & "*.xls")
Do While FileName <> ""a knev az nálam egy adott cellában megadott könyvtárnév...
-
Fferi50
Topikgazda
Szia!
Nem egészen értem a kérdést. Ha a mappákban és almappákban levő fájlokat fel tudod dolgozni, akkor tudod a nevüket is.
A workbook.fullname megmondja a teljes (elérési úttal kiegészített) nevet is.
Tehát az éppen feldolgozott fájlodnak megnézed a fullname tulajdonságát és azt hozzáteszed infoként a rekordokhoz.Üdv.
-
Louro
őstag
Sziasztok!
Van arra lehetőség - bár biztos van
-, hogy van egy makró. A makróban megadok egy elérési útvonalat és onnan az összes fájlt, almappákban levő fájlokat feldolgozom a makróval.
Azt megtudom csinálni, hogy a megadott elérési útvonal alatt levő fájlokat feldolgozzam, de a mappákba nem tudok belemászni.
Amiért kellene: Azt akarom hozzátenni infónként a rekordokhoz, hogy a forrásfájl hol található. Mappa tekinteében is.
Köszi előre is.
-
Xterms
tag
válasz
Delila_1 #23804 üzenetére
Isten vagy! Viszont tovább szívnám a véredet ha nem haragszol
Ezt most én is elfelejtettem, nem direkt hagytam ki eddig.
Van egy késés oszlop is. Ezt ugye azután is lehet módosítani, hogy az adott sor már kikerült a B táblára, és akkor a táblán is frissül. És persze az is lehet, hogy sok ideig a táblán marad, míg az alant lévő sorok eltűnhetnek.Például:
A vonat, 12:00
B vonat, 12:05, késik 20 percet
C vonat, 12:15
D vonat, 12:20A vonat eltűnik ugye induláskor, B felülre kerül, viszont C és D is előbb fog indulni és eltűnni, mint B. Erre kéne kitalálni valamit, hogy a késők maradjanak meg, és utólag el lehessen tüntetni őket.
Meg különszedtem az érkezés-indulást, ha esetleg nem nagy gáz. Ne utálj nagyon.
-
Delila_1
veterán
válasz
Xterms #23795 üzenetére
Szerintem jobb, ha felülről kezdődik a fekete tábla kitöltése.
Itt az újabb verzió. -
m.zmrzlina
senior tag
válasz
smog86 #23802 üzenetére
A szerkesztőlécen (és a megjegyzésben is) látható képlettel tudod levágni a betűt a szám mögül. Így már összeadható. Ha szóköz is van az eredeti cellában akkor a képletben lévő 2-t írd át 3-ra. Ez a megoldás csak akkor működik ha minden cellában csak 2 betű van a szám mögött.
-
smog86
senior tag
Sziasztok!
Olyat tudok csinálni excelben, hogy ha vannak cellákban számok és mindegyikben mögötte két karakternyi betű, akkor egy másik cellába összeadni a számokat? Mert ugye a SZUM hibát dob erre.
-
Delila_1
veterán
válasz
róland #23800 üzenetére
If Target.Column = 7 Then ' ha a G (hetedik) oszlopban kattintasz egy cellára, akkor hajtja végre a Then ágat
sor = Target.Row 'a sor változó felveszi a kattintás helyének a sorszámát. Ha a G10-re kattintottál, a sor változó értéke 10 lesz
Application.EnableEvents = False letiltja az eseménykezelést
Range(Cells(sor, "B"), Cells(sor, "F")).Copy 'másolja a B10: F10 sort (ha a 10. sorra kattintottál)
Range("H18").PasteSpecial xlPasteValues 'a H18 cellába beilleszti az értéket
Application.CutCopyMode = False 'megszünteti a kijelöltséget
Range("B4").Select 'a B4 cellára áll
Application.EnableEvents = True 'Visszaállítja az eseménykezelést
End If 'no commentA H18 helyett nálad legyen Range("A" & Range("A3")). Az "A" helyett annak az oszlopnak a betűjelét írd, ahova másolni akarsz, a Range("A3") pedig a kiszámolt sorszámot adja.
Új hozzászólás Aktív témák
- Megjött a jubileumi Pixel széria
- Hivatalos a OnePlus 13 startdátuma
- iOS alkalmazások
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Battlefield 2042
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gumi és felni topik
- Tőzsde és gazdaság
- Azonnali notebookos kérdések órája
- Windows 11
- További aktív témák...
- Játékkulcsok a legjobb áron: Steam
- Assassin's Creed Shadows Collector's Edition PC
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Antivírus szoftverek, VPN
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Apple iPhone 14 Pro Max / 256GB / Gyári független / 12Hó Garancia / 87% akku
- Microsoft Surface Pro 9 i5-1245U 16GB 512GB 1év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Samsung Galaxy S23 Ultra 256GB Kártyafüggetlen 1Év Garanciával
- Újszerű ASUS ROG Ally - 7"120Hz - Z1 Extreme - 16GB/512GB - (RC71L-NH001W) fehér - 2 év garancia
Állásajánlatok
Cég: FOTC
Város: Budapest