-
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
-
tgumis
tag
Sziasztok!
Van egy munkafüzetem amiben tökéletesen működik a felhasználói adatok lekérdezése munkafüzet megnyitása után:
Private Sub Workbook_Open()
Application.ScreenUpdating = False 'képernyő frissítése kikapcsolás
Sheets("Felhasználói_adatok").Visible = True
environ_variables
Sheets("Felhasználói_adatok").Select
Sheets("Felhasználói_adatok").Visible = False
Sheets("Megrendelő").Select
Range("A14").Select
Application.ScreenUpdating = True 'képernyő frissítés visszakapcsolás
End Sub
Próbáltam egy másik munkafüzeben is de ott ez a hibaüzenet fogad.
Pedig minden ugyan úgy van a munkalap neve ls. Próbáltam, hogy rejtve van a felhasználói adatok munkalap és úgy is ha nem. -
tgumis
tag
válasz Fire/SOUL/CD #53330 üzenetére
Szia!
Most jutottem el odáig, hogy kipróbáljam. Parádés de sajna nekem egy összeg kellene, hogy mennyi a végösszeg.
Próbáltam egy indirect fügvénnyel de #HIV hibát ad
most negjelenik:
131,589 , 159,882
ehelyett nekem a két szám összege kellne
=131,589+159,882 =291,471 -
tgumis
tag
válasz Fire/SOUL/CD #53330 üzenetére
Köszi
Ki fogom probalni
Hálás köszönet -
tgumis
tag
válasz Fire/SOUL/CD #53277 üzenetére
Szia!
Egy újabb probléma.
Van egy lista amiben vannak az adott kaják kódjai és a hozzá tartozó érték. Egy menühöz több kód is tartozik mondjuk Zellerkrém leves plusz levesgyöngy. De ez lehet több is. Tehát segédoszlop nélkül szeretném megoldani, hogy egy cellába beírom vesszővel elválasztva az adott kajához tartozó kódokat és egy másik cellában megjelenik az adott "összeállítás" értéke.
Pl mint itt:
-
tgumis
tag
Szia
Bocsi nem office 365 hanem 2021
Köszi a megoldást -
tgumis
tag
Sziasztok!
problémám a következő
Étlapok allergén jelölésére szeretnék gyors megoldást. Tudom vannak rá programok de excelben szeretném megoldani.
Van egy listám ahol 1-14 számok és mellette a szimbólum ami csak egy fekete körben a szám:
Egy cellába beírnám az allergéneket vesszővel elválasztva (1,7,9)
:
És alatta írja ki az allergéneket (windings 2 betütípus ami "u{}")
-
tgumis
tag
Sziasztok!
Miért lehet az, hogy van 3 excel fájl amiből beolvastatok adatokat és 2 tökéletesen működik a harmadik esetében mindig kiírja hogy védett a munkalap.
Sub TorzsadatFrissit()
'
' Makró3 Makró
'
'
Sheets("Törzsadat").Unprotect Password:="XXXXXXX" 'feloldjuk a munkalapok védelmét
ActiveWorkbook.Connections("Lekérdezés - ZMM_CHECK_SETUP_LELTÁRHELY").Refresh
ActiveWorkbook.Connections("Lekérdezés - A_LA_CARTE_RECEPTURA").Refresh
ActiveWorkbook.Connections("Lekérdezés - ZMAT").Refresh
Sheets("Törzsadat").Protect Password:="XXXXXXXX", UserInterfaceOnly:=True, AllowFormattingColumns:=True, AllowFiltering:=True
End Sub
Már próbálkoztam a sorrend felcserélésnél is de nem segít
-
tgumis
tag
Sziasztok!
Adott egy excel tábla. Egy új ügyviteli újítás miatt az iratkezelő rendszer nem tudja az exceleket kezelni( ne kérdezzétek miért ezt mondták).
Több egységre kell minden nap létszámkimutatásokat csinálni ami nagyon bevált de a kapott doksit Wordbe kell prezentálni.
Kézzel egyszserűen megoldom. Leszűröm az adatokat ijelölöm nyitok egy új word doksit beállítok minden margót 0,7 cm re és beillesztem képként.
Utána mentse a word doksit abba a mappába ahol az excel van mondjuk az AB1 cellában írt névként.És természetesen nem szélesebb a kép mint margó. Tehát arra a méretűre kell állítania.
Sajnos a PDF megoldás sem jó
Lehet erre makrót csinálni?
-
tgumis
tag
válasz Fire/SOUL/CD #51700 üzenetére
Csak siman megáll. Az eljén.
-
tgumis
tag
Sziasztok!
Mi ezzel a gond?
Mindig hibával megállSub Kikodol()
'
' OK
'
'
Set WsMeg = Sheets("Megrendelő")
WsMeg.Protect Password:="Jelszo", UserInterfaceOnly:=True, AllowFormattingColumns:=True, _
AllowFiltering:=True, AllowFormattingCells:=True
End Sub[ Szerkesztve ]
-
tgumis
tag
válasz Fferi50 #49703 üzenetére
Szia
Korai volt az öröm. a képlet tökéletes csak nagyon belassítja a táblázatot a folyamatos újraszámítás miatt.
Makróval megoldható agy a tábla bezárásakor az utolsó kitöltött sor kivételével lecserálje értékre a képletet? Tehát a Táblázat B4 től B808 ig van kitölteve akkor a B4 től a B807 ig lemásolja az értékeket és érték beillesztéssel visszailleszti? -
tgumis
tag
válasz Fferi50 #49701 üzenetére
Szia!
Makró az nincs még bár gondoltam, hogy majd azzal oldom meg, hogy mindig ujraképletezze de nem hinném az lenne a jó megoldás.
Ha újra írom a képletet akkor tök jól lemásolja a képletet azzal nincs baj. Csak az átméretezés után csinálja ezt
https://filedropper.com/d/s/kQFyzauHMsUM8Qxpfa7QwPVVNZBPv9
https://filedropper.com/d/s/6ELJIQg1mWrQdck4XWWLVEp8BauiaG[ Szerkesztve ]
-
tgumis
tag
Sziasztok!
A következő problémáva szembesültem.
Van egy táblázatom táblázatként formázva. A képletek másolása valamiért nem működik miután mentem bezárom majd újra megnyitom és átméretezem a tartományt.
Tökéletesen működik
Majd bezárás után újra megnyitom és átméretezem
Mintha összezavarodnának a képletek.
Magától kerülnek bele a az A33 cella hivatkozások. Már szétvet az ideg. Azért volna szükségem megbizható megoldásra mert folyamatosan lesz bővítve a tartomány és mivel sok a képlet és nagyon lelassul, ha előre képletezek több ezer sort. -
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. -
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.
-
tgumis
tag
válasz logitechh #48243 üzenetére
Hali
Én összeraktam egyet. Egy régebbi txt t létrehozó makróból:Sub MegrendeloMunkalapMenteseMaskent()
Const sLJNév As String = "Megrendelő"
Dim sPath As String: sPath = ThisWorkbook.Path & "\"
Dim sFNév As String 'név helyének lefoglalása
Dim sNytsz As String 'OK kell
Dim sSzallito As String
Dim sDatum As String
Dim sUser As String
sNytsz = Worksheets("Megrendelő").Range("X1") 'név deklarálása
sSzallito = Worksheets("Megrendelő").Range("C8")
sDatum = Worksheets("Megrendelő").Range("C12")
sUser = Worksheets("Megrendelő").Range("X2")
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets(sLJNév)
sFNév = "M_" & sNytsz & "_" & sSzallito & "_" & sDatum & "_" & sUser & "_" & Format(Now, "yyyymmddhhnnss") & ".xlsx"
.Copy
End With
With ActiveWorkbook
.SaveAs Filename:=sPath & sFNév, FileFormat:=xlWorkbookDefault, CreateBackup:=False
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
Range("A1").Select
End Sub -
tgumis
tag
Sziasztok!
Csinálok egy raktár nyilvántartó táblázatot. Az adatok a bevitel munkalapról kerülnek át az anyagmozgás munkalapra. Mindkét munkalapon táblázatként van formázva az érintett tartomány.
A problémám az, hogy a legelső adatáttöltés alkalmávan bentmarad a fejrész alatt egy üres sor.
Nem tudom azt megoldani, hogy az kikerüljön onna, mert csak az első áttöltés alkalmával gond ha manuálisan kitörlöm akkor nem gond de minden negyedév vagy amikor újra kezdjük feltölteni az adatokat előjön.
Van valami megoldás vajon?
Innen másolok:és ez a makró ami áttölti ( a kommentelés nem minden esetben valós csak ott maradt)
Sub SzurMasolBeill()
Dim WSBev As Worksheet
Dim WSAnyagM As Worksheet
Dim Bsor As Long
Dim Usor As Long
Application.ScreenUpdating = False
'értékadások
Set WSBev = Sheets("BEVITEL") ' a BEVITEL munkalap makróban elnevezett neve
Set WSAnyagM = Sheets("ANYAGMOZGÁSOK") ' az összesít munkalap makróban elnevezett neve
Bsor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row + 1 ' AZ IDÉZŐJEL KÖZÖTT LÉVŐ BETŰ azt jelenti hogy aZ ADOTT Oszlopba utolsó sor
' plusz egy fogom illeszteni az adatokat
' ITT CSAK AZT ADOM MEG HOGY HOVA ILLESZTEK BE
' A BSOR LEHETNE BÁRMI EZ CSAK ELNEVEZÉS
Usor = WSBev.Range("A12").End(xlDown).Row
WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12, Criteria1:="<>0", Operator:=xlAnd 'NULLÁTÓL KISSEBB ILLETVE NAGYOBB ÉRTÉKEKRE SZŰRÉS
WSBev.Range("A12:N" & Usor).SpecialCells(xlCellTypeVisible).Copy 'csak a látható, nem rejtett sorokat másolja
WSAnyagM.Range("A" & Bsor).PasteSpecial xlPasteValues 'ITT ADOM MEG HOGY BEIELLESZTSE A MÁSOLT ADATOKAT AZ
'IDÉZŐJELEK KÖZT MEGADOTT OSZLOP PLUSZ A BSOR BAN
'MEGHATÁROZOTT UTOLSÓ PLUSZ EGY SORBa
Dim Csor As Long
Csor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row 'tartomány átméretezéséhez kell ey új változó itt megadom, neki, hogy melyik az utolsó adarot tartalmazó sor az A oszlopban
WSAnyagM.ListObjects("Anyagmozgások").Resize Range("$A$3:$N$" & Csor) ' itt pedig átméretezem a táblázatot
WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12
Application.ScreenUpdating = True
End Sub[ Szerkesztve ]
-
tgumis
tag
Sziasztok!
A következő problémám lenne:
túlórák összesítéséhez kellene összedobnom egy táblát de elvesztem a Ha fügvényekben
Lényeg a következő:
- a túlórák összesítésénél aki a fizetős verziót választja annak aki 2009 után lépett be és raktáros munkanap annak az első két óra 50%-os a második két óra 75 % az afeletti pedig 100% nem munkanap minden 100%
- 2009 után belépett raktáros minden óra 100%
- sofőrők esetén a belépés éve mindegy nekik hétköznap 100% hétvégén 200%
Másik probléma,hogy amennyiben 2 óra alatti a túlóra akkor #### jelenik meg -
tgumis
tag
válasz Fferi50 #45675 üzenetére
Igen a példa esetén ez ránézésre megállapítható
De több száz tétel egymás alatt és van ami kg -s van ami db-os van ami kevesebb mint 1 kg -os (ot volt valami baja) és volt ami nagyobb mint 1 kg-os.
De rájöttem, hogy mindent átváltok kg-ba és akkor a dbos ár szorozva a mennyiséggel illetve a fajlagos árat a kg-os mennyiséggel.
Szóval egyenlőre úgy néz ki ez lesz a jó vonal.
Köszi az észrevételeket (végül is közelebb vitt a megoldáshoz ) -
tgumis
tag
válasz Fferi50 #45669 üzenetére
Szia
Köszi olvastam ott is. De az az alap probléma hogy lesz mondjuk 5 féle zsömle (vagy paradicsomlé db-os a termék mindegy is)
Szóval van 5 féle zsömlénk.
egy 45 gr-os 32 ft-ért
egy 39 gr-os 34 ft-ért
kettő 54 gr-os egyik 25 ft-ért a másik 45 ft-ért
egy 40 gr-os 23 ft-ért
ugye ezeket ár érték arányban kellene összevetnem:
kiderül, hogy az 54 gr-os 25 ft-ért a jó -
tgumis
tag
válasz Norbika1493 #45649 üzenetére
-
tgumis
tag
Sziasztok!
Van egy olyan problémám, hogy sok sok terméket (különböző beszerzési helyről) kellene összevetnem (mármint, hogy kg ban melyik a legolcsóbb)
3 problémám van( vagyis 3 lehetőség):
1. Az adott termék kg-ban (mérjük) pl 750 grammos kenyér(ne kérdezzétek miért így mikor lehetne darabban is) amikor a kiszerelési egység kissebb mint 1 kg. pl 750 gr-os kenyér
2. Az adott termék db ban kerül számlázásra és a mértékegysége db de nekem tudnom kell hány kg.
pl egy zsömle lehet 54 gr de 39 gr stb
3. Az adott termék nagyobb kiszerelésű mint 1000 gr. pl 5000 gr-os zsemlemorzsa (ezt is kg-ban kell rendeznem)
4. Ami nem gond mert 1000 grammos és kg ban tartjuk nyilvánA csatolt képeken látszik az én megoldásom.
Az lenne a kérdés, hogy a fajlagos (G és H oszlop a valós értéket mutassa)
Remélem értelmesen fogalmaztam
Köszi előre is -
tgumis
tag
válasz Fferi50 #42403 üzenetére
hála és köszönet
nagyon sokat segítettél. Már csak a visszatérést a célfüzetbe kell megoldanom valahogy. Ugye ott rontottam el hogy csak benne hagytam a Windows résztSub AnyagbizAdatokAutomatikusBetolteseII()
'
' AnyagbizAdatokAutomatikusBetoltese Makró
'
'
Set celfuzet = ActiveWorkbook '(mivel megnyitás után az új füzet lesz aktív)
Windows("AnyagbizAdatok.XLSX").Activate
Range(Range("A2"), Range("K2").End(xlDown)).Copy Destination:=celfuzet.Sheets("anyagbiz_lista").Range("Anyagbiz[Anyagbiz-szám]")
End Sub -
-
tgumis
tag
válasz Fferi50 #42396 üzenetére
ez az eredeti:
Sub AnyagbizAdatokAutomatikusBetoltese()
'
' AnyagbizAdatokAutomatikusBetoltese Makró
'
'
Windows("AnyagbizAdatok.XLSX").Activate
Range("A2:K2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Negyedéves gyár számolós_V2.2_üres.xlsm").Activate
Range("anyagbiz[Anyagbiz-szám]").Select
ActiveSheet.Paste
End Suberre alakítottam de nem megy
Sub AnyagbizAdatokAutomatikusBetolteseII()
'
' AnyagbizAdatokAutomatikusBetoltese Makró
'
'
Set celfuzet = ActiveWorkbook '(mivel megnyitás után az új füzet lesz aktív)
Windows("AnyagbizAdatok.XLSX").Activate
Range(Range("A2"), Range("K2").End(xlDown)).Copy Destination:=celfuzet.anyagbiz_lista(1).Range("Anyagbiz[Anyagbiz-szám]")
End Sub -
tgumis
tag
válasz Fferi50 #42392 üzenetére
Köszi
Még egy kérdés:
van egy ilyenemSub AnyagbizAdatokAutomatikusBetoltese()
'
' AnyagbizAdatokAutomatikusBetoltese Makró
'
'
Windows("AnyagbizAdatok.XLSX").Activate
Range("A2:K2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Negyedéves gyár számolós_V2.2_üres.xlsm").Activate
Range("anyagbiz[Anyagbiz-szám]").Select
ActiveSheet.Paste
End SubHogyan tudom a "Negyedéves gyár számolós_V2.2_üres.xlsm" eztúgy megoldani hogyha átnevezik akkor is működjön. Mert most csak akkor fog működni ha mindig ugyanazon a néven mentik el.
-
tgumis
tag
válasz Fferi50 #42386 üzenetére
Nagyon király Köszi
Már csak egy gondom van az pedig az hogy az anyagbiz táblázatban az A oszlopig értékek az L oszloptól az O oszlopig viszont képletek vannak így azok mind eltűntek.
Előtte átmásolom máshová majd így vissza tudom másolni
Talán így jó lesz:
Sub KepletMasol()
'
' Makró4 Makró
''
Range("Y1:AB1").Select
Selection.Copy
Range("L2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub[ Szerkesztve ]
-
tgumis
tag
Sziasztok
Hogyan tudok táblázatként formázott tartományt törölni. Hiába jelölöm ki az eső sort majd ctrl+shift+le nyil kijelöli majd törlés de a makróban egy rakat sor szerepel
Selection.ListObject.ListRows(1).Delete
annyiszor ahány soros a táblázat -
tgumis
tag
Sziasztok!
Tudok olyat hogy van egy munkafüzetem ami tartalmaz xx munkalapot 1 től pl 100 ig
ha egy táblázatban megadom hogy melyik munkalapból mi legyen a neve akkor egy makró ezt megoldja?
Vagy esetleg az adott munkalap élőfejében az 1-es munkalaphoz tartozó érték jelenjen meg élőfejben
Köszi -
tgumis
tag
Sziasztok!
Csak én vagyok balfék vagy tényleg nem szeretik a makrók a "táblázatként formázott " táblázatokat.
Nekem a beillesztés sem sikerül makróval
Valaki tudja ezt miért így van -
tgumis
tag
Sziasztok!
Adott egy makró:
Sub keplet_helyett_ertek()
Range("a1").Select
'Képleteket tartalmazó tartományok kijelölése
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
'A keletkezett területek bejárása és képlet-érték csere
For Each akt_range In Selection.Areas
akt_range.Formula = akt_range.Value
Next
End SubHogyan tudom átírni, hogy futtatáskor a munkafüzet összes lapján hajtsa végre ne csak azon amelyiken állok?
-
tgumis
tag
Sziasztok
Van arra lehetőség, hogy képlet egy képlet eredményétől függjön , hogy egy cellába írhatunk e vagy sem.
Pl:
A1 cella értéke "IGAZ" akkor a C1 cellába írhatunk ha az A2 cella értéke "HAMIS" akkor a C1 cellába nem Írhatunk semmit.
Makeó nélküli megoldás előny. -
tgumis
tag
Sziasztok!
Hogyan tudom azt megmondani, hogy az összes A001 közül azt vegye figyelembe amelyiknél az A001 előtti szám nagyobb. Tehát a 43466A001 előtti cellába írja ki a képlet hogy "nem" a 43497A001 előtti cellába meg azt hogy "Igen",Semmi nem jut rá eszembe. A számok az A00X előtt dátumból lettek átalakítva.
43466A001 A001
43466A002 A002
43497A001 A001
43497A002 A002
43497A003 A003
43497A004 A004
43497A005 A005
43497A026 A026
43497A006 A006
43497A007 A007
43497A008 A008 -
tgumis
tag
Sziasztok!
Tud valaki egy olyan makrót ami mondjuk egy 50 vagy több munkalapos munkafüzet minden egyes munkalapját bemásolja külön egy új munkafüzetbe és elmenti. Kvázi létrehoz 50 vagy több új munkafüzetet ugyanabban a könyvtárban ahol az eredeti fájl található. Mentésnél a munkalap nevét adja névnek.
-
tgumis
tag
Sziasztok!
Valaki találkozott már olyannal, adatérvényesítésnél a nem megfelelő érték beírásakor nem történik semmi hanem megeszi simán az excel.
Érvényesítésnek egy meghatározott tartomány van beállítva. -
tgumis
tag
válasz Delila_1 #39531 üzenetére
Köszi!
Sajnos az auto szűréssel az a baj, hogy pepecselős. És ha 500 embert kell végig pötyögni az sok. Az egyes szervezetek megküldik az emberik friss ellátottságáról az adatokat és én a jelenlegit szetetném vele felülírni. Gondolkodtam olyanon hogy a beküldött munkafüzeteket behivatkouom csak éppen nem tudom hogy melyik hány soros lesz így nem állíthatom be hogy A2:A100 záhony
A101:200 pladány stb.A törzsszám generálás nem ok azt tudom de semmi mas ötlet nincs hogy kellene generálni( sajnos aratvédelem miatt nem kaphatom meg az igazo törzsszámokat.
-
tgumis
tag
Sziasztok
Szeretném hogy:
- egy bevitel nevű munkalapon beírom egy ember törzsszámát(vagy akár többet ) listázódjon ki nekem a meghatározott adatok pl az itt látható adatok küzül mind
- Ha valaki kap valamilyen anyagot ami a letárolt adatokban 0( példáúl Minta Géza eddig 0 db kalappal rendelkezett de most kapott akkor ha itt a kilistázott adatoknál átírom a kalap mennyiségét 2 db-ra akkor szeretném ha a letárolt adatoknál is átíródjon hogy neki 2 db kalapja vanA letárolt adat alatt egy adatbázis értek ahol kb 3000 ember összes ruházati felszerelése szerepel és az egyes egységek mikor megküldik, hogy ki mit kapott esetleg pótoltak akkor automatikusan tudjam felülírni és ne kelljen egyesével keresgélnem benne
[ Szerkesztve ]
-
tgumis
tag
válasz Delila_1 #39235 üzenetére
Sziasztok!
Ez a dolog csak így működtethető (laphoz rendelve) vagy sima makróként is tehát hogy egy gomb nyomásra hajtsa végre.
Mondjuk csinálok egy makrót ami egy adott cellából kimásol egy értéket és azt beilleszti ebbe a cellába ahonnan hivatkozik akkor már is megvan. De ha lehetne akkor egy lépésben oldanám meg. -
tgumis
tag
Sziasztok!
Ismét előállt egy probléma amiben szeretném a segítségeteket kérni.
Vagyis kettő:
1. lehet olyan makrót csinálni ami azt csinálja, hogy ha a K1 cellába beírom mondjuk a 20180001-et akkor az összes olyan sort kitörli a (nem csak az értéket hanem magát a sort) táblázatból amelyiknek az A oszlopban az szerepel, hogy 20180001.
De csak az A oszloptól az F oszlopig.(sárgával jelölve)
2. olyat tudok csinálni, hogy ha beírom az N oszlopba, alma akkor leszűri a táblázatot a azokra az ahol a B oszlopban alma szerepel.[ Szerkesztve ]
-
tgumis
tag
Delila_1 fainul megoldotta a problémámat. Nagy segítségemre lesz az általa átformált makró.
Köszi.
Majd felteszem a kész makrót hátha szüksége lesz valakinek egy hasonló makróra. -
tgumis
tag
válasz Delila_1 #37549 üzenetére
Nagyon zsír
Már csak az a probléma (és természetesen ezt sem sikerül megfejtenem) hogy az összesítés munkalapon az A oszlopban nem sorszámozás történik hanem a b oszlop lemásolása és beillesztése
pedig ezzel kísérleteztem:Application.CutCopyMode = False 'kijelölés megszüntetése
'talán ez a sorszámozás
Range("S2:V2").Copy Destination:=Range("S" & Asor & ":S" & Bsor - 1)
For i = Asor To Bsor - 1
Range("A" & i) = Range("A" & i - 1) + 1
Next i
'talán itt a sorszámozás vége
de nem jártam iskerrel
Persze a jelszavazás jó helyre helyezés után nagyon jól müxik -
tgumis
tag
válasz Delila_1 #37546 üzenetére
Nos én nagyon béna vagyok
a munkafüzet minden lapját levédtem
jelszónak pw adtam meg és ugyanaz a hiba jön
Ne haragudj az értetlenségem miatt de már nincs ötletem.Sub Szur_Masol_Torol___()
Dim usor As Long, WSBev As Worksheet, WSOsz As Worksheet
Dim Bsor As Long, Csor As Long, valasz
valasz = MsgBox("Áttölthetem az adatokat?", vbYesNo + vbQuestion, "Választás")
If valasz = vbNo Then Exit Sub
'lapok védelmének feloldása a makró számára
WSBev.Protect Password:="pw", UserInterfaceOnly:=True
WSOsz.Protect Password:="pw", UserInterfaceOnly:=True
'értékadások
Set WSBev = Sheets("bevitel")
Set WSOsz = Sheets("ÖSSZESÍTÉS")
Bsor = WSOsz.Range("B" & Rows.Count).End(xlUp).Row + 1
usor = WSBev.Range("D2").End(xlDown).Row
'szűrés OK-ra
WSBev.ListObjects("bevitel").Range.AutoFilter Field:=17, Criteria1:="=OK"
'másolás és érték beillesztés
WSBev.Range("D2:T" & usor).Copy
WSOsz.Range("C" & Bsor).PasteSpecial xlPasteValues
'képlet, majd érték beillesztés a B oszlopba
Csor = WSOsz.Range("C" & Rows.Count).End(xlUp).Row
WSOsz.Range("B" & Bsor & ":B" & Csor) = "=B" & Bsor - 1 & "+1"
WSOsz.Columns(2).Copy
WSOsz.Range("B1").PasteSpecial xlPasteValues
'T2:W2 képlete az új sorokba az Összesítés lapon
WSOsz.Range("T2:W2").Copy
WSOsz.Range("T" & Bsor & ":W" & Csor).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False 'kijelölés megszüntetése
With WSOsz.Range("B1").CurrentRegion 'keretezés
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
WSBev.ListObjects("bevitel").Range.AutoFilter Field:=17 'OK-ra szűrés megszüntetése
WSBev.Range("D2:E200,G2:G200,H2:I200,B1:B6").ClearContents 'törlés
End Sub -
-
tgumis
tag
válasz Delila_1 #37540 üzenetére
Szia
Köszi logitechh és Delila_1
A logitechh verziója müxik viszont Delilia a tiédnél valamiért már az elején hibát dob:
Mikor okoz észrevehető lassulást a logitechh által készített verzió?
Mert - félre ne értsd logitechh - inkább a Delila_ verzióját preferálnám ha nagyon lassít. Már csak attól a hiba üzenettől kellene megszabadulni vhogy.
Amúgy közveb kisérletezgettem a msg boxal és sikerült nekem is kitalálni egyfajta megoldást. Persze gondolom ennél jóval egyszerűbb a Delila megoldása( de ő profi míg én lelkes amatőr lennék)
Íme:Sub message_box_szur_masol_beilleszt_()
Dim Answer As String
Dim MyNote As String
'itt adod meg a kérdést
'Place your text here
MyNote = "Rögzíted az adatokat?"
'itt adod meg a msg box címét
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "Rögzítés")
If Answer = vbNo Then
'Code for No button Press
MsgBox "Az adatok nem lesznek áttöltve az ÖSSZESÍTÉS munkalapra!"
Else
'Code for Yes button Press
MsgBox "Az adatok áttöltéser kerülnek az ÖSSZESÍTÉS munkalapra viszont nem kerülnek törlésre a BEVITEL munkalapról!" & _
vbCrLf & "A folyamat nem visszavonható!!!!!!" '&vbCrLf & ez a sortörést jelzi
' bevitel munkalapon kijelöl másol összesítés munkalapon szűrés alapra álítása
' mindkét munkalapon jelszavas védelem feloldás másolás munkalapon a másolás utána jelszavas védelem beállítása
'
' kezdet
'
' bevitel munkalap védettség feloldás
Sheets("bevitel").Unprotect Password:="pw1234"
' összesítés munkalap védettség feloldás
Sheets("összesítés").Unprotect Password:="pw1234"
' összesítés munkalapon az 2.sorban a szűrés kikapcsolása majd bekapcsolása
' azért így van megoldva mert ha le van szűrve akkor minden sort megjelenít
' ugyanis nem tudni előre milyen szűrés volt alkalmazva az összesítés munkalapon
Sheets("összesítés").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter
' szűrés a bevitel munkalapon a 17. oszlopban
Sheets("bevitel").Select
Sheets("bevitel").Range("D2").Activate
Sheets("bevitel").ListObjects("bevitel").Range.AutoFilter Field:=17, Criteria1:="=OK", Operator:=xlAnd
usor = Range("D2").End(xlDown).Row
' bevitel munkalap védetté tétele
Sheets("bevitel").Protect Password:="pw1234", UserInterfaceOnly:=True, AllowFiltering:=True, AllowFormattingColumns:=True
' másolás
Range("D2:T" & usor).Select
Selection.Copy
'összesítés munkalap kijelölése
Sheets("összesítés").Select
Dim Asor As Long
Dim Bsor As Long
Dim i As Integer
' A oszloputolsó adat megkeresése majd a következő sor B oszlop elemét jelelöli ki
Asor = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("B" & Asor).PasteSpecial xlPasteValues
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
' S3:V3 tartományban található képletek másolása és beillesztés a következő sorba
Range("S2:V2").Copy Destination:=Range("S" & Asor & ":S" & Bsor - 1)
For i = Asor To Bsor - 1
Range("A" & i) = Range("A" & i - 1) + 1
Next i
With Range("A1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
Sheets("összesítés").Protect Password:="pw1234", UserInterfaceOnly:=True, AllowFiltering:=True, AllowFormattingColumns:=True
Sheets("bevitel").Select
Sheets("bevitel").ListObjects("bevitel").Range.AutoFilter Field:=17
End If
End SubEz a logitechh makrójára épül mert akkor még nem láttam Delila_1 megoldását.
-
tgumis
tag
Abban tudnátok segíteni hogy azt hogy kell megoldani, hogy egy üzenet jelenjen meg a makró indítása után ami rákérdez :
biztos átvigyem az adatokat?
igen
nem
és ha az igenre kattint akkor átmegy ha nem akkor leáll a makrómármint hová kell helyezni a makrómban
Sub atvitel_enged()
Dim iAnswer As Integer
iAnswer = MsgBox("Áttölthetem az adatokat", vbYesNo Or vbQuestion)
End Sub -
tgumis
tag
Az összesítés munkalapról
És igen rosszul írtam mert 4 oszlopnyi.
Nem egy oszlopba szeretném hanem addig ameddig tart a beillesztések után a táblázat
Csak gondoltam ez a legcélszerűbb ha a 2. sorból veszi a képleteket:
tehát a összesítés munkalap T2 ből másolja a összesítésT3 ba U2 ből U3 ba és így tovább addig ameddig a beillesztés után adatot tartalmaz
T2=HA(O2="Kiadás";G2*-1;G2)
U2=C2&"_"&D2&"_"&F2&"_"&H2
V2=HAHIBA(INDEX(készleinformációk[Induló_készlet_készlet];HOL.VAN(U2;készleinformációk[Induló_készlet_KOD_ECSK_KLCS_EAZ];0));0)
W2=V2+SZUMHA($U$2:U2;U2;$T$2:T2)
[ Szerkesztve ]
-
tgumis
tag
válasz Delila_1 #37533 üzenetére
Köszi a gyors segítséget
viszont a T2:w2 ben lévő képletek másolását kihagytad azt hová kell beraknom?
Az eredeti makróban így van:Range("T2:W2").Copy Destination:=Range("T" & Bsor & ":T" & Csor - 1)
(legalább is azt hiszem ez az a rész ami megmondja a makrónak hogy másolja le azt a 3 oszlopnyi képletet)[ Szerkesztve ]
-
tgumis
tag
sziasztok
Ismét makró összefűzéssel kapcsolatos problémába ütköztem
adott két makró:
1.(ezzel másolok a bevitel munkalapról)Sub D2_T_szurt_taromany_masol()
'
' munkalap védettség feloldás
Sheets("bevitel").Unprotect Password:="pw"
' szűrés
Sheets("bevitel").Range("D2").Activate
Sheets("bevitel").ListObjects("bevitel").Range.AutoFilter Field:=17, Criteria1:="=OK", Operator:=xlAnd
usor = Range("D2").End(xlDown).Row
' munkalap védetté tétele
Sheets("bevitel").Protect Password:="pw", UserInterfaceOnly:=True, AllowFiltering:=True, AllowFormattingColumns:=True
' másolás
Range("D2:T" & usor).Select
Selection.Copy
End Sub2. ezzel illesztem be az előző makróval kimásolt tartományt de egy másik munkalapra aminek a neve összesítés ÖSSZESÍTÉS
Sub beilleszt()
Dim Bsor As Long
Dim Csor As Long
Dim i As Integer
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("C" & Bsor).PasteSpecial xlPasteValues
Csor = Range("C" & Rows.Count).End(xlUp).Row + 1
Range("T2:W2").Copy Destination:=Range("T" & Bsor & ":T" & Csor - 1)
For i = Bsor To Csor - 1
Range("B" & i) = Range("B" & i - 1) + 1
Next i
With Range("B1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
End SubSzóval a bevitel munkalapon állva indítanám a makrót és neki automatikusan át kellene rakni az összesítés munkalapra az egészet. plusz ráadásnak még szeretném a végén mindegyik munkalapot visszakódolni és a bevitelnél a törlést alkalmazni egy tartományban amire már kész a makró:
Sub bevitel_torol()
' bevitel munkalapon törlés Makró
' munkalap védettség feloldás
Sheets("bevitel").Unprotect Password:="pw"
' szűrés kikapcsolása
Sheets("bevitel").ListObjects("bevitel").Range.AutoFilter Field:=17
' munkalap kijelölt celláiból érték törlése majd visszaállás az A2
Range("D2:E200,G2:G200,H2:I200").Select
Range("H2").Activate
Range("D2:E200,G2:G200,H2:I200,B1:B6").Select
Range("B1").Activate
Selection.ClearContents
Selection.ClearContents
' munkalap védetté tétele
Sheets("bevitel").Protect Password:="LiliLufi140127", UserInterfaceOnly:=True, AllowFiltering:=True, AllowFormattingColumns:=True
End Subösszegezve:
tartomány szűrése másolásra majd átugrás másik munkalapra ott beillesztés keretezés majd visszaugrás a bevitel munkalapra és ott törlés. Majd minden munkalapot lekódolok. ha lehet munkalaponként kódolást szeretnék nem egyben a munkafüzetet.[ Szerkesztve ]
-
tgumis
tag
válasz tgumis #37489 üzenetére
Feltettem a munkafüzete tide:
http://excellprobagy.atw.hu/ -
tgumis
tag
Sziasztok
O oszlopban kellene szerepelni ennek=
NYITÓ KERET PLUSZ A DÁTUMIG JÓVÁHAGYOTT KERETMÓDOSÍTÁS(vagyis a jóváhagyott göngyölítettkeret) MINUSZ A DÁTUMIG GÖNYGLÍTETT FELHASZNÁLÁS
Nyitó keret 1A kódon volt 4 000 000 majd 01.02 plusszolva lett 4 000 így lett 4 004 000 majd 01.09 én plusszolva lett 5 000 000 így lett a vége 9 004 000
viszont ki is lett adva 01.06-án 15 000 ami a 4 004 000 ből kell fogyatékolni így lett a maradvány 3 989 000
majd a 01.07-én ki lett adva 1000 (göngyölítve 16 000) amit még mindig a 4 004 000 ből kell fogyasztani mert csak 01.09-én lesz plusszolás így a végeredmény 3 984 000
10 én kiadás 1000 az viszont már a 9004000- ből történik fogyasztásra mert 01.09 én lett emelve a keretsegítsetek légyszíí
-
tgumis
tag
Sziasztok
Adott ez a makró:Sub beillesztes()
'
' előre másik munkalapból kimásolt 4 oszlop szélességü tartományt beilleszt a B oszlop első üres sorától
' kezdve a B oszloptól az E oszlopig majd az A oszlopot kitölti sorszámmal illetve az T oszloptól az X oszlopig
' az T2:X2 tartomány képleteit másolja be addig a sorig ameddig a B oszlop tartalmaz elemet
'
Dim Asor As Long
Dim Bsor As Long
Dim i As Integer
Asor = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("B" & Asor).PasteSpecial xlPasteValues
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("T2:X2").Copy Destination:=Range("T" & Asor & ":T" & Bsor - 1) 'a végén a -1 azt jelzi hogy nem az utlsó kitöltött
' sor plusz egy sorba másolja a képletet hanem csak az utolsó sorig
For i = Asor To Bsor - 1 'számláló rész a Bsor esetén plusz egy sort beszámoz viszont ha csak a kitöltött celláig akarunk számozni akkor a-1 kell
Range("A" & i) = Range("A" & i - 1) + 1
Next i
'innen kezdődik a keretezés
Range("A1").CurrentRegion.Select 'CTRL+a kijelöli a teljes táblázatot
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Range("A1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
End Sub
Sub beillesztes__()
'
' előre másik munkalapból kimásolt 4 oszlop szélességü tartományt beilleszt a B oszlop első üres sorától
' kezdve a B oszloptól az E oszlopig majd az A oszlopot kitölti sorszámmal illetve az F oszloptól az L oszlopig
' az F2:L2 tartomány képleteit másolja be addig a sorig ameddig a B oszlop tartalmaz elemet
'
Dim Bsor As Long
Dim Csor As Long
Dim i As Integer
Bsor = Range("B" & Rows.Count).End(xlUp).Row + 1
Range("C" & Bsor).PasteSpecial xlPasteValues
Csor = Range("C" & Rows.Count).End(xlUp).Row + 1
Range("T2:V2").Copy Destination:=Range("T" & Bsor & ":T" & Csor - 1) 'a végén a -1 azt jelzi hogy nem az utlsó kitöltött
' sor plusz egy sorba másolja a képletet hanem csak az utolsó sorig
For i = Bsor To Csor - 1 'számláló rész a Bsor esetén plusz egy sort beszámoz viszont ha csak a kitöltött celláig akarunk számozni akkor a-1 kell
Range("B" & i) = Range("B" & i - 1) + 1
Next i
'innen kezdődik a keretezés
Range("B1").CurrentRegion.Select 'CTRL+a kijelöli a teljes táblázatot
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Range("B1").CurrentRegion
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideHorizontal).Weight = xlThin
End With
End SubA lényege hogy egy 17 oszlop széles tartomány (amit egy mások munkalapról másolok egy másik makróval) beilleszti a B oszlop első üres sorába majd másolja a képleteket.
vagyis másolná:
hiába van ez a képlet a U2 cellában ez a képlet =SZUM($K$22) ahogy lefut a makró átírja a képletet
U3 cellá:=SZUM($K$23)
U4 cella:=SZUM($K$25)
U 5 cella:=SZUM($K$25)illetve az X 2 ben hiába van ez a képlet =W2+SZUMHA($V$2:V2;V2;$T$2:T2)
az X3 ba ez lesz:=W3+SZUMHA($V$2:V3;V3;$T$2:T3) ez jó
az X4 ben meg ez: =W4+SZUMHA($V$2:V5;V4;$T$2:T5) ez hibás
az X5 ben meg ez :=W5+SZUMHA($V$2:V5;V5;$T$2:T5) ez is jóvan ötlete valakinek?
-
tgumis
tag
válasz tgumis #37447 üzenetére
hA ESETLEG VALAKINEK SZÜKSÉGE VAN RÁ ÉS ÉRDEKLI MEGOLDÓDOTT:
=HA([@mennyiség]>0;HA(ÉS(DARABTELI(bevitel[@[Megnevezés]:[me]];"ERROR")=0;(VAGY((HA([@mennyiség]=1;"IGAZ";"HAMIS"))="IGAZ";(HA([@mennyiség]-DARABÜRES([@EAZ])+1=[@mennyiség];"IGAZ";"HAMIS"))="IGAZ"));DARABÜRES(bevitel[@[kód]:[mennyiség]])=0;(VAGY([@[Utalvány szám]]<>0;[@[E.biz.szám.]]<>0));[@átadó]<>0;[@átvevő]<>0);"OK";"NEM OK");"")
=HA([@mennyiség]>0;HA(ÉS(DARABTELI(bevitel[@[Megnevezés]:[me]];"ERROR")=0;(VAGY((HA([@mennyiség]=1;"IGAZ";"HAMIS"))="IGAZ";(HA([@mennyiség]-DARABÜRES([@EAZ])+1=[@mennyiség];"IGAZ";"HAMIS"))="IGAZ"));DARABÜRES(bevitel[@[kód]:[mennyiség]])=0;(VAGY([@[Utalvány szám]]<>0;[@[E.biz.szám.]]<>0));[@átadó]<>0;[@átvevő]<>0);"OK";"NEM OK");"")
[ Szerkesztve ]
-
tgumis
tag
Sziasztok
A képen látható táblázatban kellene valahogy hogy ha az azonosító oszlopban érték van akkor a mennyiségnek csak 1 lehessen beírni. Vagy az utolsó oszlopban a NEM OK felirat szerepeljen ha van azonosító és a mennyiség nagyobb egynél. a cella értéke amúgy nem csak egész szám lehet. Remélem érthetően kérdeztem -
tgumis
tag
Sziasztok!
Combobox problémám van.
Office 2016 al dolgozom
Anno csináltam egy táblázatot ahol:
A oszlopban elhelyeztem A18 tól A37 ig 30 comboboxot
ahogyan a comboboxban elkezdtem begépelni valamit akkor szűkített listából választhattam ki amit kerestem majd ez megjelent a B oszlopban
No most ha szűrök kikapcsolom a szűrést vagy a törlök( makrókkal van megoldva) összerántja az összes comboboxot a 30. sorba és a 4 től lefelé nem engedi már a comboboxot használni sem
Csatolva 2 kép a munkafüzetről és a comboboxot tulajdonságai( bal oldalt az egyes jobb oldalt a 30 -as)
Van ötletetek mi a gond? -
tgumis
tag
Sziasztok
Van egy (számomra borzasztoan nagy )kb 700000 soros excel táblám.
Egyszerűen nem tudok benne keresni mert ha bekapcsolom a szűrést kettő karakter beirása után gondolkodik majd semmi. (2016-os excelt használok) probálkoztam power pivottal de a 40 megás munkafüzet mellé így kaptam még egx kb 60 megás másikat is.
Valami ötlet?
Köszi
Új hozzászólás Aktív témák
- Google Pixel topik
- Jön Trump, Zuckerberg és a Meta pedig 180 fokos fordulatot vett
- Kínai és egyéb olcsó órák topikja
- Építő/felújító topik
- Kormányok / autós szimulátorok topikja
- Ingyen kellene, de tegnapra
- One mobilszolgáltatások
- One otthoni szolgáltatások (TV, internet, telefon)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Rendszergazda topic
- További aktív témák...
- Indiana Jones and the Great Circle - Digital Premium Edition - beváltás: 2025.1.30 - RTX 40XX
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- ESET termékek hivatalos forgalmazója / NOD32 / Internet Security / Android / Server / Mail / stb.
- EREDETI JÁTÉK KULCSOK - STEAM, EA, UBISOFT, EPIC GAMES - LEGJOBB ÁRON
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig