- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- bitpork: Augusztus 2- szombat jelen állás szerint.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Parci: Milyen mosógépet vegyek?
- sziku69: Szólánc.
- Aggregátor gondjai, örömei, és elmélkedései
- Chosen: Canon 5D II - portrézás 2025-ben
-
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
-
Declare
őstag
válasz
Fferi50 #32680 üzenetére
Jogos! Ugye amikor valaki sokat foglalkozik valamivel, nem egyertelmü, mi az ami csak neki vilagos, meg mi az ami masnak is
Javitottam a pelda excelt. [link]
A lenyeg, hogy lefele haladva össze kellene adni mindig az "S. Titel" ertekeket az "S. Gewerk" cellakba. Aztan tovabb lefele (egy-egy ilyen "S. Gewerk" szumma ertek utan) ujabb "S. Titelek" jönnek....majd ujra "S. Gewerkbe" vannak ezek összegezve...majd ujra es ujra
Most az uj excel link, az ugy nez ki, ahogy ki kell neznie. (Nem mellesleg rövidebb es egyszerübb az excel pelda
)
-
sayCet
aktív tag
Sziasztok!
Van egy olyan problémám, hogy van 1200 sornyi termék.
A termék megnevezésénél pedig maga a "név márka" a leírás végén van.
Tehát, csakhogy mutassak egy példát:LED-es beép 2,7W d:8,5cm 3000K Fueva 1
A Fueva 1-et kellene a sor elé vinnem, tehát a "LED" elé.
Megoldható lenne ez 1200 soron keresztül gyorsan?Válaszokat előre is köszönöm!
-
Delila_1
veterán
Fussunk neki újra.
A1-B1 összevonva, a tartalma tűzoltó anyag 13.c Szóköz van az anyag és a 13.c között?
Ebből kell ta_13.c-t összehozni a szövegfüggvényekkel, és ez a rövidített változat az egyik lap neve.
A következő leendő-, vagy meglévő lapnév az A2-B2 cellák értékéből adódik?Minden cella megnevezése 2 szóból áll? Ez fontos a rövidítés létrehozásához.
A képlet, ami létrehozza a rövidített nevet
=BAL(A1;1)&KÖZÉP(A1;SZÖVEG.KERES(" ";A1)+1;1)&"_"&KÖZÉP(A1;SZÖVEG.KERES(" ";A1;SZÖVEG.KERES(" ";A1)+1)+1;10)
-
lappy
őstag
válasz
Delila_1 #32689 üzenetére
Ha már így kérdezted akkor is-is.
Vannak olyan adatok amik már szerepelnek az első munkalap egy adott tartomány listájában (ez bárhol lehet majd megváltoztatom a jó helyére).
A további lapok ezekből lett létrehozva egyenlőre manuálisan. A meglévőket kellene átnevezni vagy ha nincs ilyen akkor létre hozni. A lapok A1 illetve B1 cellájában vannak, de ez most nálam összevont cella, de ha kell akkor megváltoztatom hogy ne legyen az. De már nem emlékszem hogy lehet megcsinálni hogy úgy tűnjön mintha össze lenne vonva a cella. -
morgusz
csendes tag
Sziasztok!
Egy naponta készített táblázatból kellene adatokat küldenem címzetteknek.
A teljes táblázatból csak kijelölt cellatartományt, illetve esetenként nem összefüggő sorokat (mindig azonos oszlopok adai) kellene küldeni 1-1 emailben. (Egy email max. 15 sor adat)
Jó lenne olyan makró, amivel a kijelölt tartományt, tartományokat vagy sorokat elküldhetem az email szövegeként, (némi magyarázattal) vagy mellékletként.
Van már olyan makróm ami mindig azonos (összesítő) tartományt küld, (a napi.xls fájlba bemásolva) de most csak kézzel kijelölt részeket küldenék.Ez van most, de nem tudom hogy kellene átalakítani:
Dim Outlookprogi As Object
Dim Email As Object
Set Outlookprogi = CreateObject("Outlook.Application")
Set Email = Outlookprogi.CreateItem(0)On Error Resume Next
With Email
.to = "....."
.CC = "...."
.BCC = "....."
.Subject = "......."
.Body = ActiveCell.Offset(0, 12).Value]
.Attachments.Add "D:\napi.xls"
.Display
End With
Set Email = Nothing
Set Outlookprogi = NothingElőre is köszi!
-
lappy
őstag
Adott több munkalap aminek a nevét kellene generálni az első sorban lévő szövegből (amúgy ezt egy munkalapról listából választom ki, így a lista mindig bővíthető) és a második sorban lévő szám és betűből.
pl.:
tűzoltó anyag
13.c
a végeredmény pedig: ta_13.c -
Fferi50
Topikgazda
-
Delila_1
veterán
válasz
Fferi50 #32679 üzenetére
Igen, megírta a srác, meg is néztem – de csak most, eddig nem voltam net közelében. Azt nem tudta ott megadni, hogy userformról és tetxboxról van szó.
Kevés adat van a füzetben, kicsi a memória-foglalás. 3 változó közül 1-et beír nála a lapra, kettőt nem. A hibakód van vagy 20 karakternyi, ami nem normális. Több helyen keresgélt a neten. Mindenhol azt írják hasonló esetről, hogy nem aktív a lap, ahova menteni akar. Nem is kell annak lennie, és az sem segített, hogy a cellába írás előtt aktiváltam a lapot. Szerintem az ő készülékében (Office) van a hiba.
-
artiny
őstag
MS Excel nektek már omlott ossze ugy, hogy tobbe nem tudtatok megnyitni a fajlt -Mennyire idot allo a sok nyitogatasban - mivel gondoltam,hogy ebben mentenem el a googles konyvjelzoket, mert konnyen tudnam oket rendszerezni?
MS Excel 2007 -t hasznalok
-
EmberXY
veterán
válasz
Fferi50 #32678 üzenetére
Szia!
Igy első próbálkozásra már tökéletesen működik, ezer köszönet a segítségért.
Annyit még "logikáztam" rajta, hogy az Offset-et (1, -2)-re módosítottam, így korrigáltam az eredetileg hivatkozott cellák oszlopát, hogy ne kelljen a hivatkozásokat átírni, és így az üres sorok elejére visz, adat bevitelre készen.
Már csak csinosítani kell a munkalapon, és sínen van a dolog.
Köszi még egyszer.Delila_1: Neked is köszönöm, a te megoldásod is működik, de már Fferi50 megoldására volt kihegyezve nagy mértékben a munkalap, ezért végül annál maradtam.
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
EmberXY #32676 üzenetére
Szia!
A táblázat alá egy cellát betöltve (beírva) a cellára ráállva (akár nyíl, akár egér) a jobbra nyíllal át tudsz menni a mellette levő cellára és oda is írhatsz, a harmadik oszlopba ugyanígy. Ha az adatot nem enterrel ütöd át, hanem jobbra nyíllal hagyod el a cellát, akkor benne marad az üres cellában, nem ugrik le tovább.
Tehát a probléma akkor jelentkezik, ha egymás után több sort viszel be az első oszlopba és utána szeretnéd a üres cellákat kitölteni.
DE nem szeretném csak a magyarázatot adni, itt egy megoldás tervezet, amit a Sub - End Sub közé kell írni:Dim tbl As Variant
Application.EnableEvents = False
Range("AQ68").Value = 0
On Error Resume Next
For Each tbl In ActiveSheet.ListObjects
If Not Intersect(Target, Range(tbl)) Is Nothing Then
If Err = 0 Then Range("AQ68") = tbl.Name
If Not IsEmpty(Target) Then Target.End(xlDown).Offset(1, 0).Activate: Exit For
Err = 0
End If
Next
Application.EnableEvents = TrueEz azt csinálja, ha üres cellára léptél a táblázaton belül, akkor nem ugrik el a végére.
Üdv.
-
X Factor
addikt
Excel táblát illesztenék be Onenote-ba, és a merged cellák, egyszerűen szeparáltan jellenek meg ON-ben, bármit csinálok.
Valaki vmi ötlet?
-
EmberXY
veterán
válasz
Fferi50 #32671 üzenetére
Így néz ki jelenleg, ez a legelső sor legeleje (14 táblázat van egymás mellett, az első 3 látszik), a második sor ~200 sorral lentebb kezdődik (eredetileg ugyebár ilyen nagyra terveztem mindet, akkor még nem számoltam a táblázattá alakítással), szóval nem érhetnek össze.
Bal oldalon vannak a hivatkozások, a másodikra kattintva látszik a pillanatnyi helyzet, a hivatkozott cella a J oszlopban van, így a J oszlopban le is megy a soron következő üres celláig, a formázás is működik (azért színes az M oszlop is, mert eredetileg 4 oszlopos táblázatok voltak, de végül ezt 3-ra csökkentettem, de valamiért a formázást így jegyezte meg, jelenleg ez a legkisebb baj, már ha nem ez okozza a problémát).
A táblázatok helye eredetileg be lett vonalazva, az ne tévesszen meg, a táblázatok csak az utolsó adatot tartalmazó sorig tartanak. Kisebb-nagyobb szépséghibák vannak bőven még, de amint összeáll az egész, apránként optimalizálva lesz.Képernyőkép:
-
Fferi50
Topikgazda
válasz
Delila_1 #32673 üzenetére
Szia!
Esetleg előfordulhat, hogy valamelyik formos eseménykezelőben van egy Unload Form utasítás, ami miatt már nincs a form a memóriában.
Próbáld azt, hogy formnév.UjMT(.value/text). Én ilyenkor mindig beleírom a value/text stb. tulajdonságot is. (Tudom-tudom, alapértelmezett, de mégis, biztos ami rendőr alapon.)
.
Üdv. -
Delila_1
veterán
válasz
Fferi50 #32671 üzenetére
Velem is hasonló anomália lépett fel. Nálam pompásan működik a két sor:
usor = Sheets("Alapadatok").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Alapadatok").Range("A" & usor) = UjMTahol az UjMT egy beviteli mező egy userformon. Akinek küldtem, nála hibával leáll, nem elérhető az objektum.
Próbáltam szétszedni a sort:Sheets("Alapadatok").Select
Range("A" & usor) = UjMTErre is fütyül. A változókat felismeri, a lap nem védett. Megállt a tudományom.
EmberXY:
a
Range(talal).End(xlDown).Select
helyett írj
Range(talal).End(xlDown).Offset(1).Select
-et, hogy az első üres sorban legyen a fókusz. -
bsasa1
csendes tag
válasz
Declare #32669 üzenetére
Szia,
volt egy hasonló makróm, kicsit átírtam. Nem pontosan úgy működik, mint a másik, de lehet, hogy segít. Illetve ennek is működnie kell nálad.
Sub reszosszeg()
Dim sor As Integer, darab As Integer, elozoertek As Integer, p As Integer, i As Integer
darab = WorksheetFunction.CountIf(Range("G:G"), "S. Gewerk")
sor = 1
elozoertek = 0
For i = 1 To darab
Set myfind = Range("G:G").Find(what:="S. Gewerk", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, after:=Range("G" & sor))
sor = myfind.Row
Range("F" & sor).FormulaR1C1 = "=Sumif(R2C[1]:R[-1]C[1],""S. Titel"",R2C:R[-1]C)"
p = Range("F" & sor).Value
Range("F" & sor).Value = Range("F" & sor).Value - elozoertek
elozoertek = p
Next i
End Sub -
Declare
őstag
válasz
Fferi50 #32665 üzenetére
Ahamm...Thx!
Viszont most kerdeznek egy dolgot....ezzel sajna több, mint fel napja el vagyok akadva es nem talalom a megoldast
Ami kellene: Van F oszlop szamokkal es G oszlop cimkekkel. A G oszlopot kellene vizsgalni es ha abban "S. Gewerk" cimket talal, akkor melle az F oszlopba szummazni kellene az összes olyan cella erteket, ami mellett "S. Titel" szerepel. Ezt mindig S. Gewrk" töl a fölötte levö "S. Gewerk" ig kellene.
Tehat blokk szerüen felülröl lefele nezve, az also "S. Gewerk" mindig a fölötte levö "S. Titel" szummakat tartalmazza. Majd tovabb haladva a következö "S. Gewerk" alul a fölötte levö "S. Titel" ertekek szummajat tartalmazza.
Adott a macro (ezt nagyjabol pont Te irtad, csak alakitgatom, hasznalom, de most nem sikerül
)
Sub Test()
Dim i As Integer, mycell As Range, myfind As Range, elso As String
Set myfind = Range("G:G").Find(what:="S. Gewerk", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
If Not myfind Is Nothing Then
elso = myfind.Address
Do While True
Set mycell = Range("G:G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlPrevious, after:=myfind)
If Not mycell Is Nothing Then
i = myfind.Row
Range("F" & i).Formula = "=Sum(" & Range("F" & mycell.Row).Address & ")"
End If
Set myfind = Range("G:G").Find(what:="s. Gewerk", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, after:=myfind)
If myfind.Address = elso Then Exit Do
Loop
End If
End SubEz most ugye azt csnalja, hogy megkeresi a "S. Gewerket" es melle beirja a szumma erteket a fölötte levö 1db "S. Titel" nek.....es ugye ezt kellene ugy alakitani, hogy ne csak a felette levö 1 db "S. Titel" szumma legyen, hanem a többi is, egeszen a következö "S. Gewerk" ig. Nem tudom ez igy megoldhato e
Dropboxba feldobtam egy egyszerüsitett tablat, ahol latszik mi van.[link]
Ha lesz ra valamikor idötök ranezni, ez ujabb nagyon hasznos segitseg lenne
-
EmberXY
veterán
válasz
Fferi50 #32662 üzenetére
Szia!
Nos, a kód rendben van, a táblázatokat is összébb húztam, így már nem érnek össze, üres sorok sincsenek bennük, viszont ugyanaz a probléma, mint ezelőtt.
- Amikor a megfelelő hivatkozásról eljutok egy táblázathoz, akkor abban az oszlopában, ahol a hivatkozott cella van, le is megy a soron következő üres cellához, ez rendben is van.
- Adatot is tudok bevinni, viszont ahogy ellépek a celláról kurzornyíllal, már nem nem enged ugyanabban a sorban maradni, hanem rögtön továbbugrik. A táblázatba 3 adatot kéne bevinnem az új sorba, de így csak egyet enged.Nagyjából megpróbáltam kilogikázni, hogy mi lehet a gond. Ugyebár a táblázat folyatosan bővül, ha új adat kerül bele, a jobb alsó sarkán lévő jelzés is lentebb ugrik egy sorral jelezvén, hogy bővült a táblázat.
Viszont amikor a hivatkozással eljutok a táblázathoz, akkor a soron következő üres cella, ahová ugrik, az akkor még kívül van ezen a sarokjelzésen, és hiába ott lenne a következő sora a táblázatnak, ezt ő akkor még úgy tekinti, hogy táblázaton kívül van, ezért amikor cellát váltok, akkor ugrik a következő táblázatra. Lehetséges, hogy ez a gond, vagy még mindig nálam van valami elrontva?F
Delila_1:Köszönöm, ezt is ki fogom próbálni.
-
Delila_1
veterán
válasz
EmberXY #32661 üzenetére
Egy alternatív megoldásnál az A oszlopba sima egyenlőségjellel behivatkozod az egyes tábláid bal felső celláját a csatolt kép szerint. A makró elintézi, hogy bárhova elmozdíthatod az egyes táblákat, szúrhatsz be vagy törölhetsz sorokat, ill. oszlopokat, az A oszlop cellájára kattintva mindig a megfelelő tábla első oszlopának alsó cellájára ugrik a fókusz.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim talal
If Target.Column = 1 Then
Application.EnableEvents = False
talal = Columns("B:DZ").Find(Target, LookIn:=xlValues).Address
Range(talal).End(xlDown).Select
Application.EnableEvents = True
End If
End SubSzerk.: a Columns("B:DZ") kifejezésben a DZ helyett írhatsz "nagyobb" értéket.
-
Fferi50
Topikgazda
válasz
Declare #32663 üzenetére
Szia!
"ilyenkor az ertek nem törlödik, hanem kicserelödik egy szóközre"
A Replace függvény Replacement paraméterét két idézőjelnek ("") kell megadni és nem idézőjelek között szóköznek!!! A két idézőjel az adott értéket üres stringre (semmire) cseréli.
Ebben az esetben viszont az Üres() függvény igaz értéket ad vissza a cellára.Üdv.
-
lappy
őstag
Sziasztok!
Van egy excel fájl amiben több munkalap van. Az első oldal egy borító lap, ezen az oldalon van egy érvényesítési lista (az adatokat ugyanezen lapról szedi, annyival kiegészítve, hogy ahogy változik a lista eleme akkor bizonyos cellák tartalma is változik a borító lapon).
A munkafüzet többi lapján viszont a lista elemekhez tartozik egy-egy munkalap. Azt szeretném, hogy egy gombnyomásra ezeket a lapokat kimentse pdf-be. A következő módon:
lista 1 eleme- borító- hozzá tartozó munkalap
lista 2 eleme- borító- hozzá tartozó munkalap …
Amit még nem döntöttem el de talán így lenne a legjobb hogy az egyes munkalapok nevei ne legyenek hosszúak ( a listában teljes névvel szerepel) hogy ezt valahogy rövidítve szeretném munkalap elnevezésnek.
A segítséget előre is köszönöm! -
Declare
őstag
válasz
Delila_1 #32642 üzenetére
+(#32643) Fferi50
Köszi, jo a tipp, amit irtok, viszont ilyenkor az ertek nem törlödik, hanem kicserelödik egy szoközre. Ez alapjaban veve jo, de volt már, hogy pont ez szivatott meg valamilyen keplet, vagy kereses vagy hasonlo közben (üres cellakra kerestem/szürtem, közben meg ugye nem voltak üresek...vagy hasonlo problema volt).
Szoval ha lehet ezt a szoközre cserelest nem eröltetem. Inkabb fusson le parszor a fent makro....igazabol megvan az a kenyelmes helyzet, hogy manapsag nyugodtan lehet pazarolni az eröforrasokat, hisz ezekhez bitang gyorsak ezek a gepek....igy nem 1 masodperc lesz a futas, hanem 2
-
Fferi50
Topikgazda
válasz
EmberXY #32661 üzenetére
Szia!
Szerintem elég, ha csak a jelenlegi kitöltött sorokat alakítod át most, hiszen automatikusan bővül a táblázat, ha új adatot viszel be a végére. Azaz nem kell fix 220 sor, elég, ha csak megfelelő "távolságot" tartasz a táblázatok között, hogy elférjenek a további adatok. A makró feltételezi, hogy nincsenek üres cellák a táblázat adott oszlopában.
Üdv.
-
EmberXY
veterán
válasz
Fferi50 #32660 üzenetére
Szia!
Nem úgy bővítem, lehet, hogy rosszul fogalmaztam.
Szóval, én a táblázatokat úgy hoztam létre, hogy fixen 220 sorból áll mindegyik, ezen nem is akarok változtatni, illetve ha szükséges, akkor mégis (1 évre kalkuláltam, ha közel minden munkanapon használnak egy gépet, akkor is elfér, következő évben újraindul a dolog), és amikor új adat kerül bele, akkor folytatólagosan vezetem mindegyiket onnan, ahol éppen az tart. Az nem baj, ha nagy része üres marad is, vannak gépek, amiket szinte naponta használnak, és vannak, amiket havonta egyszer jó esetben, a lényeg, hogy minden táblázatban van elég hely, aztán vagy fel lesz töltve, vagy nem.A sorok beszúrását arra értettem, hogy ha az egymás alatti táblázatokat távolítani akarom egymástól, erre a megoldásra gondoltam, de ekkor a hivatkozott cellák is tolódnak, vagyis a táblázatok "kihaladnak" belőlük, ezért akkor a hivatkozásokat is módosítanom kell. Esetleg a táblázatokat veszem kisebbre, talán pár sort lehet rövidíteni rajtuk, az még nem gond, és nem is fognak összeérni.
Mindenesetre holnap kipróbálom, hogy ha nem érnek össze, akkor működik-e a makró, és megírom az eredményt. Nem sürgős a dolog, természetesen várok türelemmel, addig is köszönöm az eddigi segítséget.
-
EmberXY
veterán
válasz
Fferi50 #32654 üzenetére
Szia!
Lefelé bizony összeérnek, de csak amiatt, hogy a táblázattá alakítás során ugyebár kijelölve a táblázatot, végül kapott mindegyik egy fejlécet és valahogy egy plusz sort is alulra, de mivel egymásba nem lógnak bele, nem tulajdonítottam neki nagy jelentőséget, plusz ugyebár ha sorokat szúrok be, akkor a hivatkozások is tolódnak, de ezek szerint ezen is bütykölnöm kell még.
Oldalirányban van köztük 2 oszlop távolság, úgy nem érnek össze. Egyébként jelenleg 3 "sorban" vannak a táblázatok, soronként 14 db, és mindegyik 220 sort tartalmaz, de még kell további ~30 db, úgyhogy minimum 2 sor még kelleni fog. Elég nagy területet fed le a lapon, ezért is próbáltam úgy rendezni, hogy ne sok hely legyen köztük, így is rengeteg helyet foglal, ezért is lenne fontos, hogy a hivatkozások működjenek, és egyszerű legyen az adat felvitel, mert a csúszkával sokat kellene navigálni.Reggel akkor ezzel folytatom, a kódot is átellenőrzöm, hátha rossz helyre tettem a módosítást, azután jelentkezem. Addig is köszönöm, hogy ennyi időt áldozol rám, lassan már szégyenlem magam, amiért ennyire dilettáns vagyok.
-
Fferi50
Topikgazda
Szia!
Kijelölöd a C78 cellát, amibe beírtad a képletet. Ezután elhúzod jobbra egérrel, vagy kijelölöd az oszlopokat hozzá (beleértve a C78 cellát is) és Ctrl+J.
Több munkalapra egyszerre is megy a dolog. Kijelölöd a munkalap füleket Ctrl nyomva tartása mellett, ezután beírod a képletet a C78 cellába, elhúzod ameddig kell. A kijelölt munkalapokon is ott lesz a képlet a kijelölt sorokban.
Üdv.
-
HREH
senior tag
Sziasztok!
Van egy táblázatom, az egyik cellába átlagok kerülnek a következő módon:
A C78-as cellába a C5, C6, C21, C44 mezőkben található számok átlaga.
Hasonlóképpen, a D78-as cellába a D5, D6, D21, D44 mezőkben található számok átlaga
És így tovább...
Hogyan lehetne ezt makróval megoldani, hogy egy gombnyomásra számolja ki így az értéket? (több munkalapom is van, elég sok idő lenne egyesével végigkattingatni mindegyiken a kívánt cellákat)Előre is köszönöm a segítséget!
-
Fferi50
Topikgazda
válasz
EmberXY #32646 üzenetére
Szia!
"Működik, az a része rendben is van, hogy a táblázat legaljára áll, viszont amint új adatot írnék bele, és cellát váltok, rögtön újra elugrik,, egyre lentebb és lentebb, míg nem a legalsó táblázat alján megáll."
Ilyet nem lenne szabad csinálnia, hacsak össze nem érnek a táblázataid és így az adat bevitele után már az újabb táblázatra sikerül ugrania. Szerintem legalább két üres sornak/oszlopnak kellene lennie a táblázatok között. (Bár kipróbáltam, egy sor különbséggel, a beírás után a következő tábla fejléc sorára ugrott és nem lejjebb).
Nem lehet, hogy az a sor, amit utólag megváltoztattál, rossz helyen van?
Így kellene kinéznie:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tbl As Variant
Application.EnableEvents = False
Range("AQ68").Value = 0
On Error Resume Next
For Each tbl In ActiveSheet.ListObjects
If Not Intersect(Target, Range(tbl)) Is Nothing Then
If Err = 0 Then Range("AQ68") = tbl.Name: Target.End(xlDown).Offset(1, 0).Activate: Exit For
Err = 0
End If
Next
Application.EnableEvents = True
End SubÜdv.
-
Delila_1
veterán
Esetleg a laphoz rendelt makróval megszüntethetnéd a feltételes formázást. A lenti makró duplakliikre megszünteti a kijelölt tartomány feltételes formázását, majd sárga hátteret állít be a kijelölt cellára.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Selection.FormatConditions.Delete 'törli a feltételes formázást
Selection.Interior.ColorIndex = 6 'sárga hátteret állítbe
Cancel = True
End SubAdhatsz más új hátteret is, pl. lilát.
Selection.Interior.Color = RGB(255, 0, 255)
Az RGB-vel bármilyen színt kikavarhatsz.
-
Dr V
őstag
válasz
Delila_1 #32648 üzenetére
A hetek soronként, az ellenőrizendő területek oszloponként vannak. Többféle bejárás van hetente, ezek vannak a területek között elosztva. A könnyebb átláthatóság érdekében vannak a különböző bejárások különböző színekkel jelölve.
A megvalósulást nem szeretném máshogy jelölni, a legegyszerűbb megoldás lenne az átszinezés. -
Dr V
őstag
Sziasztok!
Egy táblázatban minden hétre vannak tervezett bejárások. A cellák háttérszínét feltételes formázással állítottam be.
Szeretném a megvalósult bejárásokat tartalmazó cellákat zöld színnel jelölni, de a feltételes formázást magasabb rangúként kezeli az excel, hiába állítom át a cella színét, marad a feltételes formázás során beállított szín.
Hogy tudnám a legegyszerűbben átállítani a cellák színét? -
EmberXY
veterán
válasz
Fferi50 #32645 üzenetére
Működik, az a része rendben is van, hogy a táblázat legaljára áll, viszont amint új adatot írnék bele, és cellát váltok, rögtön újra elugrik, egyre lentebb és lentebb, míg nem a legalsó táblázat alján megáll.
Az első lépés után nem lehet valahogy "kifagyasztani", hogy egy táblázaton belül csak egyszer csinálja ezt? -
EmberXY
veterán
válasz
Fferi50 #32635 üzenetére
Szia!
Még egy kérdésem lenne, ha nem vagyok szemtelen...
Azt meg lehet oldani valahogy, hogy miután a megfelelő hivatkozásra kattintva eljutok az adott táblázat egy adott cellájára (amire a hivatkozás mutat), az aktív cella ne az legyen, hanem a táblázat soron következő üres sorának valamely cellájája? Így könnyebb lenne új adatot felvinni, nem kellene legörgetni manuálisan.
Ha van valami egyszerű megoldás erre, azt előre is köszönöm.
-
Declare
őstag
válasz
Fferi50 #32636 üzenetére
Tegnap egesz nap makroztam es nap vegere kicsit bezsibbadt az agyam
..jogos, amit irsz, de egyben asszem meg is valaszoltad a kerdesem
Ez maga a kod (azaz F oszlopban megkeresi az összes "Position" erteket es törli. Ezen kivül van meg 3 db különbözö szöveg, amit ugyan igy keresni es törölni kell es erre gondoltam, hogy valahogy & jellel hozzaadni, mint feltetelt....
Dim FoundCell As Range
Application.ScreenUpdating = False
Set FoundCell = Range("F:F").Find(what:="Position")
Do Until FoundCell Is Nothing
FoundCell.ClearContents
Set FoundCell = Range("F:F").FindNext
Loop(amugy az alapjat egy nagyobb makronak pont az kepezi, amiben Te es Delila_1 segitettetek....nagyon jo segitseg, majd azert megmutatom, mit alkottam belöle, csak ugy erdekesseg keppen. Sok mindent megtanulgattam a netes leirasok segitsegevel + a makroitokat felhasznalva
)
-
csoki46
senior tag
Sziasztok!
Adott egy excel fájl, melynek első oszlopában minden sorban másik excel fájl van belinkelve. Ezt hogy tudnám úgy átmásolni, hogy a hivatkozás megmaradjon.
-
Delila_1
veterán
válasz
Smogus #32638 üzenetére
Nem írtad, hol van az a cella. A lenti makró az A oszlopba írt adat esetén az azonos sor B oszlopába írja be az időpontot.
Az A oszlopba írást az If Target.Column = 1 Then sor figyeli. Ha másik oszlopot kellene figyelembe venni, az 1-et írd át az oszlop sorszámára. (B-nél 2, C-nél 3, és így tovább).
A makrót a lapodhoz kell rendelni, ahogy a Téma összefoglalóban olvashatod.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Range(Target.Address).Offset(, 1) = Format(Time, "hh:mm:ss")
Application.EnableEvents = True
End If
End Sub -
Smogus
őstag
Sziasztok!
Meg lehet oldani azt, hogy ha egy cella értéke változik akkor a mellette lévő cellában megjelenik a dátum, hogy mikor változott? Nem kell időpont csak egy dátum ami az utolsó módosítást mutatja.
Előre is köszönöm a segítséget. -
Fferi50
Topikgazda
válasz
Declare #32634 üzenetére
Szia!
Kicsit nem értem a kérdést. A Range.Find metódussal a cellák tartalmára tudsz keresni, nem a nevükre... Jelen esetben azokat a cellákat keresi, amelyeknek a tartalma "Position". Egyszerre csak egy tartalmat tudsz keresni - de a további paraméterek függvényében ez lehet a cella képletében, megjegyzésében vagy az értékében (LookIn), ill. a cella egész értékét vagy egy részét keresi (LookAt).
Az újabb szöveg keresését ismételten el kell indítani.
Figyelem, a LookIn és a LookAt paraméterek értéke "öröklődik" - ugyanúgy, mint az Excelben a Ctr+F keresésnél.
Üdv.
-
Declare
őstag
Sziasztok!
Egy rövid kerdesem lenne (elsö körben
)
Set FoundCell = Range("F:F").Find(what:="Position")
ebben a sorban a "mit keressen" feltetelhez, tudok megadni több feltetelt? Tehat jelen eseteben a Position cellakra keres, de az kellene, hogy a Position es Text nevü cellakra keressen. Vagy ez ilyen formán nem megoldhato
(#32632) daddy9 azert azt erzed, hogy ez nem egy kis munka, amit itt szivessegböl kersz ugye?
Szerintem indulj neki guglival, macro felvetellel, aztan utanna kerdezz ha elakadsz
en is igy csinalgatok mostmar egeszen komolyan összetett macrokat, felhasznalva az itt kapott nem kis segitsegeket is az egyes reszekhez
-
EmberXY
veterán
válasz
Fferi50 #32631 üzenetére
Most már sínen vagyok, működik is, már csak végig kell csinálni minden táblázatnál a formázást.
Az volt a gond, hogy a legelső táblázatnál valamit elronthattam, vagy többször hozhattam létre, vagy valami ilyesmi, emiatt dupla fejléce van, és kijelölésre sem látszik a neve (Táblázat1 sincs, 2-vel kezdődik a lista), végig ezen próbáltam volna ki a folyamatot, ezért nem ment, ezzel még holnap elszórakozom, de egy másik táblázatnál már tökéletesen megy, úgyhogy a módszer működik, már csak végig kell játszani, az elsőt meg kijavítani.
A táblázatos megoldásban még az is külön szuper, hogy mindegyik táblázat fejlécében eleve ott a szűrési lehetőség, míg eredetileg ez nem volt elérhető, csak amelyiknél külön be volt kapcsolva, és egyszerre csak egynél működött.
Még egy dolog van, amit majd meg kell oldani, mégpedig hogy a táblázatoknak ugyebár fejlécet is csinált az excel, és ez plusz sorokat jelent, mivel eredetileg volt már fejlécük, és így a hivatkozások is csúsztak 1-1 sorral, de szerintem ez már csak formázási finomhangolás kérdése, holnap még bütykölni kell rajta.
Addig is nagyon köszönöm a segítséget. (Ha még ezután is elakadnék, akkor megint jövök)
-
daddy9
tag
Sziasztok!
Egy PDF illetve TXT exportáló makróra lenne szükségem, ami megcsinálja az alábbiakat:
- Az első munkalapon (Adatbekérő) lenne elhelyezve egy gomb ez indítaná az exportálást (PDF és TXT is).
- A 2-től 5. munkalapokon (Borító, Leírás, Kérelem, Tartalom) találhatóak kész nyomtatványok, amik az első munkalapon lévő adatokat veszik át. Ezeket szeretném egy újonnan létrejövő "dokumentumok" mappába rakni Borító.pdf, Leírás.pdf, Kérelem.pdf és Tartalom.pdf néven.
- A 6. munkalapon (info) is vannak adatok az A113 tartományban. Ezt szeretném TXT formátumban (szóközzel elválasztva) elhelyezni egy CD_alma vagy CD_körte vagy CD_szilva mappában attól függően, hogy az első munkalap B2-es cellájában alma/körte/szilva van írva. Ennek a neve info.txt lenne értelemszerűen.
- Az már csak hab lenne a tortán, ha a táblázat mondjuk a C:\ gyökérben van elhelyezve, de az elérési utat én adom meg az első munkalap O43-as cellájába írva pl így: "C:\munka\1001-2015\". Akkor ezen a mappán belül hozza létre a 'dokumentumok' és a 'CD_alma' mappát és esetleg egy másolatot is készít magáról (vagy mentés másként) a meglévő 'munkaközi' mappába.Ha ezt valaki nekem el tudná mondani, hogy milyen elemekből és hogyan rakjam össze / hol olvassak utána (esetleg meg is írja
), azt nagyon megköszönöm (igény esetén sörrel jutalmazom)!
Elkezdtem olvasgatni a témakörben, de úgy érzem nagyon sok gyakorlás kellene, mire odáig eljutnék, hogy ezeket összehozzam.
A segítséget előre is nagyon köszönöm! -
Fferi50
Topikgazda
válasz
EmberXY #32630 üzenetére
Szia!
"el kell neveznem minden táblázatot?"
Amikor a beszúrás - táblázat átalakítást megcsináltad, akkor az Excel automatikusan adott neki egy nevet, ezt megtudhatod, ha a táblázat törzsét (fejléc nélkül) kijelölöd, mivel ekkor a szerkesztőléc mellett a bal oldalon megjelenik a neve. Ugyanitt a lenyílóban megláthatod, milyen nevek vannak az adott lapon.
Ezeket a neveket kell a feltételes formázásban az érvényesség képletbe beírni.
Miután OK vagy Alkalmaz gombot nyomsz, a név átváltozik az adott névhez tartozó tartományhoz és ezt látod a későbbiekben.Szerintem ennyi az egész.
Üdv.
-
EmberXY
veterán
válasz
Fferi50 #32627 üzenetére
Szia!
Megkezdtem a módosításokat, rögtön el is akadtam.
Táblázattá alakítás megtörtént, eddig rendben.
1. Kijelöltem egy cellát, de azt a részt nem teljesen értem, hogy "amiben a kiválasztott tábla nevét fogjuk megadni"... Abba nekem írnom kell valamilyen táblanevet?
Illetve az sem teljesen világos, hogy a táblázatok " neveit használjuk majd", eszerint el kell neveznem minden táblázatot? Mert ilyen opciót nem találtam, a beszúrás->táblázat menüben sem.
És így a 3. pontnál is elakadok, mert a formázáshoz minek a nevét kell írnom a "Táblanév" helyére?A makrót bemásoltam, valószínűleg működne is, mert a kiválasztott cella értékét 0-ra változtatja (ennyit értek belőle
), a többi rész nyilván még nincs a helyén.
Bocsánat, hogy ilyen láma vagyok, de elakadtam...
-
Az excel online-ba készült egy adatbázis szerüség. Hogyan tudnám lekérdezhetővé tenni? Elég lenne a megadott oszlopban részértéket keresni. Pl. a nevek oszlopban keressen rá az összes Pistára, és mutassa a találatokat. Ráadásul úgy kellene megoldani, hogy véletlen se tudjon beletörölni, módosítani az eredetin.
-
Fferi50
Topikgazda
válasz
EmberXY #32626 üzenetére
Szia!
Némi munkával és egy kis makróval megoldható a dolog.
A makró futásához elég sok előkészület kell, de szerintem megéri.
1. lépés: Ha nem kimutatások vannak a lapon, akkor minden "táblázatot" célszerű átalakítani Táblázattá a beszúrás táblázat menüpontban, a nevüket használjuk majd. Ha csak kimutatások vannak, akkor azok neve használható. Ha nem szeretnéd táblázat formában használni, akkor is minden részterületnek adj nevet légy szíves. Mindhárom esetet nevezzük most táblának.
2. lépés: Kinevezel egy cellát, amelyben a kiválasztott tábla nevét fogjuk megadni. Ezt természetesen elrejtheted, lényeg, hogy a használandó területen kívül legyen. Ez nálam az AQ68 cella volt.
3. lépés: Minden táblára egyenként feltételes formázást csinálsz az alábbiak szerint:
A formázandó cellák kijelölése képlettel, A képlet pedig:
=$A$68="Táblanév" formátumnak kijelölöd amit szeretnél látni pl. kitöltés zöld, érvényesség =Táblanév
Ha táblázattá alakítottad, vagy kimutatás, akkor a bővítésnél automatikusan bővül a terület.
4. lépés: A munkalap kódlapjára bemásolod az alábbi makrót (lapfül - jobb egérgomb - kód megjelenítése)Private Sub Worksheet_SelectionChange(ByVal Target As Range)
dim tbl as Variant
Application.EnableEvents = False
Range("AQ68").Value = 0' ide annak a cellának a címét írod, ahová a feltételes formázás jelzőjét tetted
On Error Resume Next
For Each tbl In ActiveSheet.ListObjects ' ha kimutatások vannak akkor Pivottables
If Not Intersect(Target, Range(tbl)) Is Nothing Then
If Err = 0 Then Range("AQ68") = tbl.Name: Exit For
Err = 0
End If
Next
Application.EnableEvents = True
End SubHa van kimutatás és általad átalakított táblázat is, akkor két ciklus kell egymás után, egy a ListObjects, egy másik pedig a Pivottables objektumokra. Ha még neveid is vannak(nem alakítottad táblázattá a tartományt, csak névvel láttad el, akkor az is külön ciklus és ott a névvel variálni kell, nem lesz jó rá a fenti sor).
Ha több munkalapodon is van hasonlóra szükség, akkor a névadást és a formázást minden lapon el kell végezned, a makrót viszont akkor a Thisworkbook kódlapjára kell beírni a következő két sor közé:
Alt+F11 - VBA projectet kibontod, ott a Thisworkbook -ra dupla katt - bal oldali lenyílóból Workbook - jobb oldali lenyílóból SheetSelectionChange, megjelenik az alábbi két sor.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)End Sub
A makró és a megelőző munkád eredménye:
A hivatkozásra kattintva a megfelelő tábla átszíneződik a feltételes formázásnak megfelelően (ezért egy színűre, de akár különböző színűre is formázhatod a táblákat), ha a táblán belül kattint, vagy másik cellára lép, marad a formázás. Ha másik táblára kattint, akkor a másik tábla formázódik át, az előző formázása megszűnik. Ha táblán kívülre kattint, akkor megszűnik a formázás. Értelemszerűen akkor is megszűnik a formázás, ha visszaugrik a hivatkozás oszlopokra.Ezután nincs más hátra, mint makróbarát munkafüzetként elmenteni az egészet - kipróbálni és remélhetőleg örülni.
Remélem, sikerül megoldani. Ha bármi gondod lenne, csak írj lsz.
Üdv.
-
EmberXY
veterán
Igazából arról lenne szó, hogy egy adott munkalapon van nagyon sok különálló táblázat, egymás mellett és alatt elrendezve (ez tulajdonképpen egy gép használati napló, ami azt rögzíti, hogy egy bizonyos gépet mikor ki használt, minden gépnek van egy külön táblázata, ami szükség esetén szűrhető dátum, brigád, név szerint).
A lap első oszlopaiban kategóriánként fel vannak sorolva a gépek, gyári számmal, egyéb adatokkal, és mindegyik géphez tartozik egy hivatkozás, ami az ő saját táblázatának fejlécére ugrik, legyen az bárhol a lapon, és minden táblázat fejlécén van egy vissza link is, ami a lap legelejére (bal felső sarkára) visszavisz.A nehézségek ott kezdődnek, hogy bár a hivatkozás hiába visz jó helyre, a sok táblázat közül nem mindig egyértelmű, hogy melyik is kell éppen, mivel sokszor teljesen random, hogy éppen hogy áll a lap, valahol ki van jelölve a kívánt cella, de mindig máshol, középen, szélen, vagy éppen legalul vagy legfelül, ezért szerettem volna, ha legalább más szín kitöltést kaphatna a hivatkozott cella, így rögtôn kitűnne, hogy melyikről is van szó.
Egy másik nehézség, hogy ahogy egy táblázat egyre inkább bővül, és új adatot kell felvenni, egyre többet kell legörgetni a fejlécről, miután a hivatkozás célbaért.
Elég érdekes megvalósítás, az biztos, de fontos, hogy egy munkalapon belül legyen megoldva ez a terület, mivel az egész excel tábla egy összetett nyilvántartás, minden lapon más-más fajta adatok, kimutatások vannak.
Próbáltam egy "ömlesztett" táblázattal megoldani, ami szűrhető lett volna minden adat szerint, de annál minden új adat felvételekor újra fel kellene vinni a gép nevet, gyári számot, stb, ugyanazon gép többszöri használatakor ugyanúgy ismételten el kéne menteni az alapadatokat is, hogy szűrni lehessen.
Szerintem már én is belekavarodtam, de remélem, hogy érthetően írtam le, hogy mi a gondom.Ha már mindenáron makró kell, mennyire bonyolult ezt összehozni, érdemes egyáltalán, vagy elvetélt ötlettel próbálkozom?
Ha van ötlete valakinek, azt előre is köszönöm. -
EmberXY
veterán
Sziasztok!
Olyan kérdésem lenne, hogy az megoldható-e makró nélkül, hogy amikor egy hivatkozásra kattintva eljutok a hivatkozott cellára, az valamilyen módon megkülönböztetett formázást kapjon, de csak addig, amíg el nem lépek róla? És ez "globálisan" értendő, vagyis minden hivatkozásnál ugyanezt kéne csinálnia... (2007-es Excel)
Ha van ötlet, azt köszönöm előre is. -
mormota
senior tag
egy kis segítségre lenne szükségem feltételes formázás történetben
adott csoportosított felsorolás, hozzá kapcsolódóan értékelési oszlopokkal, x-et kell tenni az adott számérték oszlopába.
azt szeretném, hogy ha az x az első két oszlopban van, akkor az adott sor piros, ha a 2. kettőben sárga, ha az utolsó 3-ban akkor zöld legyen.
a képletet nem tudom összerakni:S
-
Fferi50
Topikgazda
Szia!
Próbáld a következőt meg:
Nyitva van a forrás és a cél munkafüzeted is
A diagramot átmásolod a forrás munkafüzetből a cél munkafüzetbe - így persze a hivatkozások a forrás munkafüzetre fognak mutatni, de a cél munkafüzetben:
Kapcsolatok menü - hivatkozások - kiválasztod a forrásra hivatkozást (lehet, hogy csak az az egy van)- váltás - utána kiválasztod a megjelent fájllistából a cél munkafüzetet, enter.
A hivatkozás átváltódik a cél munkafüzetre.
Erről meggyőződhetsz, ha kiválasztasz egy sorozatot és az állapotsoron nézed a képletét - a váltás nyugtázása után csinálj egy frissítést, ekkor látni fogod, hogy eltűnt a forrás munkafüzet a hivatkozásból.Üdv.
-
Jazz
veterán
Sajna nem jó. Ha átmásolom munkalapostól az rendben van hogy most már a cél excelen belül lesz, de továbbra is arra a munkalapra fog hivatkozni ahova áthelyeztem.
Innen nekem még át kéne helyezni az eredetileg szánt munkalapra. Mivel ott van a környezet ahova bekéne építeni.És ott vagyok ahol a part szakad. Ugyan úgy máshova fog hivatkozik. Csak annyi változik hogy már nem egy másik file-ra, hanem már az adott file-on belül de egy másik munkalapra.
(És nem lehet azt játszani hogy akkor legyen a diagram fix, és köré építek mindent, mivel ahova szeretném másolni ott ugyan úgy vannak diagramok/adatok csak sokkal több) -
lappy
őstag
válasz
mindanee #32604 üzenetére
Organizational Chart Template
ezek között találhatsz neked megfelelőt -
Jazz
veterán
Sziasztok,
hogyan lehet úgy diagramot másolni egyik excelből a másikba, hogy az érték és adattartomány is átkerüljön, és NE a forrás excel adatira hivatkozzon? (Hanem a cél helyere másolt/excelben lévő cellák ugyan azon pozícióira.)
(Office 2010 professional plus. Excel verzió: 14.0.7172.5000)Köszi!
-
mindanee
tag
Sziasztok!
Arra van ötletetek, hogy excelben hogyan lehetne organization chart-ot heggeszteni?
Három oszlopom van:
1 - Munkavállaló neve
2 - Munkavállaló felettese
3 - Munkvállaló részlege (tehát ebben a szervezeti egységben dolgozik)Elméletben ebből már össze lehetne rakni, de sajnos nem tudom hol kezdjek neki
Ha tudnátok adni egy iránymutatást azt nagyon megköszönném
Üdv,
Dani -
Bazs-
tag
Sziasztok,
Neten találtam ezt a makrót, ami egy munkalapról eltávolítja az összes képletet.:
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
NextEnd Sub
Hogy kellene átalakítani, hogy ne csak egy munkalapról, hanem az összesről eltávolítsa a képleteket ?
Köszönöm előre is
-
Abry
tag
Sziasztok!
Lenne egy kérdésem: van egy excel fájlom, ami egy másik fájlból veszi (frissíti) az adatokat, amivel össze van kapcsolva (ehhez annyira nem értek).
Az elvárás az lenne, hogy írásvédetté tegyük a táblát, de ha írásvédett akkor nem engedi befrissíteni.
Találtam egy macro-t neten, amivel áthidalható a probléma (elméletileg), de mégse működik.
Az elv az lenne, hogy unprotect-eli -> frissít -> protect, viszont amikor lefuttatom, akkor azt írja, hogy az írásvédelem miatt nem megvalósítható a módosítás (frissítés).
Tudnátok ebben segíteni?
A kód:
Sub Refresh ()
ActiveSheet.Unprotect
ActiveWorkbook.Connections("Forras_tabla").Refresh
ActiveSheet.Protect
End Sub
Új hozzászólás Aktív témák
Hirdetés
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Eladó Steam kulcsok kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Samsung Galaxy Watch 5 /12 Hó Garanciával
- ÁRGARANCIA! Épített KomPhone Intel i9 14900KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Iphone 16E 128GB Fekete Bontatlan 24 Hónap Garancia
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged