-
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
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#28647
üzenetére
De ha így próbálod meghatározni az utolsó sort az is működhet.
Sub beilleszt()
holavege = Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Munka1").Range("A" & holavege).PasteSpecial Paste:=xlPasteAll
End SubEz persze csak akkor működik, ha a Beillesztési pont mindig az A oszlop legutolsó cellájában van.
-
elttiL
senior tag
válasz
m.zmrzlina
#28643
üzenetére
Köszönöm. De nekem hibát ad. Vélhetően azért, mert VB-hez nem konyítok. Kicsit sem.

Töküres táblában próbáltam ki, munkalap neve Munka1, A oszlopba akárhova beírva amire keresnénk, de elhasal a
holavege = Selection.Find(What:="beillesztési pont", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
sornál. Run-time error '91': Object variable or With block variable not set
Nyilván érti az aki ebben mozog, sajna én nem. -
tam@s
tag
válasz
m.zmrzlina
#28623
üzenetére
Nagyon szépen köszönöm, de sz még mindig megakadok vele valahogy, kérnék még egy kis segítséget.
Átalakítottam a makródat a következőképpen:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 And Target.Row <= 11 ThenIf Target.Column = 2 Then
On Error Resume Next
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)ElseIf Target.Column = 4 Then
On Error Resume Next
Cells(Target.Row, 2).Value = Cells(Target.Row, 4).Value * 1.044
Cells(Target.Row, 6).Value = Cells(Target.Row, 2).Value / Cells(Target.Row, 5)ElseIf Target.Column = 6 Then
On Error Resume Next
Cells(Target.Row, 2).Value = Cells(Target.Row, 6).Value * Cells(Target.Row, 5)
Cells(Target.Row, 4).Value = Cells(Target.Row, 2).Value / 1.044End If
End IfEnd Sub
Végtelen loopba kerülök...
A táblázatról:
8 termk egymás alatt
2 oszlop a nagyker ár
4 oszlop a termelői ár
5 oszlop azt mutatja, hogy egy dobozban hány tabletta van
6 oszlop az egy tablettára jutó nagyker ár ----> itt a gond, mert ha ezt is beleírom, akkor visszaírja a nagyker árat, és lefagy.
Innen még lenne 5 oszlop, amit oda vissza kellene írni, de csak addig megy, amíg vissza nem számoltatok egy olyan cellát, amelyik szerepel a "ElseIf Target.Column = XX" feltételnél, és akkor vége.Nem lehet valahogy leállítani, hogy ne számolja újra, hanem csak azt, ami az adott IF részfeltételben van?
Bocs, ha nem voltam szakszerű, közgazdász vagyok, ez a 2. makró életemben...
Köszi minden segítséget előre is!
Üdv.:
Tamás -
tam@s
tag
válasz
m.zmrzlina
#28618
üzenetére
Nagyon szépen köszönöm, holnap brillírozok a munkahelyemen vele, bár a főnököm szerintem nem is érti, hogy miért probléma ez...
Van ötleted esetleg, hogy ezt át tudom-e alakítani 10 db egymás alatti termékre? Tehát 3. sor, 4. sor...12. sor?
Átírom a makrót már ez alapján, csupán elméletileg kérdezem, ha egyszer szükségem lesz rá.Óriási segítség, tényleg köszönöm!
Üdv.:
Tamás -
Claude Leon
senior tag
válasz
m.zmrzlina
#28566
üzenetére
Detto.
(#28569) Fferi50: Próbáltam már azt is.
Olvastam rá megoldást: üres fülre ármásolva (óvatosságból csak szöveget) már számoltak a képletek.
(volt közte sima szum is, az is ugyanúgy viselkedett, csak nem szúrtam ki korábban)Közben kezd derengeni, hogy van valami képletkiíró módja a táblázatnak, csak nem találom, hogyan tudnám ezt kapcsolgatni.
Utálatos ez a megmondom, hogy mit szeretnél tempó. -
spe88
senior tag
válasz
m.zmrzlina
#28450
üzenetére
Ismerem, csak ebből táplálkozik tovább egy halom képlet és a lényeg az, hogy amikor az Excel elkezdi a számolást, akkor ne kelljen makrót futtató gombokat nyomgatni, szűrést álíltgatni stb., mert a kollégák nagy részének fogalma sincs erről!
Ha ezt a szűrést lehet automatizálni makrógomb nyomogatások nélkül, vagy hogy ki kéne keresni a menüsorból, akkor OK!De hogyan?
Ez lenne a kérdés!

-
Delila_1
veterán
válasz
m.zmrzlina
#28292
üzenetére
"nagyobb hajlam van arra, hogy kitaláld a hiányzó peremfeltételeket"
Talán azért, mert úgy gondolom, a kérdezőt elbizonytalaníthatja a sok újabb kérdés. Nem szeretnék senkiből kisebbségi érzést kiváltani, inkább 3× válaszolok.

Szerencsére ezen a fórumon nem macerálják az emberek egymást, de van olyan hely, ahol porig aláznak mindenkit, aki kérdez.
-
Delila_1
veterán
válasz
m.zmrzlina
#28287
üzenetére
De haragszom az n-edik átírás után, csak nem nagyon. Abból indulok ki, hogy aki kérdez, ebben a témában nem olyan profi, mint valami másban, amiben viszont én nem vagyok jártas, és amiben nem tudnék egy tisztességes, lényegretörő kérdést feltenni – ha szükségem lenne rá.
Vajh' a lényegretörőt a hamarosan megjelenő új helyesírási szótár szerint így kell írni?
-
Snoop-y
veterán
válasz
m.zmrzlina
#28287
üzenetére
Ha jol latom akkor az szoveges megjegyzes ( ezert hasznaltam concatenate fuggvenyt )
Leirasban J es K oszloprol van szo es mindket lapon az A oszlopon van amire keresunk szoval this should do the trick
Ha van egyeb kriterium akkor az az info hianyzik teljesen. De majd emberunk megmondja a tutit
Hjam kozben az en bajomra mar kitalaltam a megoldast nem kell rajta porognie senkinek:
Az elso ures cellat keresem meg az adott oldalon es azt a sort ki is torlom szepen.
Iderakom hatha masnak is hasznos:
Sub Rowdel()
'Step 1: Declare Your Variables.
Dim LastRow As Long
'Step 2: Capture the last used row number.
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
'Step 3: Select the next row down
Cells(LastRow, 1).Offset(1, 0).EntireRow.Delete
End Sub -
Snoop-y
veterán
válasz
m.zmrzlina
#28285
üzenetére
Na jol van nalam mukodik rendesen az alabbi
Munka sheeten vannak a gyumik amiket keresunk
Alma
korte
barack
banangyumolcsok sheeten vannak az A oszlopban a gyumolcsok amiket keresunk ismet
AAlma
korte
barack
bananJ es K oszlopban pedig a jellemzoik
=CONCATENATE((VLOOKUP(A2,gyumolcsok!A:K,10,0))," ",(VLOOKUP(A2,gyumolcsok!A:K,11,0)))
-
Snoop-y
veterán
válasz
m.zmrzlina
#28282
üzenetére
De neki mind a ketto oszlopbol kell az ertek ha jol ertem ez meg csak egyiket adja. Vagy mar nagyon pentek van es en nem ertem

-
Thrawnad
senior tag
válasz
m.zmrzlina
#28003
üzenetére
Az be van, de attól még nem külön ablakban vannak, csak a tálcán látszanak.
Thrawnad
-
Musuz
csendes tag
válasz
m.zmrzlina
#28003
üzenetére
Köszönöm,megnézem
egyébként a munkalapon végezhető műveletekhez és a hozzájuk tartozó stratégiákhoz fűződő leírásról van szó kezdőknek!
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#27432
üzenetére
Szia!
"nem is értem, hogy került oda"
Kismanók előszeretettel bombázzák a programozók sorait, valamelyik poénkodó lélek vezethette a kezedet...További sok jól működő makrót!
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#27430
üzenetére
Szia!
Rendben, ezzel nincs is probléma, de akkor a ws_Kabelo már a wb_Temp egy munkalapja.
Tehát elég a ws_Kabelo.Range hivatkozás (a wb_Temp.ws_Kabelo.Range helyett).
A dőlten írt rész a munkafüzet maga és ahhoz hivatkoznád meg a ws_Kabelo munkalap objektumot (tulajdonságot), ilyen tulajdonsága viszont a munkafüzeteknek nincs. Egyszerűen "túldimenzionáltad" az objektumod elérhetőségét.
Mivel már külön objektumként definiáltad a ws_Kabelo munkalapot, ez tartalmazza saját magára nézve a wb_Temp munkafüzetből eredő összes tulajdonságot, nem kell neki hozzáírni, hogy annak része, tudja magáról.
Ha megnézed a ws_Kabelo.Parent tulajdonságát, ott a wb_Temp munkafüzetet tudod azonosítani.
Hiszen így hoztad létre: set ws_Kabelo=wb_Temp.Worksheets("kabelo")Üdv.
(Remélem, sikerült érthetően fogalmazni.) -
Fferi50
Topikgazda
válasz
m.zmrzlina
#27423
üzenetére
Szia!
A kérdés az szerintem, hogy mi a wb_Temp és a ws_Kabelo? Milyen objektumok (ránézésre munkafüzet és munkalap kellene legyen (nyilván set wb_Temp = munkafüzet és set ws_Kabelo=munkalap - de melyik munkafüzetben?).
A munkafüzetnek nincs szerintem ws_Kabelo tulajdonsága...,csak Worksheet vagy Sheet tulajdonsága.Vagy set ws_Kabelo=wb_Temp.Sheets(1) és akkor ws_Kabelo.Range a hivatkozás, vagy
wb_Temp.Sheets(1).Range a hivatkozás.Én ezt gondolom problémásnak.
Üdv.
-
lappy
őstag
válasz
m.zmrzlina
#27426
üzenetére
Szia!
Nézd meg ezt hátha segít -
Delila_1
veterán
válasz
m.zmrzlina
#27423
üzenetére
Függvénnyel nagyon egyszerű lenne. A két adat A, ill. B oszlopban van.
C-> =ha(trim(a2)=trim(b2);0;1)
D1=szum(c:c), ez megadja az eltérések számát -
Fferi50
Topikgazda
válasz
m.zmrzlina
#26810
üzenetére
Szia!
Az xml -t megnézve 8 oszlop (A:H) összes cellájának jónéhány paramétere van benne (csak az értéke nincs éppen...)
Üdv.
-
Delila_1
veterán
válasz
m.zmrzlina
#26810
üzenetére
A küldött füzetben lévő lap látszólag teljesen üres volt.
Nem én segítettem, magadtól jöttél rá, hogy a C oszlopban van valami rendellenesség.
-
Delila_1
veterán
válasz
m.zmrzlina
#26808
üzenetére
Volt egyszer egy ilyen túlméretes fájlom, ott a Ctrl+nyilakkal sikerült megtalálnom a hibás cellát. 2000 körüli sorszámnál a első 1000-ben valahol állt meg a Ctrl+le A1-ből indítva. Egy halom különleges karakter volt a cellában. Fogalmam sincs, hogy kerültek oda, de a kitörlésük után nem volt baj.
Míg ott voltak, a függvények nem látták az alatta lévő sorokat.
-
Delila_1
veterán
válasz
m.zmrzlina
#26805
üzenetére
Hogy jöttél rá, hogy a C oszlop a bibis?
-
Delila_1
veterán
válasz
m.zmrzlina
#26805
üzenetére
Az 5,34 MB helyett.

-
Delila_1
veterán
válasz
m.zmrzlina
#26803
üzenetére
Irányított ugrással (Ctrl+g) az utolsó cellát a H1048457-nek írja. A DARAB és DARAB2 függvény viszont az
A1:H1048457 tartományban nulla darabszámot ad. -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#26802
üzenetére
Ezekbe a munkafüzetekbe előszeretettel illesztenek be webes felületről esetleg pdf-ből Ctrl+C-Ctrl+V-vel kisebb nagyobb adatmennyiségeket.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#26798
üzenetére
Szia!
"Ha egy adott munkalapot kitörlök a munkafüzetből akkor a fájl 300kB körüli lesz."
Valószínűleg az "adott munkalapon" levő adatok,körülmények okozzák a méret változását.
Ha a fájl kiterjesztését átírod zip -re, akkor megnézheted, mely fájlok mérete milyen az adott munkafüzetben tömörítve (mivel a formátum tömörített mentést tartalmaz), illetve milyen a szerkezete.
Visszaírva a kiterjsztést, ismét meg tudja nyitni az excel. De én azért mindig egy másolaton szoktam ezt a műveletet elvégezni.Üdv.
-
Delila_1
veterán
válasz
m.zmrzlina
#26798
üzenetére
Azon a lapon lehet valami disznóság, amelyiknek a törlése normál méretűvé tette a füzetedet.
Próbálj meg egy új lapot felvenni, a hibás lapról értékként beilleszteni az adatokat ide, majd törlöd a rossz lapot.
Hátha...
-
Delila_1
veterán
válasz
m.zmrzlina
#26374
üzenetére
On Error Resume Next
Workbooks.Open Filename:="Elérési_út\FájlNeveKiterjesztéssel" -
Agostino
addikt
válasz
m.zmrzlina
#25729
üzenetére
üdv
kicsit visszakanyarodva ide. az miért van, hogy a folyamat egy idő után leáll type mismatch-el? error 13. emiatt aztán nem is fejezi be a műveletet. egy része a feladatnak elkészül, a másik nem
-
Agostino
addikt
válasz
m.zmrzlina
#25729
üzenetére
szia
köszi szépen, rövidesen megnézem. egyébként ilyesmiket hol tudok tanulni? gondolom ez annyira nem összetett dolog és viszonylag hamar összerakható : ) bár lehetséges, hogy rosszul gondolom
-
4m
újonc
válasz
m.zmrzlina
#25545
üzenetére
úgy lesz "30", hogy vagy azt írom,
hogy "3000" vagy azt,
hogy "30," -
4m
újonc
válasz
m.zmrzlina
#25545
üzenetére
Szia,
"Általános"
-
pirit28
csendes tag
válasz
m.zmrzlina
#25473
üzenetére
Szia !
Pontatlan, információhiányos volt a kérésem ezért kibővítettem file-t.#25418-hsz-ban volt egy kérésem a *-al elválasztott számok szétszedésében.
Nagyon profin sikerült is ezt a problémát megoldani.
A szétszedéshez használt táblázatból az adatok másolását követően ,amit a Tábla fül A oszlop alatt a található számok igazolnak ,csak úgy végezhető el a szétbontás,hogy az oszlopban levő számokat számmá konvertálom.Viszont mivel ezeket az adatokat percenként kell másolni, ezért a percenként végrehajtandó
-
pirit28
csendes tag
válasz
m.zmrzlina
#25471
üzenetére
-
pirit28
csendes tag
válasz
m.zmrzlina
#25469
üzenetére
Sziasztok !
Újra itt vagyok.Feltöltöttem egy file-t, hátha többet segít a probléma megoldásában.
Az a baj hogy a nem számformátumú számok ,nem azt az értéket tükrözik ami látszik.Ezt szeretném reformálni.
[link]
Köszönöm -
Fferi50
Topikgazda
válasz
m.zmrzlina
#25466
üzenetére
Nálad az igazság!
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#25464
üzenetére
Szia!
Az első csak "illusztráció" volt a működésre. (De az is csak annyiszor kell lefusson, ahány gyümölcsneved van és nem az egész tartomány cellaszámának megfelelően.)
Üdv.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#25461
üzenetére
Látom, közben Te is megtaláltad a megoldókulcsot. Csak még fűztem hozzá némi egyéb dolgot.
Üdv.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#25459
üzenetére
Szia!
A VBA-ban a nevek nem úgy működnek, mint a munkalapon. A names("név").referstorange mutat a név által meghatározott területre, a names("név").refersto pedig az adott névhez tartozó terület címét adja meg.
Tehát ezt a sor részt:
Workbooks("forrásadatok.xlsx").Names("gyümölcsök")ki kell egészíteni:
Workbooks("forrásadatok.xlsx").Names("gyümölcsök").referstorange
Másrészt, sokkal gyorsabb, ha a range.replace tulajdonságát használod:
wsKabelo.Range("C2:C129").replace what:="ALMA",replacement:=1,lookat:=xlwhole
ami az egész tartományban kicseréli az ALMA szót az 1 számra.
A javított makró pedig a Gyümölcsök tartományon megy végig - és kicseréli az első oszlopban található gyümölcsneveket a második oszlopban található számokra:
Set rng_gyümölcsök = Workbooks("forrásadatok.xlsx").Names("gyümölcsök").referstorange
Set wsKabelo = ActiveSheet
for each cl in rng_gyümölcsök.columns(1).cells
wsKabelo.range("C2:C129").replace what:=cl.value,replacement:=cl.offset(0,1).value, lookat:=xlwhole
nextEgyébként annyit javaslok még, hogy ne használj ékezetes karaktereket a makrókban és a neveknél, mert ebben az esetben nem hordozható a munkafüzeted, más (pl.angol) környezetben hibásan /vagy nem működik.
Üdv.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#25459
üzenetére
Ha az objektumváltozót a következőképpen deklarálom akkor megy:
Set rng_gyümölcsök = Workbooks("forrásadatok.xlsx").Names("gyümölcsök").RefersToRange
Set wsKabelo = ActiveSheet
For Each rngCella In wsKabelo.Range("C2:C129")
If rngCella.Value <> "" Then
rngCella.Value = Application.WorksheetFunction.VLookup(rngCella.Value, rng_gyümölcsök, 2, 0)
End If
Next -
Fferi50
Topikgazda
válasz
m.zmrzlina
#25355
üzenetére
Szia!
Ismét az a felesleges select. Sokkal egyszerübb:
Application.DisplayAlerts = False
Sheets("leotom").Delete
Application.DisplayAlerts = TrueÜdv.
-
alfa20
senior tag
válasz
m.zmrzlina
#25355
üzenetére
Köszi! ez igy tökéletes lesz.

-
Musuz
csendes tag
válasz
m.zmrzlina
#25247
üzenetére
-
Musuz
csendes tag
válasz
m.zmrzlina
#25245
üzenetére
Köszönöm

-
gdodi
csendes tag
válasz
m.zmrzlina
#25204
üzenetére
Még kidolgozás alatt van az egész elképzelés, több szempontból kell adatokat kigyűjteni több táblázatba. Erre szükségem is van, és szeretném megtanulni is ezt a programozást. Jelenleg ennyi az egész:
Sub Makró00()
'
' Makró00 Makró
''
Rows("1:1").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Range("A1").Select
ActiveSheet.PasteSheets("tmp").Select
Dim eleje As Long
Dim vege As Long
eleje = 2
vege = Cells(1, 9) + 1
Worksheets("tmp").Rows(eleje & ":" & vege).Copy Destination:=Worksheets("Munka2").Rows(eleje & ":" & vege)
Worksheets("tmp").Rows(eleje & ":" & vege).Delete Shift:=xlUp' A munkalap formázása és átnevezése
Sheets("Munka2").Select
Columns("A
").Select
Columns("A
").EntireColumn.AutoFit
Columns("G:L").Select
Selection.Delete Shift:=xlToLeft
Sheets("Munka2").Select
Sheets("Munka2").Name = "00"
Range("A1").SelectEnd Sub
Ezt szeretném még tovább bővíteni. Remélem menni fog.
Ha mégsem menne, megint segítségért folyamodok. 
-
gdodi
csendes tag
válasz
m.zmrzlina
#25201
üzenetére
Tökéletes!

Erre volt szükségem, ez már nekem is kezelhető, be tudtam illeszteni oda, ahol szükségem volt rá.
Nagyon köszönöm!!! -
gdodi
csendes tag
válasz
m.zmrzlina
#25201
üzenetére
Köszönöm a segítséget, kipróbálom!
Egy hivatkozott cellából veszek egy számlált változót. -
Delila_1
veterán
válasz
m.zmrzlina
#24651
üzenetére
A munkamappa változó az aktuális könyvtár nevét tartalmazza a lenti első sor után. Megjeleníti a fastruktúrát az aktuális mappából indulva, onnan navigálhatsz máshova.
Set munkamappa = Application.FileDialog(msoFileDialogFolderPicker)
With munkamappa
.AllowMultiSelect = False
If .Show <> -1 Then Exit Sub
strMunkamappa = .SelectedItems(1)
End WithA következő sorokban a kiválasztott mappa neve az strMunkamappa változóba kerül, erre a mappára váltasz át a mappa kiválasztását követő ChDir strMunkamappa sorral. Innen nyitod meg sorban az xls kiterjesztésű fájlokat.
Az msoFileDialogFolderPicker, mint a neve is mutatja, egy párbeszéd ablak, ahol kedvedre navigálhatsz.
-
Delila_1
veterán
válasz
m.zmrzlina
#24647
üzenetére
A munkamappát szövegként szoktam megadni. Utvonal="C:\mm\nn\"
Mikor a TC-ben látsz egy mappát, a dupla pontra kattintva a fölötte lévő mappába jutsz, az egy pont 8az nem látszik, de van), a főkönyvtárba visz.
Az FN egy változó, a fájlnevet olvassa be a megnyitott mappából.
A false letiltja az aktív fájl mentését. Ezt akkor alkalmazzuk, mikor egy mappából rendre behívjuk az ott lévő fájlokat, adatokat nyerünk ki belőlük, majd mentés nélkül bezárjuk őket.
-
retesz147
addikt
válasz
m.zmrzlina
#24643
üzenetére
Köszi! Működik! -
retesz147
addikt
válasz
m.zmrzlina
#24640
üzenetére
Köszi, de nem tölti fel nullával, hanem value-val...
-
#75376384
törölt tag
válasz
m.zmrzlina
#24630
üzenetére
sajnos nem segített. cirka 4000 sornyi szövegem van és onnan kell kiemelni. így átnyálazva örökkévalóság lenne és a hibázás lehetősége is ott van. :/
-
#75376384
törölt tag
válasz
m.zmrzlina
#24628
üzenetére
én nem tudom mi van velem, hogy nem tudok gépelni.
egyébként ennyire nem misztifikáltam túl a dolgot.
olyan makikat kerestem, akik egy filmet háromszor is kivettek. mivel a "névsort" az én értelmezésemben a kölcsönzés ideje definiálja, így aszerint adnék választ is, de nem találtam rá megfelelő szűrőt. -
#75376384
törölt tag
válasz
m.zmrzlina
#24626
üzenetére
ha úgy nézzük növekvő. vagyis a legelső időpont a legrégebbi kivétel.
-
daniatx
csendes tag
válasz
m.zmrzlina
#24613
üzenetére
Az első részével kissé komplikált módon meg vagyok, 6 órás munka volt. Teljesen új téma nekünk a makrókészítés. A diagram készítőssel viszont sehogy sem jutok előbbre. Egyébként holnap van a határidő

-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24556
üzenetére
Szia!
Talán két dolgot lehet tenni.
1. Ha megnyitod az adott fájlt (munkafüzetet), akkor a workbook.path tulajdonság csak az elérési útvonalat adja meg.
2.Érdemes megnézni szerintem a filesystemobject objektumot.Üdv.
-
Jarod1
veterán
válasz
m.zmrzlina
#24542
üzenetére
Köszi!
-
tombar
senior tag
válasz
m.zmrzlina
#24490
üzenetére
köszönöm szépen

-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24490
üzenetére
Szia!
Akkor már miért nem így:
Range("A1:G1").Copy destination:=Worksheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row + 1)
Nem kell hozzá utána semmi.
Üdv
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24485
üzenetére
Bocs, közben megláttam a privát üzit.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24482
üzenetére
Szia!
Csak még egy kérdés: Akkor is belassul, ha a másik munkafüzet üres, vagy csak akkor, ha adatok vannak abban is?
Esetleg egy "közzétehető" mintát meg lehetne nézni (nyilván az érzékeny adatok nélkül)? Mert akkor talán tudunk válaszolni.
Meg lehet még próbálkozni az eseménykezelés letiltásával - az is tud problémát okozni, ha minden egyes cella változásánál "elszalad" az eseménykezelésbe, még akkor is, ha egyébként ott nem kell neki semmit csinálni.
Elébe egy Application.Enableevents=false, utána egy Application.Enableevents=true.
Nem tudom, a képernyőfrissítést ki szoktad-e kapcsolni. (Application.ScreenUpdating)Üdv.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24477
üzenetére
Szia!
Az előző hozzászólásomban (24479) írtam: " Ebben az esetben bontsd részekre a műveletet", természetesen nem a műveletet kell részekre bontani, hanem a tartományt kell kisebb "adagokban" számítani.
Másrészt, ha csak a végén van # jel, akkor a
selection.replace what:="#",replacement:=""
parancs megoldja az eltüntetését.Üdv.
-
Fferi50
Topikgazda
válasz
m.zmrzlina
#24477
üzenetére
Szia!
Esetleg próbáld ki a következőt:
a=selection.value
for xx=1 to ubound(a,1)
for yy=1 to ubound(a,2)
if a(xx,yy)<>"" then a(xx,yy)=left(a(xx,yy),len(a(xx,yy))-1)
next
next
selection.value=a1.Ha biztosan nincs üres cella, akkor az if feltételt kihagyhatod.
2.A selection helyett inkább használj konkrét tartomány címet - ez működik akkor is, ha az adott munkalap nem aktív.
Sheets("Munka1").range("A1:B20").value
3.Ez csak akkor működik, ha a tartományod összefüggő.Azért lehet gyorsabb, mert itt a memóriában vannak az adatok, az "a" tömbben.
Elképzelhető, hogy out of memory hibát kapsz, de talán 35000 sornál még nem (persze attól is függ, hány oszlopod van). Ebben az esetben bontsd részekre a műveletet, még úgy is gyorsabbnak kell lennie.Üdv.
-
excelfan
újonc
válasz
m.zmrzlina
#24453
üzenetére
Nem pont fkeresel megírva, de a lényeget azt hiszem ki tudod venni, tégy vele egy próbát:
=SZUM('D:\2-es.xlsx'!szamok)
Persze az elérési útvonalat, hivatkozást jobb ha nem kézzel gépeled, hanem Wyll által írt módon a hivatkozott munkalap is meg van nyitva képlet szerkesztéskor, és ott jelölöd ki a hivatkozott részeket.... -
slashing
senior tag
válasz
m.zmrzlina
#24472
üzenetére
Nálam ez most megoldotta szerencsére, az elején kikapcsolom az adatok újrakalkulálását majd a végén vissza.
Az a makró ami 0,8 másodperc alatt futott le alapállapotban az a másik fájl megnyitása után 32 másodpercig futott
miután beraktam a kalkuláció kikapcsolást kicsit lassult csak 0,97-1 másodpercre. Tekintve azt hogy annak a fájlnak muszáj nyitva lennie így most roppant boldog vagyok mert 10-esével(10 külön fájl) kell beimportálni az adatokat ami azt eredményezte volna hogy a 10 másodperc helyett több mint 5 percig dolgozott volna
továbbá a mai példából kiindulva ezt meg kellett csinálnom ma vagy 15ször így lett volna vagy másfél óra malmozás 
amúgy én is tuti valamit elcsesztem itt már.... ez kvázi az első makrós projectem amihez lassan nekem is folyamatábra kell hogy átlássam

-
Delila_1
veterán
válasz
m.zmrzlina
#24458
üzenetére
Törléssel?
-
Delila_1
veterán
válasz
m.zmrzlina
#24455
üzenetére
Szerintem töröld a nevet, és újra vidd be.
-
Wyll
őstag
válasz
m.zmrzlina
#24455
üzenetére
Akkor sorry, nem találkoztam még ilyennel, hogy miért tiltódik le a névkezelés...

-
Wyll
őstag
válasz
m.zmrzlina
#24453
üzenetére
Az elnevezett tartományokkal nagyon vigyázz, amennyiben nem kizárólag abszolút ($-os) hivatkozás(oka)t tartalmaznak!
Amúgy semmi különbség nincs ahhoz képest, mint ahogy a saját munkalapon csinálnád:
írod szépen a képletet, majd amikor kell a másik munkafüzet, átkattintasz rá, F3, kijelölöd a nevet, enter, majd visszakattintasz a függvényedhez, és írod szépen tovább.Szintaktikailag ugyanúgy kell írni, mintha egy cellahivatkozás lenne, nem kell idézőjel meg semmi, a másik file neve persze itt is szögletes zárólejben van, ahogy mindig.
Amúgy meg google. -
Kojaszan
újonc
válasz
m.zmrzlina
#24451
üzenetére
Okés, köszi, megnézem!

Legyen szép napod
-
Kojaszan
újonc
válasz
m.zmrzlina
#24449
üzenetére
Na igen, de mire jó ez?
Mármint mihez lehet használni?
Bocsi, nem vagyok épp egy nagy guru, viszont kíváncsi annál inkább 
-
gyu84
tag
válasz
m.zmrzlina
#24326
üzenetére
@ (#24325) Delila_1
@ (#24326) m.zmrzlinaKöszönöm szépen mindkettőtöknek, működött!
-
soundsthu
csendes tag
válasz
m.zmrzlina
#24322
üzenetére
Egy adott hónap munkalapjait szeretném kinyomtatni, egyetlen kattintással, úgy hogy minden lapon más dátum szerepeljen. (Valamikor utólag kell kinyomtatni, valamikor pedig előre a munkalapokat az aktuális dátumhoz képest.)
-
Bunken
tag
válasz
m.zmrzlina
#24317
üzenetére
Jó volt az első megoldás is. Mindkettővel ugyan azok az eredmények jöttek ki.
-
Bunken
tag
válasz
m.zmrzlina
#24317
üzenetére
Akkor majd újra fogom csinálni.
Az egyik oszloppal megnézem ha nem stimmel az első eredményekkel akkor újracsinálom az egészet.
Köszi, hogy szóltál. -
Bunken
tag
válasz
m.zmrzlina
#24314
üzenetére
Sikerült megoldani a dolgot!
Minden oszlopot kijelöltem és a cellabeállításoknal beállítottam, hogy Szám és úgy már minden jó volt.Ezer köszi a segítségért!
-
Bunken
tag
válasz
m.zmrzlina
#24314
üzenetére
A darabteli nem működik jól. De majd megpróbálom amit írtál.
-
Bunken
tag
válasz
m.zmrzlina
#24312
üzenetére
5 oszlopom van ebből 3-nál tökéletesen működött a darabteli képlet is meg a szűrés is de a másik két oszloppal nem akarja az igazságot.
Azért köszi szépen ez is nagy segítség volt.
A másik két oszlopot meg majd holnap átnyálazom manuálisan. -
Bunken
tag
válasz
m.zmrzlina
#24310
üzenetére
Köszi a választ!
Megpróbáltam de nem igazán jött be. 2013 Professional Plus-t használok (ha ez jelent valamit)
Bemásoltam a képletet a B1-be és végig lehúztam, de már két egyforma szám mellett más számot hozott ki. Ennek ellenére elkezdtem a szűrést de nem minden olyan mint ahogy leírtad.
Ahogy rámentem az Egyéni szűrőre ez a kis ablak jött be:
Egyedi rekordot nem is láttam sehol, meg Listatartományt, Szűrőtartományt sem.
-
hülyegyerek
addikt
válasz
m.zmrzlina
#24307
üzenetére
Jelszavas, úgyhogy sajnos nem nyitja meg. VBA Project a neve.
-
hülyegyerek
addikt
válasz
m.zmrzlina
#24305
üzenetére
Nagyon láma leszek, de azt hogy kell ?
-
LordVader80
őstag
válasz
m.zmrzlina
#24265
üzenetére
Rosszul fogalmaztam, pont a cellaértékre kell, hogy figyeljen, ami változhat. A számok pedig nem soronként növekednek, hanem pl:
1
1
1
2
3
3
4
4
és így tovább. A számok képletekkel jönnek. Az 1-3 számokhoz szeretnék egy színt rendelni, a 4-7-ig egy másikat, és így tovább egészen 197-200-ig. Csak lusta vagyok ennyi feltételes formázást bevinni, meg nem is tudom, 50-et lehet-e egy cellára. -
ritterkrisz
tag
válasz
m.zmrzlina
#24243
üzenetére
Annyi probléma merült még fel, hogy ezt a szöveget egybe fűzi. Nem lehet beállítani, hogy az összefűzött cellák között maradjon szóköz?
-
lacy86
addikt
válasz
m.zmrzlina
#24232
üzenetére
Bazz ....
Koszonom szepen!

-
tgumis
tag
válasz
m.zmrzlina
#24224
üzenetére
Hálás köszönet èrte. Majd ha asztali gép közelébe jutok lepróbálom. Mégegyszer köszi.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#24225
üzenetére
Úgy látszik már késő van (vagy már korán)

Set eredmeny = ThisWorkbook.Worksheets("eredmeny")
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb)Helyesen:
Vagy minden eredmeny-t átírsz a munkalapod nevére vagy csak az idézőjelben lévőt.
Vagy csinálsz egy eredmeny nevű munkalapot és hagyod az egész makrót a fenébe úgy ahogy van.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#24224
üzenetére
Na szóval:Itt is kijavítod az "eredmeny"-t a munkalap nevére és ha nem az A:D tartományba akarod kiiratni az eredményt azt is megváltoztathatod (lényeg, hogy 4 oszlopnyi tartományt adj meg)
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb) -
tgumis
tag
válasz
m.zmrzlina
#24040
üzenetére

müxik csak az utcsó munkalap nem volt kikódolva így amiatt megállt.
KÖSZI KÖSZI KÖSZI

egy délutánnyi időt spóroltál meg nekem. -
tgumis
tag
válasz
m.zmrzlina
#24038
üzenetére
szia kösz a kikódolás az működik viszont a lekódolás valamiért nem.
Van valakinek ötlet.
valószínű az active sheet az ami bezavart tegnap -
tgumis
tag
válasz
m.zmrzlina
#24035
üzenetére
sajna nem megy:S

-
tgumis
tag
válasz
m.zmrzlina
#23926
üzenetére
.
-
PETEE78
senior tag
válasz
m.zmrzlina
#23992
üzenetére
tehát pl az 5.sorban található értékek már szerepeltek így egymás után előtte, akkor jelölje x-el az 5.sor végén valahol
-
PETEE78
senior tag
válasz
m.zmrzlina
#23992
üzenetére
Igen csak,ha minden kívánt oszlopban van egyezés, akkor rakjon x-et az ismétlődő sor végére, de csak az ismétlődő sor végére kell a jelölés, ahol először megjelent az adathalmaz oda nem kell

-
tgumis
tag
válasz
m.zmrzlina
#23926
üzenetére
Ha csak ötlet is de köszönöm. Ès mindenkinek minden segítsègèt köszönöm. Sokat tanultam màr itt tőletek.
Külön köszi Delila -
tgumis
tag
válasz
m.zmrzlina
#23920
üzenetére
Kösz ezt olvastam már de közben müxik csak az alején kell emgedélyezni a tratalmat.
Ismét egy kérdés:
Van valaki aki tud egy olyan makrót ami megoldja a problémám.
Van 12 munkafüzetem
mindegyik munkafüzet 64 munkalapból ál.
Én hülye védetté tettem a munkalapokat és elfelejtettem az évszámot úgy megoldani hogy hivatkozzon.
Szóval az első munkalap G7 cellájának értékét kellene behivatkozni mind a 63 munkalap H4 cellájába.
Természetesen védett munkalapok szóval a kikódolásnak is szerepelni kellene a makróban.
légyszí segítsetek -
Fooler89
őstag
válasz
m.zmrzlina
#23919
üzenetére
Köszönöm szépen.
-
tgumis
tag
válasz
m.zmrzlina
#23912
üzenetére
nem tudok
az egész munkafüzeteMás
lehet olyat excelben is mint a worldben hogy az első oldal álló a második fekvő és az x edik megint álló a nyomtatáskor. -
slashing
senior tag
válasz
m.zmrzlina
#23907
üzenetére
A visszafele számolás nem használható sajnos az A1-től számolás az megoldható igaz fordítva terveztem hogy előbb bejönnek az adatok aztán töltöm fel a maradékot de ezt megfordíthatom.
Köszi!
szerk.:
CurrentRegion tuti kiesik olyan b...i nagy és helyenkéntfoghíjashogy tuti rosszul fogja számolni -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#23907
üzenetére
Esetleg használd a következőt:
hanyoszlop=Range("A1").CurrentRegion.Columns.Count
Ezzel változóba tudod írni a használt tartomány oszlopainak számát, amit már kedved szerint használhatsz.
-
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.
Új hozzászólás Aktív témák
- BestBuy topik
- Google Pixel 10a – évismétlés
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
- Autós topik látogatók beszélgetős, offolós topikja
- Anglia - élmények, tapasztalatok
- Automata kávégépek
- Milyen videókártyát?
- PH!otósok beszélgetős, offolós topikja
- Arc Raiders
- Kerékpárosok, bringások ide!
- További aktív témák...
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- PC Game Pass előfizetés
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Microsoft Surface Laptop 3 13.5" fekete i5-1035G7 16GB 512GB 1 év garancia
- Lenovo T490S i5 8365U, 16GB RAM, 256GB SSD, jó akku, számla, 6 hó gar
- MEDION ERAZER Cooling Kit V2 Vízhűtés - MD 62737 Beast 16 X1 gamer laptophoz
- Samsung Galaxy S26 Ultra - Black - 512GB - BONTATLAN - 3 Év Jótállás
- Macbook Air M2 15" 8GB 256GB 100%
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







").Select
miután beraktam a kalkuláció kikapcsolást kicsit lassult csak 0,97-1 másodpercre. Tekintve azt hogy annak a fájlnak muszáj nyitva lennie így most roppant boldog vagyok mert 10-esével(10 külön fájl) kell beimportálni az adatokat ami azt eredményezte volna hogy a 10 másodperc helyett több mint 5 percig dolgozott volna
továbbá a mai példából kiindulva ezt meg kellett csinálnom ma vagy 15ször így lett volna vagy másfél óra malmozás

Na szóval:
Fferi50