Hirdetés
- bambano: Bambanő háza tája
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
- Parci: Milyen mosógépet vegyek?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- vrob: Próbálkozás 386 alaplap újraélesztésre
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
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
-
Delila_1
veterán
válasz
andreas49
#49098
üzenetére
Sub AblakRogzites()Dim lap As IntegerApplication.ScreenUpdating = FalseFor lap = 1 To Worksheets.CountSheets(lap).SelectRange("B2").Select 'Itt írd át a rögzítés helyétActiveWindow.FreezePanes = TrueNextApplication.ScreenUpdating = TrueEnd SubEz a makró minden lapon rögzíti az ablaktáblát B2-ben. Az első sor és első oszlop nem mozdul el görgetéskor. A B2 helyét átírhatod az igényednek megfelelően.
-
andreas49
senior tag
Sziasztok,
Abban kérek segítséget, hogy több munkalap egyidejű kijelölésével hogyan tudom megadni az ablaktábla rögzítését. (valószínűleg csak macro-val oldható meg)
Segítséget előre is köszönöm. -
lappy
őstag
válasz
[DDAY]F4C3
#49095
üzenetére
Google segít ebben
-
föccer
nagyúr
válasz
[DDAY]F4C3
#49095
üzenetére
MA() és a MOST() függvények. Ehhez visszont cella frissítés kell. Pontosabban újrakalkulálás.
üdv, föccer
-
[DDAY]F4C3
tag
A másik, hogy egy olyan dátumot+időt szeretnék az egyik sarokba, ami folyamatosan frissül. Akár a másodperc is.
Előre is hála, ha segít valaki.
-
[DDAY]F4C3
tag
Sziasztok!
Lenne egy Excel munkalap.
A felső részén szeretnék egy állandó kereső mezőt, melybe csak belekattintok és szövegre keres az egész lapon. Enter, majd oda ugrik (vagy kilistázza A találatokat és választani Lehet).
Ne kelljen nyomogatni a ctrl+f gombot.Előre is köszönöm a segítséget.
-
atyca
senior tag
Sziasztok!
Cellaértéket, és a cellához tartozó megjegyzést szeretném másolni saját magába, a cellához tartozó függvény nélkül.
Van erre valami egyszerű (beépített) lehetőség?
(Az irányított beillesztés lehetőségeinél sajnos nem láttam ilyen opciót.) -
Dilikutya
félisten
válasz
sztanozs
#49088
üzenetére
Kivitelezhető, csak máshogy.
A feladvány egy lista nevekkel, és munkaviszony kezdő és befejező dátumával. Mellé kell, hogy hány év, hány hónap (hány nap).
A két dátum dátumformátumban maradt, és mellé simán kivontam a befejezőből a kezdőt. Ebből lett egy szám, ami megadja a napok számát (illetve sorszámot 1900.01.01 után), egyénire formáztam a cellát ezzel a kóddal:éé "év" hh "hónap" nn "nap"és ki is jött, ami kell. -
válasz
Dilikutya
#49086
üzenetére
Ez nem biztos, hogy kivitelezhető - pontosabban, kérdés, hogy mi a pontos követelmény...
pl
1) mi a különbség Jan 28 és Feb 28?
- 1 hónap, vagy 31 nap?
2) mi a különbség Jan 31 és Feb 28?
- 28 nap, vagy?
3) mi a különbség Feb 1 és Márc 1 között?
- megint 1 hónap, vagy szintén 28 nap (vagy 29, ha szökőév van)? -
válasz
Dilikutya
#49086
üzenetére
Ismert problémák szekciót olvasd el!
=DÁTUMTÓLIG(A1;B1;"Y") & " év - " & DÁTUMTÓLIG(A1;B1;"YM") & " hónap - " & DÁTUMTÓLIG(A1;B1;"MD") & " nap " -
Dilikutya
félisten
Két dátum különbségét hogy lehet megkapni év, hónap, nap formátumban? A DÁTUMTÓLIG nekem nem akar eredményt visszaadni.
-
lappy
őstag
válasz
andreas49
#49081
üzenetére
nincs olyan függvény csak makróval lehet
Sub HomeAllSheets()
Dim sh As Worksheet
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
For Each sh In ActiveWorkbook.Worksheets
sh.Select
Range("A1").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1
Next sh
Sheets(1).Select
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub -
andreas49
senior tag
Sziasztok,
Sok olyan munkafüzetem van, amiben 70-100 munkalap van.
Van-e olyan függvény, ami az összes munkalap kijelölése esetén a 'ctrl+home' minden lapon végrehajtódig?
Köszi a segítséget előre is. -
Mutt
senior tag
válasz
tgumis
#49068
üzenetére
Szia,
PQ-ben igazából az adattípust tudod állítani (szöveg, egészszám, törtszám, dátum stb), ami a könnyebb olvashatóság miatt hoz is egy formátumot (amit a Windows Területi beállításaiból vesz ki, de a LOCALE opcóval eltérhetsz tőle).
Amikor az eredményt munkafüzetre küldi a PQ, akkor ha nincs cellaformázás (vagyis General/Általános-ra) van állítva, akkor használja az alapot, különben pedig a cellaformátumát.A mintád alapján 2 dolog lehet:
1. 2385-ös sortól lefelé lehet hogy számformátum van a cellákra állítva.
2. Dátum adattípus konverziónál hiba történt és valójában nem dátum adattípust használ. Amikor kiküldöd a munkalapra az adatsort akkor a Connections/Kapcsolatok alatt kiírja hogy pl. 3500 rows loaded (with 500 errors).üdv
-
Mutt
senior tag
válasz
Lasersailing
#49051
üzenetére
Szia,
Próbáld ki esetleg ezt. Mielőtt meghívod a fájl megnyitót jegyeztesd meg az aktuális fájlt és utána aktiváld vissza.
Dim wbCurrent As Workbook
Set wbCurrent = ThisWorkbook<itt hívd meg a főlapos dolgot>
wbCurrent.Activate
üdv
-
visit
tag
Üdv!
Feltételes formázás: Egy adott cella formázáshoz kiválaszthatok a felsorolt feltételek közül, vagy megadhatok egy képletet. Ez utóbbi, nem megy. :-( hiába kezdem egyenlőségjellel, nem lesz belőle képlet.
Azt szeretném, hogy egy választott cella (D10) háttérszine piros legyen, ha a C4 cella nem üres, és maradjon eredeti háttérszín, ha a C4 üres. Még annyi, hogy a google sheet-ben dolgozom, a felhőben, nem a sima excelben.
Tehát egy másik cella értékétől függjön az adott cella háttérszine. Köszönöm ha segítetek. -
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
tgumis
#49068
üzenetére
Szia!
Talán a munkalapon van olyan nem látható dolog, ami ezt előidézi.
Nézd meg légy szíves az F5 - ugrás - irányított - utolsó cella eredménye mi. Ha ez túl van az "értelmesen" használt tartományon, akkor ez lehet az esetleges oka. Ebben az esetben töröld ki a teljes sorokat a normál tartomány végétől az eddigi sorig.
A mindent töröl opció sajnos hagyhat szemetet még hátra.
Üdv. -
tgumis
tag
válasz
Fferi50
#49066
üzenetére
Szia!
Azt tudom, hogy számként tárolja de queryvel a formátum be van àllítva ahogy azt kell.
De miért csak egy bizonyos sorszàmtól csinálja ezt?
Azért gond a formàtum újra és újra beàllítása mert plussz kattintgatàsokat eredményez.
Hol lehet ilyet kapcsolni vajon? És azért fura mert csak bizonyos sortól csinálja ezt. Hiába törlöm az egész munkalapon (mindent töröl opcióval). Újból előhozza. -
VGYke
addikt
válasz
Fire/SOUL/CD
#49048
üzenetére
Tudod, sokszor nem a megoldás értelme a lényeg, hanem maga a megoldás, mert én rendkívül sokat szoktam tanulni belőle. A fentiekből is tanultam...
-
Fferi50
Topikgazda
válasz
tgumis
#49065
üzenetére
Szia!
Gyakorlatilag a dátum is számként van tárolva az Excelben. A "hibásan" betöltött értékeket megformázhatod dátumként, helyes értékeket fogsz kapni.
Valószínű, hogy azon a munkalapon - (vagy a txt-ben?) - van egy "kapcsoló", ami nem engedi tovább a dátum formátumot, hiszen új munkalapon "hibátlan" a betöltés.
Üdv. -
tgumis
tag
Sziasztok!
Powe queryvel beolvastatok egy txt fàjlt. Hiába állítom be query ben a formátumot egy bizonyos sor 2382. sortól valamiért számként tölti be a tartomànyba. Az adatokat power pivot adatbàzisba ia betöltöm ott dàtumként jelennek meg.
Ha a txt ből kitörlök pàr sort akkor nincs gond. Ha új munkalapra töltöm be akkor sincs gond. Ha a tartomàny sorait kitörlöm és a formàtumot minden cellàból törlöm akkor szintén rosszul tölti be a 2382. sortól.
-
escsé
tag
válasz
Fire/SOUL/CD
#49035
üzenetére
Köszönöm a kimerítő választ. Erre gondoltam. A táblázatokat átnézem majd.
Üdv -
p5quser
tag
válasz
Fire/SOUL/CD
#49062
üzenetére
"Milyen filter függvényről van szó?"
A google sheets FILTER függvénye. Jó kis cucc cellaérték alapú lekérdezésekhez.=FILTER(raw_data!A:V;raw_data!A:A=X2;raw_data!B:B=W2)
Ebből az A:V oszloptól tartó sort akartam transzponálni, de csak a C:V oszlopokat. Viszont a szűrési feltételek pont a "lecsípendő" oszlopban vannak, szóval úgy hiszem szükséges a segédsor. -
válasz
p5quser
#49061
üzenetére
"Egy filter függvény által kinyert sort..."
Milyen filter függvényről van szó?Amúgy sima szűrt sorból csak 2 lépésben lehet transzponálni, elsőre a szűrt sorokból kijelölöd a kívánt tartományt, simán copy-paste-l valahova beilleszteted, másodikra meg ezt a beillesztett tartományt tudod már transzponálni.
-
p5quser
tag
Sziasztok!
Ugyan google sheets, de hátha...
Egy filter függvény által kinyert sort transzponálnék egy oszlopba, de úgy, hogy a filter első két oszlopát (transzponálva, sorát) kihagynám.
Lehet ezt így, egyáltalán? Most egy segédsorral oldom meg, aminek meghatározott területét transzponálom, de elegánsabb lenne anélkül.
Előre is köszönöm! -
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#49055
üzenetére
Szia!
Igazán nincs mit. Mivel a többi megyénél ragaszkodott a hivatalos megnevezéshez, gondolom az volt a baj, hogy Budapest tartalmazza a pest szót, ezért kellett hozzá a megye.
Persze nem előszörre sikerült eltalálnom a baját.
Üdv. -
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#49053
üzenetére
-
válasz
Fferi50
#49052
üzenetére
Nálatok sem ismeri a Térkép diagram, Pest megyét?

Van valami trükk, amivel megjeleníthetőek az adatai? -
Fferi50
Topikgazda
válasz
Lasersailing
#49051
üzenetére
Szia!
Próbáld meg a következőt:
Mielőtt elmented az adatokat, jegyezd meg, melyik az aktív control a userformon. A fájl bezárását végző makróben a bezárás után tedd a fókuszt erre a controlra:
Pl.Userform1.Textbox1.Setfocus
Ha máshol szeretnéd folytatni, akkor arra a controlra kell tenni a fókuszt, ahol a folytatás következne.
Üdv. -
Lasersailing
senior tag
válasz
Fferi50
#49044
üzenetére
Szia!
A userform kódlapján van a program, ami meghív egy file megnyito modult ami a folapon van. Utána dolgozik a userform progi, majd a folapon lévő másik program bezarja a filet.
1) azért van külön bontva, mert a megnyitást és bezárást több helyen is használom.
2) fontos, hogy az adatbázis minél rövidebb ideig legyen megnyitva, mert ugyanezen programot másik gépen is futtatjuk majd, és közös adatbázisba dolgoznak.Amit javasoltál hétfőn megnézem, de elvileg ma próbáltam és teljesen meghülyült tőle az excel. De lehet, hogy rosszul csináltam, mert tobb dolgot is csináltam egyszerre (pedig erre nem vagyok kepes, szóval hibazhattam... 😀 )
-
Ha a legelején ezt így írtad volna le, akkor nem kellett volna köröket futni...

Én biztos nem foglalkoznék se képlettel, se makróval ez esetben, hanem az Összes lapon egy szűrőt dobnék a 2. sorra, az alapján bármely oszlop szerint lehet szűrni, szűrés után kijelölni a szűrt sorokat, aztán copy-paste-el meg beilleszteni a Keres lapra, ennyi(hivatkozások is jók lesznek). -
lenkei83
tag
Sziasztok!
Küzdök egy táblával, vagyis a képleteivel. Makró nélkül kellene megoldanom, de úgy nem tudom a megfejtést.
"D" oszlopban a napok "x"-el jelölve, ezeket kellene összeszámolni úgy, hogy amikor eléri az 5-öt, akkor a számozás újra induljon 1-től. Lényegében a munkanapokat kellene megszámolni, 5-ös egységekben az "I" oszlopban.
Manuál módban raktam be példát.
[onedrive link]Nézzen rá valaki légyszi.
Köszi
P. -
VGYke
addikt
válasz
Fire/SOUL/CD
#49038
üzenetére
Köszönöm szépen. Sajnos kell az eltolás (vagy valami hasonló, FKERES, stb) függvény, mert a Keres munkalapra hozom át az Összes munkalap válogatott sorait.
Keres munkalapon beírom az utcanevet, és csak az ennek megfelelő sorok jelennek meg, ide szerettem volna nem csak a N0: oszlop tartalmát, hanem a hivatkozásait is áthozni...
Keres munkalap:
-
lenkei83
tag
Sziasztok!
Van egy ilyenem:
=CELLA("address";INDIREKT("D"&SOR()))
és egy ilyenem:=CÍM(SOR();4;4)
amiknek a végeredmény sortól függően pl: $D$2 és D2. Ebből szeretnék tartományt:$D$2:D2
Gondolom, hogy az indirekt fog kellenei, de nem jövök rá, hogy hogyan.Köszi
P. -
Fferi50
Topikgazda
válasz
Lasersailing
#49043
üzenetére
Szia!
Hol található a kiíró-mentő programrész? A Userform kódlapján vagy általános modulban?
A fájlt muszáj mindig megnyitni és bezárni a kiírás miatt?
Nagyon nem szép módon a kiírás előtt Userform.Visible= False, utána Userform.Visible=True esetleg segít?
Üdv. -
Mutt
senior tag
válasz
Lasersailing
#49041
üzenetére
Kiírás után <userform>.Show esetleg?
-
Lasersailing
senior tag
Sziasztok,
Office 365 angol, userformon adatbekérés, majd adatok kimentése másik file-ba (szerk)
Írok egy programot, aminek segítségével adatokat lehet szkennerrel beolvasni. Egymás után három adat kerül beolvasásra (megrendelés száma, cikkszám, dbszám). Ezek beolvasása működik is jól. Ha mindhárom adat beolvasása megtörténik, akkor egy másik excel file-t megnyitok, kiírok adatokat, majd bezárok. Ez is működik. A gondom az, hogy az adat kiírás után szeretném, ha egyből tudna a felhasználó újra szkennelni, de jelenleg nem tud, mert a userform nem aktív az adatkiírás után. Ha rákattintok a userform-ra, akkor lehet egyből szkennelni tovább (azaz a megfelelő mező aktív a userformon belül), de nem a megfelelő ablak az aktív windows-on belül. Erre tudtok megoldási ötletet adni?
-
Akkor csak arról van szó, hogy leklónozd a hiperhivatkozást? Ha igen, akkor
1. ELTOLÁS fx-re semmi szükség
2. Csak makróval lehet megoldani (tudom, írtad, hogy makró nélkül, de úgy nem megy)
# ALT+F11
# ThisWorkbook/jobb egér/Insert Module
# beilleszted az alábbi kódotFunction FireGetURLFromHyperlink(MySrcRange As Range) As String
FireGetURLFromHyperlink = MySrcRange.Hyperlinks(1).Address
End Function# így hivatkozol egy hiperlinket tartalmazó cellára
=HIPERHIVATKOZÁS(FireGetURLFromHyperlink(Összes!A2);Összes!A2) -
VGYke
addikt
válasz
lenkei83
#49024
üzenetére
Egyébként amit te linkeltél az ez:
https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Fwww.mnb.hu%2Farfolyam-letoltes%3Fyear%3D2022&wdOrigin=BROWSELINK
(eltér ettől: https://www.mnb.hu/arfolyam-letoltes?year=2022)
Ha a fenti hosszú címet írjuk be a lekérdezendő címként, valóban görcsre fut... -
VGYke
addikt
válasz
Fire/SOUL/CD
#49028
üzenetére
-
"Tehát, ha nem fér ki az adott oldalra, akkor az előző üres sornál töri el a nyomtatást."
Nem biztos, hogy jól értelmezem a kérdésed, de hátha segít a válasz...
Excel-ben 2 fajta oldaltörés van, Automatikus ill. kézi. Oldaltöréses nézetben az előbbit vastag kék szaggatott vonallal, utóbbit vastag kék folytonos vonallal jelöli az Excel.
(Normál nézetben is látszódnak, csak vékony fekete szaggatott/folyamatos vonallal jelöli, nehezebb látni)Ha egy oldalra nem fér el valami, akkor az automatikus oldaltörés lép érvénybe (amit nem lehet állítani, automatikusan igazodik a lapmérethez (A4-es lap pl.) ill. a margóbeállításokhoz stb) ergó automatikusan új oldalon folytatódik a nyomtatás.
Ebbe az automatikus folyamatba lehet beavatkozni a kézi töréspontok alkalmazásával, mert az mindig ott töri el az oldalt, ahova teszed, de automatikusan "vándorol" ha pl. az Excel táblázat bővül/csökken sorokkal, stb stb.Példaként itt létrehoztam 2 táblát, az elsőt jelképesen 0-val kitöltve, a másodikat meg 1-el kitöltve.
Alapállapot
2. tábla elé kézi oldaltörés
1. táblába sok sor beszúr, kézi oldaltörés vándorol
Szóval itt az 1. tábla (0-val kitöltve) több oldalra kerül folyamatosan, az automatikus oldaltörés gondoskodik erről, de 2. tábla (1-el kitöltve), mindig új oldalra fog kerülni. -
escsé
tag
Sziasztok!
Vann-e olyan funkció, amellyel olyan nyomtatási oldaltörést tudok adni, ami üres sorokat vesz figyelembe? Tehát, ha nem fér ki az adott oldalra, akkor az előző üres sornál töri el a nyomtatást.
-
-
Salex1
őstag
válasz
Fire/SOUL/CD
#49029
üzenetére
Köszönöm működik.
Mutt a tiédet is próbáltam, de az nem megy. Azt írja ki a cellába: ?NÉV
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#49029
üzenetére
Egy harmadik megoldás
=HA(A1=INT(A1);0;KÖZÉP(A1;SZÖVEG.KERES(",";A1)+1;15)) -
-
Salex1
őstag
Tudnátok segíeni? Meg kellene számolnom, hogy az adott cellában hány tizedes jegyig vannak a számok.
16,34 > 2
3,3 > 1
találtam rá egy függvényt:
=IF(B5=INT(B5),0,LEN(B5)-FIND(".",B5,1))
Magyarosítottam:
=HA(A2=INT(A2);0;HOSSZ(A2)-KERES(",";A2;1))
Nem működik (#HIÁNYZIK).
Szétbontva olyan mintha a "," nem tetszene neki. -
andreas49
senior tag
válasz
lenkei83
#49020
üzenetére
Én ezt használom, sokféle lekérdezi lehetőséggel:
https://arfolyam.iridium.hu/downloads -
VGYke
addikt
válasz
Fire/SOUL/CD
#49023
üzenetére
Köszönöm szépen!
Sajnos a függvény nem egészen azt teszi, mint amit én szeretnék.
Összes!A$2 cellába beszúrt hivatkozás: https://ingatlan.com/salgotarjan-acelgyar/elado+lakas/tegla-epitesu-lakas/32587041
Ez a képlet:
Viszont ezt a hivatkozást adja vissza: https://onedrive.live.com/?id=8895ecab85694e80%210%2AL0xpdmVGb2xkZXJzL0Rva3VtZW50dW1vay9NZW50w6lzZWsvX19fU2FsZ8OzdGFyasOhbmkgaW5nYXRsYW4vNDQ&cid=8895ECAB85694E80 -
-
VGYke
addikt
válasz
lenkei83
#49020
üzenetére
Lekérdezésnél ezt a címet írd be: https://www.mnb.hu/arfolyam-letoltes?year=2022
-
VGYke
addikt
Nem jó, a feladat bonyolultabb. Egy hívjuk adatbázis munkalapról szeretném kiválogatni majd sorba rendezve egy másik munkalapon megjeleníteni a szükséges adatokat, makrók nélkül, csak képletekkel megoldva.
Már az is jó lenne, ha képlettel ki tudnám nyerni az adott cellába beszúrt hivatkozást.
lenkei83: nem jó az "Adatok beolvasása és átalakítása" (lekérdezés)?
Csak pár másodpercet játszottam vele, de nekem sikerült:
-
lenkei83
tag
Sziasztok!
MNB árfolyamot szeretnék beolvastatni innen:
[link]
Régebben volt rá VBA megoldásom, de nem találom. Az Adatok Beolvasása/Más forrás/Web csak homokórázik.
Létezik erre VBA mentes megoldás?Köszi
P. -
VGYke
addikt
Sziasztok! Egy cella "értékét" pl. ELTOLÁS függvénnyel egy másik cellába "át lehet vinni". De mivel lehet "átvinni" az eredeti cellához csatolt hivatkozást?
Pl. A B2 cella értéke 10 és Beszúr-Csatolás-Cím: https://prohardver.hu/tema/excel/friss.html
C7-be írt képlet: =ELTOLÁS(A1;1;1), ami ugye a B2 cella értéke. De hogyan tudom a https://prohardver.hu/tema/excel/friss.html címet is "áthozni"?
Elnézést a kacifántos fogalmazásért. -
Fferi50
Topikgazda
Szia!
A rendezésnél opcióként megjelölheted, hogy fejlécet tartalmaz-e. Ha ezt bejelölöd, akkor a tartomány első sorát fejlécnek tekinti és nem része a rendezésnek.
Ha üresen hagyod, akkor nincs fejléc és része a rendezésnek.
Táblázat rendezése csak fejléccel együtt megy.
Továbbá az A-Z Z-A ikonra kattintva megpróbálja kitalálni, hogy van-e fejléc, illetve a korábbi hasonló rendezés paramétereit veszi.
Üdv. -
HREH
senior tag
Sziasztok, egy furcsasággal találkoztam ma, de hátha ti tudtok segíteni.
Adott pár csapatnév, ami mint látszik, nincs ABC-sorrendben.
Ha kijelölöm a tartományt és "Sort A to Z" opcióval sorbarakom, akkor az alábbit kapom:

Azaz az Excel szerint az "O" betű előrébb van, mint a "B"?

De ha az OBU-t átrakom A9-be, akkor jól rendezi:
Angol nyelvű 365, stabil és béta channel-en is kipróbltam, mindenhol ez az eredmény.
Nekem úgy tűnik, hogy az első sort nem veszi figyelembe rendezésnél.
Bármilyen ötlet? -
Delila_1
veterán
Ha A1-ben van a szóközt tartalmazó számod, ezzel a képlettel az új oszlopban számot kapsz, amit majd értékként az eredeti helyére másolhatsz.
Egyszerre is számmá alakíthatod mindet, és még segédoszlop sem kell.
Beírsz egy üres cellába egy egyest, másolod Ctrl+c-vel, kijelölöd a szóközös tartományt, majd irányított beillesztés, ahol bejelölöd a szorzást. -
psg5
veterán
Sziasztok! A cellákban szókozokkel kerultek bevitelre számok melyeket ossze kellene adni de igy szokozokkel nem megy a szumma. Van amivel a sok szokozos számok kozul a szokozoket gyorsan ki tudom szedni?
-
Mutt
senior tag
válasz
andreas49
#49005
üzenetére
Szia,
Itt egy makrós változat, amely a KIJELÖLT oszlopon végzi el az átalakítást és mellé írja be a kapott értékeket. Mivel nem írtad hogy mi történjen ha a formátum nem követi az "abc (def) [ghi]" formátumot ezért ahogy nekem logikusnak tűnt írtam meg a kódot. A kommentek alapján próbáld meg módosítani.

Sub Szetszed()
Dim cella As Range
Dim adatsor As Range
Dim pos1 As Long, pos2 As Long, pos3 As Long
Dim text1 As String, text2 As String, text3 As String
'a kijelölt és adatokat tartalmazó tartományt használjuk csak
Set adatsor = Application.Intersect(Selection, ActiveSheet.UsedRange)
'végig megyünk a cellákon
For Each cella In adatsor
text1 = ""
text2 = ""
text3 = ""
'keressük a szövegben a zárójelet
pos1 = InStr(1, cella, "(")
'ha van zárójel akkor a csonkoljuk a szöveget a talált pozícióig
If pos1 > 0 Then
'ha van zárójel akkor a csonkoljuk a szöveget a talált pozícióig
text1 = Trim(Left(cella, pos1 - 1))
'keressük a szögletes árójelet
pos2 = InStr(pos1, cella, "[")
If pos2 > 0 Then
'ha van szögletes, akkor kivesszük a szöveget a zárójel utáni pozíciótól kezdve
text2 = Replace(Trim(Mid(cella, pos1 + 1, pos2 - pos1 - 1)), ")", "")
text3 = Replace(Trim(Mid(cella, pos2 + 1, Len(cella) - pos2)), "]", "")
Else
'nincs szögletes zárójel, de sima volt
pos2 = InStr(pos1, cella, ")")
text2 = Trim(Mid(cella, pos1 + 1, pos2 - pos1 - 1))
text3 = Trim(Mid(cella, pos2 + 1, Len(cella) - pos2))
End If
Else
'nem volt zárójel tartsuk meg az eredeti szöveget
text1 = cella
End If
'eredeti cella melletti oszlopokba írjuk az eredményt
cella.Offset(, 1) = text1
cella.Offset(, 2) = text2
cella.Offset(, 3) = text3
Next cella
End Subüdv
-
Fferi50
Topikgazda
válasz
lenkei83
#49002
üzenetére
Szia!
Az első paraméter kötelező, egy userform combo vagy listbox objektum a kód alapján. A második paraméter opcionális logikai.
Az első paraméternél meg kell adnod az objektum teljes nevét, pl. Userform1.Combobox1 (a nálad érvényes nevekkel).
A második paraméter elhagyható, illetve False esetén nem méretezi át az objektumot, True esetén átméretezi. False és True helyett természetesen bármely általad bevezetett logikai változót alkalmazhatsz amelyiknek megfelelő az értéke számodra.
Mivel nincs visszatérési értéke, így szerintem egyszerűen meghívható zárójelek nélkül, mint egy paraméterezett eljárás:ControlsResizeColumns Userform1.Combobox1,True
Üdv. -
Mutt
senior tag
válasz
andreas49
#49000
üzenetére
Szia,
Van hibaüzenet?
Ez egy UDF (saját függvény) vagyis be kell írni a munkafüzeten, ha neked olyan makró kell ami automatikusan kitölti helyetted a többi oszlopokat, akkor az már sub-routine.
Magyar Excel-ben SZÖVEGFELOSZTÁS a függvény neve, lehet hogy csak INSIDER-ben van még.üdv
-
Mutt
senior tag
válasz
Salex1
#48995
üzenetére
Szia,
Itt az én változatom a felosztásra:
Sub Atrendez()
Dim wsCel As Worksheet
Dim adatok, bont, aktualis()
Dim c As Long, i As Long
Dim oszlopok As Long, oszlopBont As Long
Dim sor As Long
Dim ertekek As String
'erre a munkalapra másoljuk az értékeket
Const cel = "Munka2"
'ezen nevú oszlopot kell sorokba bontani
Const bontani = "AH"
'a fenti oszlopnevet számmá alaktjuk
oszlopBont = Cells(1, bontani).Column
'beolvassuk a teljes adatsort
adatok = ActiveSheet.Range("A1").CurrentRegion
oszlopok = UBound(adatok, 2)
'cél munkalap beállítása
Set wsCel = Worksheets(cel)
'esetleg létező adatok törlése a cél munkalapról
wsCel.Cells.Clear
'erre szükség lehet a 11ezer sor kiírásakor
Application.ScreenUpdating = False
sor = 1
'végig megyünk a beolvasott adatokon
With wsCel
For c = 1 To UBound(adatok)
'egy átmeneti tömbbe (aktualis) beolvassuk az adatokat soronként
ReDim aktualis(1 To oszlopok)
For i = 1 To oszlopok
aktualis(i) = adatok(c, i)
Next i
'a bontani kívánt oszlopot feldolgozzuk, előtte levesszük a [ és ] jeleket
ertekek = Replace(Replace(aktualis(oszlopBont), "[", ""), "]", "")
bont = Split(ertekek, "','")
'ha üres volt a bontani kívánt érték akkor csak 1 sort kell írnunk
If UBound(bont) < 0 Then
.Cells(sor, 1).Resize(, oszlopok) = aktualis
sor = sor + 1
Else
'ha nem volt üres akkor visszont ismételni kell egymás után a dolgokat
For i = 0 To UBound(bont)
.Cells(sor, 1).Resize(, oszlopok) = aktualis
.Cells(sor, oszlopBont) = Replace(bont(i), "'", "")
sor = sor + 1
Next i
End If
Next c
End With
Application.ScreenUpdating = True
End Subüdv
-
lenkei83
tag
Sziasztok!
Biztosan már fáradt vagyok... de nem jövök rá, hogyan tudom ezt meghívni Sub-ból.
Kérem, hogy nézzen rá valaki.Köszi
P.Function ControlsResizeColumns(LBox As MSForms.Control, Optional ResizeListbox As Boolean)
Application.ScreenUpdating = False
Dim ws As Worksheet
If sheetExists("ListboxColumnWidth", ThisWorkbook) = False Then
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = "ListboxColumnwidth"
Else
Set ws = ThisWorkbook.Worksheets("ListboxColumnwidth")
ws.Cells.Clear
End If
'---Listbox/Combobox to range-----
Dim rng As Range
Set rng = ThisWorkbook.Sheets("ListboxColumnwidth").Range("A1")
Set rng = rng.Resize(UBound(LBox.List) + 1, LBox.ColumnCount)
rng = LBox.List
rng.Characters.Font.Name = formStaffList.listboxStaff.Font.Name
rng.Characters.Font.Size = formStaffList.listboxStaff.Font.Size
rng.Columns.AutoFit
'---Get ColumnWidths------
rng.Columns.AutoFit
Dim sWidth As String
Dim vR() As Variant
Dim n As Integer
Dim cell As Range
For Each cell In rng.Resize(1)
n = n + 1
ReDim Preserve vR(1 To n)
vR(n) = cell.EntireColumn.Width + 10 'if not some extra space it cuts a bit off the tail
Next cell
sWidth = Join(vR, ";")
Debug.Print sWidth
'---assign ColumnWidths----
With LBox
.ColumnWidths = sWidth
'.RowSource = "A1:A3"
.BorderStyle = fmBorderStyleSingle
End With
'----Optionaly Resize Listbox/Combobox--------
If ResizeListbox = True Then
Dim w As Long
For i = LBound(vR) To UBound(vR)
w = w + vR(i)
Next
DoEvents
LBox.Width = w + 10
End If
'remove worksheet
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Function
Function sheetExists(sheetToFind As String, Optional InWorkbook As Workbook) As Boolean
If InWorkbook Is Nothing Then Set InWorkbook = ThisWorkbook
On Error Resume Next
sheetExists = Not InWorkbook.Sheets(sheetToFind) Is Nothing
End Function
Új hozzászólás Aktív témák
- DELL PowerEdge R730xd 16LFF 160TB+400GB 2U rack - 2xE5-2683v4 (16c/32t),256GB RAM,2x10G NET,HBA330
- BESZÁMÍTÁS! GIGABYTE A520M R7 3800X 16GB DDR4 512GB SSD RX 9060 XT 16GB Zalman T3 Plus CM 650W
- MacBook Air M1 13" 16GB RAM 256GB SSD 27% áfás számla, (0228)
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Thunderbolt 4 kábel
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
oszlopokat:











