- Mikrofon topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- LG C4 tévé, a népszerű OLED-sorozat legfrissebb tagja
- Notebook hibák
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- E-book olvasók
- Galax GeForce RTX kártyák jönnek a szűkösebb házakba
- Milyen billentyűzetet vegyek?
- SSD kibeszélő
Hirdetés
-
Leszavazta az ötleteket az Amazon, de jöhet az AI-alapú, havi díjas Alexa
it A befektetők a cég kérésére minden fontos és jelentősnek tűnő javaslatot elutasítottak. Jöhet azonban a havi díjas, AI-alapú Alexa.
-
Platina plakettes Gigabyte tápok fekete-fehérben
ph A cég évtizedes jótállással szállított, ATX 3.0-s termékcsaládja kétféle színben és teljesítménnyel készül.
-
Touroll J1 - amikor az átlagos is elég
ma A megszokott konstrukciót, vagyis pedálszenzort és hátsó agymotort kínál a Touroll, nincs benne semmi rendkívüli, de kedvező az árfekvése.
-
PROHARDVER!
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
-
bozsozso
őstag
válasz Fferi50 #46050 üzenetére
Ide felraktam egy minta táblát.
Ami lényeges lenne, hogy az "Alap" a legbővebb tábla abban minden cikk szerepel(több ezer). A többin csak akciós árak(ez szerintem max.200-300 cikk). A tartalmuk lényegtelen az oszlopok annál inkább.Amit szeretnék:
Cikk kódokhoz amivel egyértelműen azonosítható a cikk, minden munkalap "A" oszlopa.A cikk kódok mellé szeretném tenni a nevét illetve az 5 munkalapról az árakat illetve akciós időszakokat illetve a megjegyzés tartalmát. Bár azt még nem tudom, hogy a kimutatásban hogyan különböztessem meg a különböző munkalapokról kapott árat, de valószínűleg ott felveszek még egy oszlopot ami majd azonosítja.
Az árak a következő oszlopokban vannak: Ár, brutto illetve brutto ár
Akciós időszakok:dátum1,dátum2 illetve akció kezdete, akció vége
Az alap és a saját akció az fix tábla a többi alakítható ezekhez, de ha szükséges akkor azon is változtatok. -
RAiN91
őstag
Sziasztok
Adott egy excel tábla, ami másodpercenként többször is kapja az adatokat külső adatforrásból. Olyat szeretnék, hogy ha egy adott cella értéke változzon, akkor történjen valami. Régebben nagynehezen valami nagyon egyszerű megoldással sikerült megcsinálni, most viszont sehogy sem jövök rá. Neten ezeket találtam, anno ezekkel próbálkoztam, de akkor sem lett jó, viszont fogalmam sincs, mivel lett jó.. De tudom, hogy valami hasonlóan egyszerű megoldással mint az alábbiak:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
'csináljon valamit
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
'csináljon valamit
End If
End Sub
Ezzel a két módszerrel próbáltam, valamint még az eseménykezelést ki és bekapcsoltam a végén, de úgy sem ok. Ha kézzel változtatom a cella értékét, akkor jó, viszont ha külső adatforrásból változik akkor nem.
[ Szerkesztve ]
-
Fferi50
őstag
válasz RAiN91 #46052 üzenetére
Szia!
Mindenképpen eseménykezelés kell. Viszont a másodpercenként többszöri frissülés miatt elképzelhető, hogy egymásba fordul az eseménykezelés.
Amíg az esemény kezelése folyik, addig le kell tiltani az eseménykezelést az Application.EnableEvents = False
utasítással, a végén pedig engedélyezni.
Ezzel együtt izgalmas kérdés, hogy lefuthat-e a "csinálnjon valamit" programrész addigra, mire bekövetkezik az újabb esemény.
Üdv. -
RAiN91
őstag
válasz Fferi50 #46053 üzenetére
Én szerintem hasonló egyszerű módon sikerült múltkor megoldanom, max valami nagyon apró dolgot írhattam még át benne. Ha változtatom kézzel a cella értékét, akkor jó, ha a gép módosítja, akkor nem. Ha képletet rakok bele és külső cellából változtatom, akkor sem jó, mert a tartalma nem változik, lehet erre kell vissza vezetni? Tehát azt figyeltetni vele, hogy az értéke változik, nem a tartalma? Azt hogyan lehetne beállítani?
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$K$4" Then
MsgBox ("sdas")
End If
Application.EnableEvents = True
End Sub
Plusz 1 technikai kérdés: mikor kísérletezgetek VBA-n, az épp fut, nyílván ha belenyúlok, leáll. De utána hiába megyek rá a Run gombra, vagy a Pause majd Run gombra, nem történik semmi, csak ha újraindítom az excelt.
[ Szerkesztve ]
-
czsolt
friss újonc
Sziasztok,
Szeretnék egyszerűsíteni a leltározás folyamatán a cégnél. Adott egy ecxel tábla ami a lentebbi adatokat tartalmazza (sajnos egy cellában van a három adat):
Beolvasom vonalkód olvasóval a vonalkódokat és a következő excel táblát kapom:
Szeretném azt elérni, hogy összehasonlítom a két oszlopot és az egyező vonalkód találatokat jelölje színnel. Van erre valamilyen makrós megoldás? -
Fferi50
őstag
válasz czsolt #46057 üzenetére
Szia!
Feltételes formázás is megfelelhet, ha egy munkalapon vannak a beolvasott adatok és a leltár adatok.
1. Ha az a helyzet, hogy a vonalkód és a leltári érték egy sorban van:
A feltételes formázás - a formázandó cellák kijelölése képlettel - a képlet:
=Hossz($K2)-Hossz(Helyette($K2;$A2;""))>0
2, Ha bárhol lehet az A oszlopban levő vonalkód a K oszlopban, akkor
a képlet:
=Darabteli($K:$K;"*"&$A2 & "*")>0
Mindkét képletet úgy kell bevinned, hogy a formázandó terület (jelen esetben a K oszlop) első cellája - itt a K2 cella - van kijelölve.
Utána a szabályok kezelése pontban kijelölöd a megfelelő területet a K oszlopban.
A 2. esetben csak azt fogod látni a K oszlopban, hogy a hozzá tartozó vonalkód megvan valahol az A oszlopban.
Más megoldás:
A K oszlopot az Adatok - Szövegbő oszlopok - móddal 3 oszlopba szétválasztod. A párbeszéd panelen kijelölöd, hogy tagolt - elválasztó jelnek bejelölöd pl. a leltári szám után levő karaktert (feltételezhetően sortörés, ezt ki kell másolnod és beilleszteni az Egyéb kockába.
Ezután már közvetlenül hasonlíthatod az A oszlop és az így létrejövő vonalkód oszlopot.
Üdv. -
Fferi50
őstag
válasz RAiN91 #46056 üzenetére
Szia!
Ha makró írja át az értékeket, akkor működnie kell az esemény vezérlésnek, kivéve, ha közben valahol máshol ki van kapcsolva esetleg.
A más munkalapról táplálkozó képlet miatti változás nem esemény a cél munkalapon.
A technikai kérdésedre:
Ha megállítod a makró futását, akkor az adott sor, ahol megáll, sárga színnel van jelölve. Innen lehet tovább folytatni a Run menü Continue (F5) pontjával. Ha nem látsz sárga sort, akkor nem folytatható a futás.
Amíg egy makró nem fut végig - tehát meg van szakítva a futása - , addig másik makró nem indítható. Lehetséges, hogy ezért nem indul el újra. Bár ekkor hibaüzenet szokott megjelenni.
Talán jó lenne a teljes programot látni, ha érzékeny adatok nélkül felteszed vagy priviben elküldöd, akkor nagyobb az esély rá, hogy tudunk segíteni.
Üdv. -
Delila_1
Topikgazda
válasz RAiN91 #46056 üzenetére
Fferi válaszához még annyit, hogy ha leállítod futás közben a makrót, nem jut el az
Application.EnableEvents = True
sorig, nem állítja vissza a makró futásának az engedélyezését. Ezért nem fut másodjára.
Ekkor a VBE-ben a Ctrl+g-re előjövő Inmediate ablakba bírhatod az engedélyező sort, Enterrel elfogadtatod, és újra indíthatod a makrót.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
RAiN91
őstag
válasz Fferi50 #46059 üzenetére
Nem tudom, hogy működik, de makró nincs benne. Egy programból nyitom meg az excelt, ami akár egy új üres excel is lehet, oda nyomja bizonyos cellákba az értékeket. Sajna megint elcsesztem pár órát, de nem jöttem rá arra az egyszerű megoldásra, amivel működött, úgyhogy így oldom meg, de ezt utálom, sokkal lassabb:
Csinálok egy For..Next ciklust, amivel kiíratom az adott cella értékét egy másik cellába, majd ha a kettő nem egyenlő (szintén a For...Next ciklusban ellenőriztetem), akkor jelezze nekem.
-
Fferi50
őstag
válasz czsolt #46062 üzenetére
Szia!
A második képlet is a feltételes formázásra vonatkozott!
Ha nem egy munkalapon van a két adat, akkor munkalapos hivatkozást kell alkalmaznod.
A K2 cellát jelölöd ki.
A feltételes formázás - a formázandó cellák kijelölése képlettel. A képlet pedig:=Darabteli($K:$K;"*"&$Munka1!A2 & "*")>0
A Munka1 helyére írod annak a munkalapnak a nevét, amibe a vonalkód van beolvasva.
Ezután formázás és kijelölöd a K oszlopot, ameddig adatok lehetnek benne.
Üdv. -
Fferi50
őstag
válasz RAiN91 #46061 üzenetére
Szia!
"Nem tudom, hogy működik, de makró nincs benne'"
Azért ez kicsit hihetetlen. Üres Excel "magától" nem csinál semmit.
Az eseménykezelésnek egyébként működnie kellene. A ciklus valóban lassú, pláne ha már sok adat van benne. De talán nem kellene mindig előlről kezdeni a vizsgálódást.
Tedd fel egy példával és megnézzük, mi lehet a gond.
(Vagy ha megvan a régiből egy példány és megosztható, az is jó lehet.)
Üdv.[ Szerkesztve ]
-
RAiN91
őstag
válasz Fferi50 #46065 üzenetére
Rendben, összeszedem nemsokára mikkel próbálkoztam és megosztom az excelt. Bár elsőre már azzal is előre lennék, ha egy cella, melyben egy képlet van, és változik az értéke, történjen valami.
Egy programon keresztül nyitom meg az excelt, ami egy saját üres excel, makró és minden nélkül. Nem értek hozzá, hogy hogyan kapja az adatot, de makró nincsen benne, hacsak nem megnyitáskor rakja bele, és rejti el.
-
őstag
Sziasztok!
Adott egy szűrt (slicerrel) kimutatástáblázat (pivot table) 5 oszloppal. Ehhez tartozik egy oszlop kimutatásdiagram. A táblázatban mintavételek eredményei találhatók és a második oszlopban van a mintavétel helye. Egy mintavételi helyhez több sor is tartozik.
A problémám az lenne, hogy sok mintavételi helynél átláthatatlan a diagram, mivel ugye egymás mellé beteszi az összes mérési helyet. (A4-es lapra ki kell férjen egy diagram)
Valahogy megoldható az, hogy minden egyes mintavételi helynek külön diagramot hozzon létre automatán?
Próbáltam neten keresni valami kiindulást VBA-ban, de még csak hasonlót sem találtam.
[ Szerkesztve ]
-
csferke
senior tag
Sziasztok!
Elakadtam egy feltételes formázásnál.
J oszlopban számok vannak és ezen számok függvényében szeretnék szöveget íratni az N oszlop azonos sorába.
a J oszlopban lehetséges számok 0, 1, 2 és 3
Az N oszlop azonos sorában kellene megjeleníteni szöveget e számok függvényében, ha
0 = pihenő
1 = állás
2 = munka
3 = vezetés
A J oszlopban vannak üres cellák is. Ezeket figyelmen kívül kellene hagyni.
Remélem sikerült érthetően megfogalmaznom, hogy mit szeretnék.köszi
-
Lasersailing
senior tag
Sziasztok,
excel VBA-ból szeretnék a felhasználó által kiválasztott file-t megnyitni. Elvileg sikerülne is, egy gondom van: Az egyik megnyitandó file azonban az alábbi két hibaüzenettel nyílik meg manuális megnyitáskor:
Szerintem e miatt nem tudom megnyitni makróból, az alábbi hibaüzetnetet kapom:
application.displayalerts = false nem segített. Mit lehet ezzel tenni?
(A forrásfile-ban meglévő hibát nem lehet javítani, mert aki a lekérdezést írta már nincs a cégnél)
Köszi előre is a segítséget!
-
Lasersailing
senior tag
-
-
Fferi50
őstag
válasz Lasersailing #46075 üzenetére
Szia!
Érdemes egy mentést csinálni a hibás fájlról.
Ezután kézzel megnyitni, elmenteni az Excel által javított fájlt és azt megpróbálni megnyitni.
Itt valószínűleg nem a lekérdezésben van a hiba, hanem a fájl szerkezet "rongálódott meg". Az eredeti alkotó sem tudná megjavítani.
Esetleg meg kellene búvárkodni egy korábbi mentését a fájlnak.
Üdv. -
őstag
Van egy táblázatom amiben ki szeretném cserélni az összes "^^" -t "=" -re.
Az alábbi makró le is fut, de csak a legelső oszlop első cellájában cseréli ki.Range("tabla1_tbl").Select
Selection.Replace What:="^^", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Makro rögzítéssel is ugyanezt rögzíti, de ott mindent kicserél.
Mi lehet a probléma?
-
Delila_1
Topikgazda
válasz Lasersailing #46081 üzenetére
Egy próbát megér.
Nyiss egy új füzetet. Az A1 cellába írd be: =megnyitandó_füzet!A1
Természetesen útvonallal és lapnévvel együtt írd be a hivatkozást.
Az A1 hivatkozását jobbra, és le is másold, ameddig kell.Megnyitott (hibás) fájlnál elég a füzet és lap neve.
A képen a szerkesztőlécen az új füzet A1 cellájának a képletét látod.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
csferke
senior tag
válasz Lasersailing #46076 üzenetére
Esetleg ha nem akarsz N/A-kat látni, akkor:
=IF(ISBLANK(J1),"",VLOOKUP(J1,$R$1:$S$4,2,0))
kösziFferi50-nek is, de az előző megoldást választottam
-
pecze
aktív tag
Sziasztok!
Megoldható az valahogy, hogy ha beírok egy cellába valamit és Enterezem, akkor az egy másik munkalapon is megjelenjen, illetve ha beírok valami mást ugyanoda, vagyis felülírom, akkor is, de úgy, hogy ne írja felül az első beírt elemet, hanem mindig egy új sorba vegye fel ha új elem érkezik. -
lappy
őstag
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
a = Sheets("Munka2").Cells(Rows.Count, "A").End(xlUp).Row + 1
ActiveCell.Offset(-1, 0).Activate
Sheets("Munka2").Range("A" & a).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
End If
End Sub
A Range("B:B") nél most a teljes B oszlop van amit néz, ezt majd változtasd meg[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
mdk01
addikt
Sziasztok,
Próbálnám csökkkenten a 31Mb-os fájlméretemet aminek a mérete úgy gondolom nem indokolt és shift+ctrl+nyíl megoldásokkal töröltem("Összes törlés") mindent, mindegyik lapról, de nem csökkent semmit...sőt nőt 4Mb-tal.
Ellenőriztem ctrl+end kombinációval is a formázott cellákat, oszlopokat és egyetlen munkafüzetnél bármit csinálok még mindig a 1046xxx sorhoz ugrik. Oszlopt szerint jó, csak a sorban ugrik a legvégére.
Mi lehet még ott amiért leugrik a végére?Olvastam, hogy *.xlsb formátumba is érdemes lementeni, , mert jobban tömörít. Kipróbálva most 4,5Mb lett a fájl méret.
Milyen hátrányokkal jár ez az *.xlsb formátum?Formátumtól független én rendbe raknám azt a munkafüzetet ahol végére ugrik ctrl+end kombinációval, mert nem normális dolog.
Köszönöm -
chigisch
újonc
Sziasztok!
Segítséget kérnék, mert nagyon elakadtam!
A táblázat C oszlopában különböző cikkszámú áruk lehetnek, amelyeknek más-más az anyagszükségletük (a 2. sorban szereplő cikkszámok szerint).
pl. ha a C4 cellába a 3398.006.836 cikkszámú készterméket írom be, akkor az E4,H4,N4,K4,Q4,Z4,W4,T4,BJ4 cellákban kell, hogy érték szerepeljen.
A kérdésem az lenne, ezt milyen függvénnyel tudom megoldani, ha van összesen 7 késztermék cikkszámom, természetesen más-más alapanyag szükséglettel???
Köszönöm szépen! -
Lasersailing
senior tag
Szia,
Én épp most futottam bele hasonlóba: 9.5 Mb-ból tudtam 1.1 Mb-ot csinálni:
CTRL+END-del lementem a legutolsó sorra --> CTRL+Balra --> CTRL + SHIFT + Fel --> SHIFT +LE --> SHIFT + SPACE --> jobb klikk delete, majd mentés.Magyarán kitörlöm a látszólag üres, nem használt sorokat. Ezekben lehetnek pl. formázások, amik növelik a file méretét
(Értelemszerűen a fenti csak akkor szabad csinálni, ha így nem törölsz ki nem üres sort, nálam az A oszlopban is biztosan van adat, ha másik oszlopban van).
-
Fferi50
őstag
Szia!
Az előző hozzászóló megoldása mellett javaslom nézd át a képleteidet és az egész oszlopra (A:A stb.) hivatkozókat cseréld ki konkrét tartományokra, amelyek még lefedik az igényeidet (Pl. A2:A50000).
Ha maradnak a teljes oszlop hivatkozások, hamarosan ismét hasonló problémával szembesülhetsz.
Természetesen az egész sorokra is ez vonatkozik (bár az ritkábban fordul elő).
Üdv.[ Szerkesztve ]
-
chigisch
újonc
Köszönöm szépen!
-
mdk01
addikt
válasz Lasersailing #46093 üzenetére
Köszi, lényegében én is töröltem mindent, mert az "összes törlés" tudtommal a formázástól elkezdve mindent töröl.
-
ny.erno
tag
Sziasztok!
Adatbázist építek és több fájlból dolgozom jelenleg. Az alábbi kérdések merültek fel:
1 - Hogyan tudom azt megoldani, hogy "Munkafüzet1"-ben a Munka 2 lap értékei átkerüljenek a Munka 1 lapra úgy, hogy a megfelelő weboldalhoz kerüljenek a hozzá tartozó e-mail címek?
2 - Hogyan lehetséges az így létrejött excelfájlból áthúzni az adatokat a Main_database fájl megfelelő helyeire úgy, hogy a forrás exceleket, amikből behúzzuk az adatokat, azokat utána törölni lehessen?
Táblák (a text fájl ugyan az, mint a Munkafüzet 1 második munkalapja). -
Fferi50
őstag
válasz ny.erno #46099 üzenetére
Szia!
1. Ehhez kellenének egyértelmű megfeleltethetőségek a két munkalap között. Jelenleg pl. a handyshop.cc -hez 15 e-mail cím tartozik. Honnan fogod tudni, melyiket kell átvinni hozzá?
2. Az Excel fájlból lehet lekérdezést készíteni, de ehhez arra van szükség, hogy tudd, melyik fejlécnek melyik fejléc felel meg a két fájlban. Más szóval, melyik oszlop tartalmazza a Munkafüzet1-ben azokat az adatokat, amelyeket a Main_database fájl Cégnév oszlopába szeretnél beolvasni és így tovább.
A lekérdezést utána át lehet alakítani értékké a kapcsolat megszüntetésével. Ezután már törölhető a "munka" fájlod.
Üdv.
Ps. (Nem) mellesleg adatbázist miért Excelben építesz és nem adatbázis kezelőben (pl. Accesben). Sokkal egyszerűbb és kevesebb hibával jár, továbbá oda is "be lehet húzni" az Excelben meglevő adataidat. Persze a megfeleltetések ott is szükségesek.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Mikrofon topic
- Diablo IV
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- exHWSW - Értünk mindenhez IS
- Okos Otthon / Smart Home
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Samsung Galaxy S23 Ultra - non plus ultra
- Touroll J1 - amikor az átlagos is elég
- Mobil flották
- LG C4 tévé, a népszerű OLED-sorozat legfrissebb tagja
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Alpha Laptopszerviz Kft.
Város: Pécs