-
IT café
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
Topikgazda
Rögzítettem egy makrót, ahol a Táblázat1 B oszlopában vannak a törlendő cellák (Field:=2, Adat címmel).
Szűri a 2 értékre, törli azokat, majd megszünteti a szűrést. Ilyen egyszerű.Sub Makró1()
ActiveSheet.ListObjects("Táblázat1").Range.AutoFilter Field:=2, Criteria1:= _
"=0", Operator:=xlOr, Criteria2:="=#HIÁNYZÓ"
Range("Táblázat1[Adat]").ClearContents
ActiveSheet.ListObjects("Táblázat1").Range.AutoFilter Field:=2
Range("Táblázat1[#Headers]").Select
End Sub
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
oke
senior tag
válasz Delila_1 #52651 üzenetére
Köszi, sajnos Run time error '9'-el elszáll az első sornál nálam.
Én ezzel próbálkoztam egyébként, csak nem tudom jó e a
Range("A2").Select
megadása, hogy onnan kezdje a törlést, ha az első adat mundjuk az A4-ben van:ActiveSheet.Range("A2:A" & utolso).AutoFilter Field:=1, Criteria1:="=0", _
Operator:=xlOr, Criteria2:="=#HIÁNYZÓ"
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
ActiveSheet.Range("A2:A" & utolso).AutoFilter Field:=1
Range("A2").Select
-
Delila_1
Topikgazda
Nem kell ráállni az A2-re. Próbáld meg táblázattá alakítani (Kezdőlap, Formázás táblázatként).
Az általam küldött makróba írd át a Field:=2-t, és az oszlop címét.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
eszgé100
őstag
Sziasztok!
Par hete osszehoztam egy Power Query lekerdezest, ami kb 30 kulonbozo Sharepoint mappabol osszefuzi nekem a benne talalhato .xls fajlokat, amik a raw data-t tartalmazzak. Meretebol adodoan a query frissitese eltart vagy 20 percig. Ezt szeretnem orvosolni valahogy.
Power BI-ban erre letezik az ugynevezett incremental refresh, ami csak hozzafuzi az uj adatokat a regihez, de eddig nem talaltam hasznalhato megoldast, ami Excelben is mukodne.
Letezik erre valamilyen alternativ megoldas?Elore is koszonom
"-Meddig tart a játék? -Amíg mindenkinek ki nem verik a fogát..."
-
oke
senior tag
válasz Delila_1 #52653 üzenetére
Köszi. Amire használnám, az hetente többször készülő tábla, kb 40-45 ezer sorosak, egy részénél fkeressel mozgatok át adatokat és az ott keletkezett 0 és Hiányzó értékeket szeretném törölni, hogy "szebb" legyen az eredmény. Ezt most kézzel csinálom, 5 oszlopon. Nem tudom mennyire tudnám beépíteni, hogy mindig táblázattá alakítsam.
Amit Én bemáésoltam, az nem lenne jó erre a célra? A2-re álláson kívül. Nem töröl esetleg olyan adatokat is, amit nem kellene? -
Delila_1
Topikgazda
Makró nélkül is gyorsan megy.
A Beállítások | Speciális lapon az E munkalap megjelenítési beállításainál kiveszed a pipát a Nulla megjelenítése nulla értékű cellákban elől.
Az FKERES függvényt beágyazod a HAHIBA függvénybe. HAHIBA(fkeres(...);"")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 föccer #52657 üzenetére
Ezt találtam, de nem próbáltam:
Makróval törölt adatok visszaállítása
1. elmented a munkalap másolatát:
Dim sh As Worksheet, msh As Worksheet
Set sh = ActiveSheet
sh.Copy after:=Sheets(sh.Index)
Set msh=ActiveSheet
msh.Name="Mentett"
sh.Activate
ha nincs már szükség a mentett munkalapra, akkor
msh.Delete vagy Sheets("Mentett").Delete
2. ha vissza szeretnéd hozni:
Dim msh As Worksheet, sh As Worksheet
Set msh = Sheets("Mentett")
Set sh = ActiveSheet
msh.UsedRange.Copy sh.Range(msh.UsedRange.Cells(1).Address)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz Delila_1 #52658 üzenetére
Alapadatok megvannak, adatvesztés nincs, erre mindig akkurátusan figyelek. Csak időveszteség.
1 ciklus pár perc alatt fut le, 12*35 ciklus van. Egy range hivatkozást rosszul adtam meg, így minden eredmény 0 lesz (egy olyan makró ami 2 adattáblán futtat keresést, hogy mi változott, az milyen típusú beavatkozás volt, ilyenek. Most saját magához akarja hasonlítani.
Na mindegy, akkor holnap folytatom
Építésztechnikus. Építőmérnök.
-
dm1970
tag
Szia!
Köszi Neked is a segítséget!
Nem a script futtatása közben kell(ene) a felugró ablakokban OK-ézni, hanem a VBS fájl futtatása addig nem indul el, amíg nem OK-zom egy SCRIPT megkísérel hozzáférni a SAPGUI-hoz... ablakot. De ezt hiába lehetne megoldani, sajnos az lesz a gond, hogy biztonsági okokból maga a rendszer nem enged makróval fájlt futtatni. Hozzárendeltem egy gombhoz az mm02-t és a minta makrót is. Mindkettő egyből leáll ugyanazzal a hibaüzenettel: nem érhető el vagy le van tiltva a makró a munkafüzetben. Több makró is fut a fájlban, azokkal nincs gond, ebből gondolom a tiltást.Fferi50
A fenti a Shell parancsra is igaz.Köszi még egyszer mindkettőtöknek!
-
Fferi50
őstag
válasz föccer #52662 üzenetére
Szia!
Továbbá: a Watch window-ba beteheted a ciklusváltozódat és beállíthatod, hogy amikor az értéke 10,100 stb-vel osztható, akkor álljon meg a makró futása. Ez addig működik, amíg az adott munkafüzetet nyitva tartod, illetve ki nem törlöd a figyelőablakból a kifejezést.
Mentésnél természetesen nem megy a munkafüzettel, tehát a felhasználót nem zavarja. Tesztelésnél viszont nagyon hasznos tud lenni.
Üdv. -
Minininja35
újonc
Sziasztok.
Office 2013 Home & Business
Találkozott már valaki olyannal, hogy ha több excel fájl van megnyitva egyidejűleg, akkor az Excel csak és kizárólag megnyitási sorrendben engedi bezárni?
Tehát pl. van 3 fájl megnyitva, akkor a 2.-at csak akkor zárja be, ha az elsőt már bezártam és így tovább.
Köszi a válaszokat. -
Emod
kezdő
válasz Minininja35 #52665 üzenetére
Nincs véletlen nyitva valami párbeszéd ablak?
-
Mutt
aktív tag
válasz dm1970 #52660 üzenetére
Szia,
SAP GUI beállításoknál kapcsold ki a Notifcation-öket és nem kell többet okéznod.
A makrókat alapból tiltja a rendszer, de lehet engedélyezni őket Excelben a Fájl->Beállítások/Options->Adatvédelmi központ/Trust Center->Adatvédelmi központ beállítása/Trust Center Settings gomb alatt.
Nézd meg a makróbeállításokat és a megbízható helyeket.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
Mike Girvin az elmúlt időszakban jópár hasznos videót rakott fel Youtube-ra.
1. Microsoft Power Tool-ok adatelemzéshez: https://www.youtube.com/watch?v=OPRgygR0kio
2. Power Query haladó (M-nyelv): https://www.youtube.com/watch?v=HRFZOYWGhjoRegex függvényeket kap az Excel: https://www.youtube.com/watch?v=YFnXV2be9eg
Online súgóban még nincsenek fent, de Insider változatban már elérhető.Közben pedig látom, hogy már 2 éve van REDUCE/MAP/SCAN függvény is.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
JozsBiker
aktív tag
Sziasztok !
Régebbi ( 2002 -es) Excel beépített funkciójával ( Adatok/Szövegből oszlopok ) próbálom egy cella tartalmát ketté bontani, de a második cella típusa sehogy sem akar az lenni amit szeretnék. Hiába szöveg típusú a kiinduló cella, az eredményt mindenképp szám formátumba akarja tenni és hatványos alakban írja. Át tudnám tenni normál számmá, de legutolsó helyiértéken már eltér az eredetitől és az induló 0 is elveszik. A kettőspontot használnám elválasztónak.
Kiinduló cella:
gysz: 01814522620741
Eredmény1:
gysz
Eredmény2:
1,81452E+12
Van erre esetleg valami függvény amivel megoldható ? Igazából annyi is megfelelne, ha a "gysz" részt ki tudnám törölni, mert tulajdonképpen az volna a cél. Köszi.
[ Szerkesztve ]
-
Emod
kezdő
válasz JozsBiker #52670 üzenetére
Oszlop kijelölése és csere (ctrl + h)?
Keresett szöveg: "gysz: "
Csere erre: ""Mutt #52669
Hasznos videók, köszi![ Szerkesztve ]
-
andreas49
senior tag
válasz JozsBiker #52670 üzenetére
Amikor kijelölőd, hogy elválasztó a szóköz legyen, utána mutatja a két oszlopot, aminek a fejléce szerint általános, melyet át tudsz állítani "szöveg" -re. máris megmarad az eredeti második rész
HONOR Magic5 Pro - Huawei P30 Pro 8/128 GB - Xiaomi MI Note 10 Pro - Huawei Mate 10 Pro
-
JozsBiker
aktív tag
Ez sajnos nem egészen úgy működik ahogy szeretném. A csere ablakban hiába állítom át a 'Mit keres' és a 'Mire cserél' formátumot is 'szöveg' -re, a 'gysz:' -t kivágja, viszont a maradékot hatvány formában írja. Lehet, hogy az újabb Excel verziókban már rendesen működik ( meg az is lehet hogy még mindig én bénázok el valamit ).
-
Delila_1
Topikgazda
válasz JozsBiker #52675 üzenetére
Ne a Szövegből oszlopok funkciót használd, hanem két képletet.
Vegyük, hogy a szöveged az A1 cellában van. A B1 képlete legyen =BAL(A1;5) – ha nem akarod a kettőspontot is ábrázolni, akkor =BAL(A1;4).
A C1 képlete =KÖZÉP(A1;6;25)&""
A üres string (dupla idézőjel) hozzáfűzése a számot szöveggé alakítja, ez a "trükk".
Ezután másolod a B és C oszlopokat (Ctrl+C), majd irányítottan, értékként beilleszted az A oszlopra. A C oszlopot, amiben ott maradtak a képletek, törölheted.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
eszgé100
őstag
Sziasztok!
Meg tudnatok mondani, hogy az utolso sor miert okoz runtime error 1004-et?
1004:Application-defined or object-defined error.Az osszes keplet mukodik a tablazatban, onnan bemasolva VBA-ba viszont az utolsot nem tudom beiratni az R oszlopba.
mrs.Activate
Set tbl2 = mrs.ListObjects("Table2")
lastrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
tbl2.Resize mrs.Range("A2:V" & lastrow + 1)
lastrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
mrs.Range("A" & lastrow) = modnum
mrs.Range("B" & lastrow) = modtype
mrs.Range("F" & lastrow).Formula2 = "=INDEX(Lists!$M$4:$M$33,MATCH(1,([@Customer]=Lists!$K$4:$K$33)*([@Commodity]=Lists!$L$4:$L$33),0))"
mrs.Range("G" & lastrow).Formula2 = "=INDEX(Lists!$N$4:$N$33,MATCH(1,([@Customer]=Lists!$K$4:$K$33)*([@Commodity]=Lists!$L$4:$L$33),0))"
mrs.Range("J" & lastrow).Formula2 = "=INDEX(Lists!$O$4:$O$33,MATCH(1,([@Customer]=Lists!$K$4:$K$33)*([@Commodity]=Lists!$L$4:$L$33),0))"
On Error Resume Next
mrs.Range("R" & lastrow).Formula2 = "=IF([@[Planned Production Date]]<>0,[@[Planned Production Date]]+87,"")"
If Err.Number > 0 Then
Debug.Print Err.Number & ":" & Err.Description
End If"-Meddig tart a játék? -Amíg mindenkinek ki nem verik a fogát..."
-
Fferi50
őstag
válasz eszgé100 #52677 üzenetére
Szia!
Az előzőhöz kiegészítésként:
Az idézőjeleket duplikálni kell a szövegen/képleten belüli megjenéshez.
Ezen kívül a táblázatra hivatkozás sem megfelelő.
Táblázatnév [@mezőnév] a helyes, továbbá szóköz nem lehet benne.
Vidd be a cellába egérmutatással a képletet és utána megnézni az immediate ablakban, hogyan néz ki. (Pl. ? Activecell.Formula2 és enter). Ezt használhatod az idézőjelekre vonatkozó szabály figyelembe vételével.
Üdv.[ Szerkesztve ]
-
eszgé100
őstag
válasz Fferi50 #52680 üzenetére
Koszonom szepen
Ezen kívül a táblázatra hivatkozás sem megfelelő.
Táblázatnév [@mezőnév] a helyes, továbbá szóköz nem lehet benne
Azt modjuk en is neztem, de amikor az IF kepletet csinaltam, hiaba javitottam at @ es a [ ]-et, hogy a megfelelo helyen legyenek, azok automatikusan visszakerultek.
Probaltam szokoz helyett "_"-al is, ezesetben is megjelentek az extra szogletes zarojelek.
Vegso megoldas, hogy egyszavasra csereltem az oszlop nevet."-Meddig tart a játék? -Amíg mindenkinek ki nem verik a fogát..."
-
karlkani
aktív tag
Sziasztok!
Ezzel a makróval olvasom be egy lejátszási lista tartalmát, azonban van egy kis probléma.
Sub Lejatszasi_lista_frissitese()
Dim fileToOpen As Variant
Dim wsMaster As Worksheet
Dim wbTextImport As Workbook
Application.ScreenUpdating = False
fileToOpen = "C:\Users\en\AppData\Roaming\PotPlayerMini64\Playlist\F.dpl"
Workbooks.OpenText fileToOpen
Set wbTextImport = ActiveWorkbook
Set wsMaster = ThisWorkbook.Worksheets("F")
wbTextImport.Worksheets(1).Range("A1").CurrentRegion.Copy wsMaster.Range("I1")
wbTextImport.Close False
Application.ScreenUpdating = True
End SubA beillesztett tartalom ANSI kódolású, nekem viszont UTF-8 kellene (speciális karakter miatt). Ebben kérnék segítséget, gondolom megoldható.
Másik kérdés. Megjegyzésben szeretnék egy cellára (ledolgozott munkaidő) hivatkozni (x% * ledolgozott munkaidő * y Ft/óra). Jól gondolom, hogy ezt makró nélkül nem lehet megoldani?
Előre is köszönöm!
-
p5quser
tag
Sziasztok!
Olyat lehet excelben (igazából G.Sheetsben) hogy egy tartományban keressek egy szöveg részletet, majd találat esetén visszaadja a találat oszlopának első sorát?
Valahogy nem találok olyan képletet, amelyik több oszlopos tartományban keresgél.
Jó lenne képlettel megoldani, mert egy G.drive-ba feltöltött xls-ben vannak az adatok, szóval sem makró, sem apps script nem játszik. Bár a makró megvan hozzá, viszont akkor csak én tudok vele dolgozni....
Az alábbi kép lenne a probléma.
Előre is köszönöm! -
Fferi50
őstag
válasz p5quser #52683 üzenetére
Szia!
Többoszlopos tartományban keresésre én nem emlékszem Excelben sem.
Szerintem az INDEX - Match páros műxik G.sheetben is. Viszont minden oszlopra külön kell a keresést megadnod.
A keresésben használhatod a wildcard karaktereket * (csillag) akárhány karakter ? (kérdőjel) 1 karakter.
Pl. "*uda*" az uda részletet tartalmazó értéket találja meg. Pontos egyezést kell keresni a Match függvénnyel.
Üdv. -
Fferi50
őstag
válasz p5quser #52686 üzenetére
Szia!
Talán próbáld meg ezt:
Először az oszlopokat összefűzni - nem kell fizikailag, csak képlettel -, ebben megkeresni a szövegtöredéket, hányadik sorban van.
Majd ebben a sorban ismét megkeresni, mostmár egyedül az oszlopot. Végül az első sorban a konkrét értéket.
Itt láthatod részleteiben a képleteket.
Természetesen ez összevonható egy cellába is, kicsit hosszú lesz.
Üdv.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Fferi50 #52685 üzenetére
Lehet több oszlopban keresni, csak kicsit macerás.
A B7 cella képlete
=INDEX(A1:D1;1;MAX(HA(HIBÁS(HOL.VAN("*"&B6&"*";A1:A4;0));0;1);HA(HIBÁS(HOL.VAN("*"&B6&"*";B1:B4;0));0;2);HA(HIBÁS(HOL.VAN("*"&B6&"*";C1:C4;0));0;3);HA(HIBÁS(HOL.VAN("*"&B6&"*";D1:D4;0));0;4)))
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz p5quser #52683 üzenetére
Szia,
Kaptál már választ, de én is bedobok egy csak friss Excelben műkődő változatot.
F2-ben a kereső szó és G2-ben a képlet:
=TEXTJOIN("; ";TRUE;FILTER($A$1:$D$1;BYCOL($A$2:$D$4;LAMBDA(col;SUM(--ISNUMBER(SEARCH("*"&F2&"*";col)))))))Google Sheets-ben ugyanezen függvények léteznek, szóval elméletben ott is műkődhet.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
p5quser
tag
Üdv!
Köszönöm Neked is.
E megoldás felé sandítanék, mivel kiderült időközben hogy 100+ csoport (oszlop) alá vezetnek fel tételeket. Már küzdök hogy struktúráljuk át az adatokat. Viszont addig eljátszanék a megoldásoddal, de a "col"-t nem tudom értelmezni. Ez vmi változó? Ha igen, hol-hogy definiálom? Vagy csak elírás?
Előre is köszi! -
Mutt
aktív tag
válasz p5quser #52694 üzenetére
Szia,
Röviden: igen, a "col" egy változó (column-t rövidítettem).
Hosszan:
1) A képlet alapja a BYCOL függvény, amely egy tartománynak (első paraméter) az oszlopain egymás után lefuttatja a második paraméterben megadott függvényt. Az eredmény egy tömb lesz, legalább annyi elemmel ahány oszlop van.
2) A LAMBDA függvénnyel pedig saját függvényeket lehet létrehozni. Az első paraméter(ek) változók, az utolsó pedig az eredményt kiszámoló képlet. pl. LAMBDA(a,b,a+b) összeadja a két inputot. LAMBDA-t többnyire a névkezelőben szoktunk használni, és onnan a munkafüzetben bárhol el lehet érni.
Ebben az esetben a BYCOL függvény a LAMBA első változójának átadja az oszlop értékeit. A függvény pedig megnézi, hogy az adott oszlopban megtalálható-e a szöveg vagy sem. Az eredmény 0 vagy pozítiv szám lesz.
3) A FILTER függvénnyel azon mezők maradnak meg, ahol egy pozítiv szám volt az eredmény.
4) A végén a több lehetséges eredményt összefűzük egy mezőbe.üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Xanderas
csendes tag
Sziasztok
van egy vevő táblázatom ahol minden adatot külön cellába írok: név, cím, irányítószám stb.
Szeretnék egy olyan makrót ami az irányítószámot és a várost (két külön cellából) kimásolja egy másik munkalapra de már 1cellába a két adatot.
Remélem érthetően magyaráztam.
Feltételezem, hogy ez egy egyszerű parancssorral megoldható de nekem nem megy.Előre is köszi a segítséget
-
Fferi50
őstag
válasz Xanderas #52697 üzenetére
Szia!
Miért kellene ehhez makró? Egyszerű képlet: pl. a második munkalapra
=Elsőmunkalap!A1 & " " & Elsőmunkalap!C1
A oszlop irányítószám, C oszlop városnév
Az oszlopokat helyettesítsd be a nálad levő helyzetbe, a szóköz helyett írd be, amivel szeretnéd elválasztani a két értéket.
A képlet lehúzható az oszlopban.
Üdv.
Új hozzászólás Aktív témák
- Parfüm topik
- Hobby elektronika
- Ezúttal bennfentes kereskedelemmel vádolják Elon Muskot
- Android alkalmazások - szoftver kibeszélő topik
- TCL LCD és LED TV-k
- Diablo IV
- Felpörög az asztali CPU-piac a következő pár hónapban
- Skoda, VW, Audi, Seat topik
- Exkluzív órák
- Apple asztali gépek
- További aktív témák...
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs