- Apple iPhone 16 Pro - rutinvizsga
- India felől közelít egy 7550 mAh-s Redmi
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Honor 400 Pro - gép a képben
- Milyen okostelefont vegyek?
- Telekom mobilszolgáltatások
- Xiaomi 15 - kicsi telefon nagy energiával
- Sony Xperia 1 V - kizárólag igényeseknek
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
Mobilarena
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
-
Pakliman
tag
válasz
Fferi50 #42294 üzenetére
Céges gépek, egyformák, tulajdonképpen klónok.
A területi beállításokat a pont-pont-vesszőcskéig összehasonlítottam, egyeznek.
Az én gépemen a mai napig működik (évekkel ezelőtt megírt programok, sokan használják), soha nem volt vele gond. Most 3-4 emberke jelezte, hogy már nem úgy műxik, ahogy kellene.
Milyen munkalapfüggvényre gondolsz? -
3DFan
aktív tag
válasz
Fferi50 #42001 üzenetére
Szia!
A feltételes formázás akkor működik, ha a képlet igaz, de ennek a képletnek a kimenete hamis ( =ÉS(SOR(A1)=$N$2;OSZLOP(A1)=$O$2) ), mégis helyesen formáz. Miért?
Írtam elé egy "NEM"-et, hogy a kimenet igaz legyen, erre az egész területet formázta az eredmény kivételével.A @ használatos helyettesítő karakterként?
-
-
válasz
Fferi50 #42212 üzenetére
Ha szűrt táblában a ListColumns(1).DataBodyRange.Copy parancsot kiadom akkor minden esetben csak a szűrt eredményt másolja?
Mert, ha a szűrés nem hoz eredményt (azaz csak fejléc van),és akkor adom ki DataBodyRange.Delete parancsot és a szűrés által rejtett részt is kitörli, azaz mindent. (rá kell szűrnöm bizonyos értékekre, amik nem kellenek a táblázatba és így törlöm ki, de nem mindig szerepel a táblában.)
Nem teljesen értem miért van ez.
Ha pedig meg akarom adni a látható cellákat akkor nem működik a databodyrange-es hivatkozás, csak a range ?!
-
Delila_1
veterán
válasz
Fferi50 #42205 üzenetére
Egy keveset módosítottam, mert X-et tett oda is, ahova nem kellett volna, no meg a kérdezőnek .png képei vannak.
For Each Pic In Pics
Pic.Offset(0, -1).Select
On Error Resume Next
ActiveSheet.Shapes.AddPicture Filename:=Path & Pic.Value & ".png", linktofile:=msoFalse, saveWithdocument:=msoTrue, Left:=Pic.Offset(0, -1).Left + 5, Top:=Pic.Top, Width:=50, Height:=60
If Pic.Value = "" Or Err <> 0 Then
Pic.Offset(0, -1).Value = "X"
Pic.Offset(0, -1).Font.ColorIndex = 3
On Error GoTo 0
Else
Pic.RowHeight = 60
End If
Next
-
bucihost
senior tag
-
válasz
Fferi50 #42186 üzenetére
Köszönöm, ezt ismerem ( Te mutattad nemrég
). A probléma csak az, hogy nem szeretném 82 oszlop nevét beírni, főleg hogy max 30 érték lehet az Union-ban.
Ezért keresek olyan megoldást, hogy megnevezek két oszlopot és az elsőtől az utolsóig jelölje ki.
Már, ha egyáltalán ez megoldható?!
-
válasz
Fferi50 #42180 üzenetére
Így már értem és működik is, köszönöm!
Már csak azt kellene megoldani, hogy a munkalapok neve mellé azokat a táblákat tegye, amik az adott munkalapon vannak.
Erre nem jövök rá, mert a táblákból bármit ki bírok íratni a táblanév mellé, de a munkalap mellé az azt tartalmazó táblákat nem
-
csferke
senior tag
válasz
Fferi50 #42126 üzenetére
Szia!
Igen, a cégnév - összeg kötött/párban lévő adat.
Ha a Pivot-ban a cégnév van rendezve akkor így néz ki a diagram. Jól áttekinthető.Ha viszont a Pivot-ban az összeget rendezem, akkor ilyen a diagram. Eléggé áttekinthetetlen/kusza.
Azt szeretném, hogy az áttekinthetőség miatt a Pivot-ban az összeg legyen csökkenő sorrendben de a diagram a cégek szerint legyen abc sorrendben, mint az első képen.
Sajnos van egy olyan sanda gyanúm, hogy két Pivot táblát kell létrehoznom, mint ahogyan (#41217) sztanozs írta
-
-
válasz
Fferi50 #42096 üzenetére
Köszönöm, így tökéletes a kijelölés.
A másolást azonban nem hajtja végre csak akkor, ha ezt írom:
celtabla.Range(2, 1).PasteSpecial xlPasteValues
Így azonban mindig legfelülről kezdi sajnos.
Az általad írt kódra kiáll ezzel a hibával:
Amennyiben üres még a tábla:
Run-time error '91': Object variable or With block variable not setAmennyiben már van a táblában egy "adag" másolva:
Run-time error '438' Object doesn't support this property or methodMit rontok el?
"Természetesen a sok tábla másolását csinálhatod ciklussal és akkor a forrás tábla neve helyett az indexét használhatod."
Ezt pedig nem is igazán értem -
Peterhappy
őstag
válasz
Fferi50 #42090 üzenetére
Hát ez zseniális
Egy kicsit most örülök, hogy ezek szerint nem én vagyok iszonyatosan láma, hanem az office 2016
Ennyit az egész nem ér, túl fogom élni, ha nem tudok havi összegzést csinálni, már így is nagyon-nagyon jól néz ki a dolog, ne fáradj, ne fáradtjatok vele többet! És köszönöm, le a kalappal előttetek, nagyon sokat segítettetek + hozzám vaskos mennyiségű türelem kell, szóval tényleg nagyon köszönöm mindannyiótoknak
-
Peterhappy
őstag
válasz
Fferi50 #42064 üzenetére
Szia Feri!
Köszönöm szépen a segítséget, ez egy nagyon szép megoldás és tök jól is sikerült
Viszont egy dolgot még mindig nem értekVégre van számformátum gombom is, de hiába állítok ott be bármit is, nincs ráhatással az értékre. Dátum a forrás formátuma (általános-ra állítva nem is látszott a gomb).
"Más: Nem értem, ha a dátum oszlopodnak Dátumérték a mezőneve, akkor a kimutatásodban miért nem az az oszlop van benne?"
Utólag, direkt a print screen miatt neveztem át őket, hogy érthetőbb legyen, hol és mit csináltam. -
karlkani
aktív tag
válasz
Fferi50 #42072 üzenetére
Szia!
Értem.
Jól sejted, van egy másik lap, onnan nézi a dátumokat.(#42073) ny.janos
Feltételes formázásnál ez a képlet szerepel:=DARABTELI(Ünnepnapok;$C1)>0
(#42076) Delila_1
Ezzel a képlettel működik:=HA(DARABTELI(Ünnepnapok;C2251)>0;DARABTELI(Ünnepnapok;C2251);"")
Annak idején segítettél nekem létrehozni ezt a makrót:
Function Orak(tartomany As Range)
Dim CV As Range, osszeg As Double, WSD As Worksheet, WF As WorksheetFunction
Set WSD = Sheets("Dátum")
Set WF = Application.WorksheetFunction
For Each CV In tartomany
If Not IsNumeric(CV) Or CV = "" Then GoTo Tovabb
If WF.CountIf(WSD.Columns(4), Cells(CV.Row, "C")) = 0 And _
WF.CountIf(WSD.Columns(6), Cells(CV.Row, "C")) = 0 And _
WF.Weekday(Cells(CV.Row, "C"), 2) < 6 Or _
WF.CountIf(WSD.Columns(2), Cells(CV.Row, "C")) > 0 Then osszeg = osszeg + CV
Tovabb:
Next
Orak = osszeg
End Function
Már többször előfordult, hogy a füzet megnyitásakor az összes olyan cella értéke, ami ezt a makrót használja összegzésre 0-ra módosult. Csak úgy tudtam újraszámoltatni, hogy a cellára álltam, szerkesztőléc, Enter (sok cellánál ez elég macerás), vagy átneveztem a fájlt, vagy töröltem a fájlra vonatkozó bejegyzést a regisztrációs adatbázisból az alábbi helyen.
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Security\Trusted Documents\TrustRecords
Ötlet?
-
karlkani
aktív tag
válasz
Fferi50 #42066 üzenetére
Szia!
Public Function CountColor(pRange1 As Range, pRange2 As Range) As Double
Application.Volatile
Dim rng As Range
For Each rng In pRange1
If rng.Font.Color = pRange2.Font.Color Then
CountColor = CountColor + 1
End If
Next
End Function
Ezt kellene módosítani (ha lehet egyáltalán...), hogy működjön feltételes formázással módosított betűszín estén.
-
Peterhappy
őstag
válasz
Fferi50 #42057 üzenetére
Szia!
Én nem a forrás mezőt, hanem az összefűzés eredményét próbáltam a szomszéd cellába átmásolni - ez utóbbit formázta is, míg a forrás mező átalakításánál #érték hibát jelenített meg..
Így néz ki a riport - soha ilyen rettenetes riportot nem láttam még.
Az összefűzés képlete:
=ÖSSZEFŰZ(KÖZÉP(G2;SZÖVEG.KERES("/";G2;4)+1;4);". ";HA(HOSSZ(BAL(G2;SZÖVEG.KERES("/";G2)-1))=2;"";0);BAL(G2;SZÖVEG.KERES("/";G2)-1);". ";HA(HOSSZ(KÖZÉP(G2;SZÖVEG.KERES("/";G2)+1;(SZÖVEG.KERES("/";G2;4)-1)-(SZÖVEG.KERES("/";G2))))=2;"";0);KÖZÉP(G2;SZÖVEG.KERES("/";G2)+1;(SZÖVEG.KERES("/";G2;4)-1)-(SZÖVEG.KERES("/";G2)));".")Nem szép, de elvileg működik
És ebből dátumot is tud csinálni a dátumérték - más kérdés, hogy nem tudom használni.
Neked is köszönöm a segítséget, tök jó hogy ilyen türelmesek vagytok, ez nekem már nagyon magasröptű
-
Peterhappy
őstag
-
dav<3
tag
-
dav<3
tag
válasz
Fferi50 #42031 üzenetére
Hali!
Kipróbáltam a dolgot. Elsőre azt mondanám, hogy működik, azonban mégsem. Az első hiba, hogy hiába van nekem megadva egy alapár az L2 cellában, mégis a te 100-addal számol alapárat. Továbbá olyan problémám is van, hogy a konkrét opciós lista az 26x3x3, tehát összesen 234 árnak kellene kijönnie. Azonban a makrót lefuttatva 17.517 db jön ki.
Nagyon szépen köszönöm az eddigi munkádat is, ha pedig remélhetőleg nem túl nagy munkával még ki tudnád javítani, abban az esetben nagyon hálás lennék!
Üdv.
Dávid -
bucihost
senior tag
válasz
Fferi50 #42013 üzenetére
Az a baj, túl összetett a képlet.
Egy bérkalkulátor táblázatról van szó.
3 műszakos munkarend van, az alábbi adatokból számol a táblázat.
- melyik műszak (műszakonként eltérő pótlék)
- van e túlóra, ha igen mennyi. (Első 2 órára x% jár, minden további órára y%)
- hétvége vagy sem (erre szintén külön pótlék van)
Minden automatán van számolva
Műszakszorzó beillesztése: (ez még meg oldható FKERES-sel, általad leírt módon)=HAHIBA(HAELSŐIGAZ(G4=1;1;G4=2;1,5;G4=3;1,5);)
Túlóra díj kiszámítása:=HAHIBA(HAELSŐIGAZ(G4=1;HA(F4>2;2*$G$1*1,5+(F4-2)*$G$1*1,75;F4*$G$1*1,5);G4=2;HA(F4>2;2*$G$1*2+(F4-2)*$G$1*2,25;F4*$G$1*2);G4=3;HA(F4>2;2*$G$1*2+(F4-2)*$G$1*2,25;F4*$G$1*2));)
és ugye itt bonyolódik a helyzet, mert ennek a képletnek figyelembe kell vennie minden kritériumot -
karlkani
aktív tag
válasz
Fferi50 #42001 üzenetére
Nála ez a helyes képlet:
=ÉS(SOR(A1)=$N$2;OSZLOP(A1)=$O$2)
(#42002) Delila_1
A B2 : K11 területre nem jó a képleted, mert ilyenkor az összes találatot kiszínezi, ezt akarja elkerülni.[ Módosította: Intruder2k5 ]
-
m.zmrzlina
senior tag
válasz
Fferi50 #41916 üzenetére
Köszönöm a kimerítő választ. Én magam is azon elvek mentén szoktam szervezni a kódjaimat amiket leírtál. A kérdés egy beszélgetés során vetődött fel és nem tudtam, hogy van-e valami kötelezőség ezzel kapcsolatban. Ugyanis C/C++-ban van ilyen (tudom az egy másik kávéház) sőt vannak egyetemi/főiskolai oktatók akik buktatnak inicializálatlan változók használata miatt.
-
csferke
senior tag
válasz
Fferi50 #41867 üzenetére
Ps. Mert az nem világos, hogy látni szeretnéd vagy elhagyni a vezető 0-t.
Sajnos látható kell, hogy legyen a vezető nulla. Ez a számsor, cégeknek bizonyos azonosító jele és a nulla nélkül nem jó. Nekem nem is kellene de kitalálták, hogy a kimenő számlákon fel kell tüntetni.
A Paste Special/Text bemásolja a vezető nullával csak ugye reklamál az Excel (kis zöld háromszög a mező sarkában), hogy téves bevitel szám -> szövegként. Ezt viszont nem szeretném kikapcsolni a beállításokban mert sokszor jól jön.
Sebaj, ezt a kis szépséghibát elviselem.Köszi, hogy foglalkoztál a témával.
-
-
Capella
senior tag
válasz
Fferi50 #41828 üzenetére
Még annyit a dologhoz, hogy ha egy olyan a cellára állunk, amelyben tizedespontot tartalmazó szám van, majd egy Entert nyomunk, akkor a 10 annyiadik hatványával szorzott számot ad vissza a magyar Excel, ahány számjegy eredetileg az angol tizedespont után volt.
Ugyanezt csinálta az eredeti makró is, még mielőtt a pont helyett a vesszőt becserélte volna. Így utólag mondva.Jó, hogy megtaláltad ezt a trükkös pont-pont csere megoldást, mert őszintén szólva a segédoszlopos makró helyett inkább maradtam volna a hagyományos menüből történő cserénél. Talán úgy egyszerűbb lett volna.
-
Traxx
őstag
válasz
Fferi50 #41823 üzenetére
Igazad van, a kód valóban lemaradt:
.Cells(usor, "D") = M1 * 1
.Cells(usor, "E") = M2
.Cells(usor, "F") = M3
.Cells(usor, "G") = M4 * 1
.Cells(usor, "H") = M12 * 1
If M13 > "" Then .Cells(usor, "I") = M13 * 1 Else .Cells(usor, "I") = 0
If M5 > "" Then .Cells(usor, "G") = .Cells(usor, "G") + M5 * 1
.Cells(usor, "P") = M15 * 1
.Cells(usor, "Q") = M24
.Cells(usor, "R") = M25
.Cells(usor, "J") = M13 / M12 * 100
.Cells(usor, "K") = "=SUMIF($F$2:$F$15000,F" & usor & ",$I$2:$I$15000)*100/SUMIF($F$2:$F$15000,F" & usor & ",$H$2:$H$15000)"
.Cells(usor, "L") = "=SUMPRODUCT((R2C6:R15000C6=RC[-6])*(R2C3:R15000C3=RC[-9])*(R2C10:R15000C10))/COUNTIF(R2C13:R15000C13,RC[-9] & "" "" & RC[-6])"
.Cells(usor, "M") = .Cells(usor, "C") & " " & Cells(usor, "F")
.Cells(usor, "N") = "=SUMIF($D$2:$D$15000,$D" & usor & ",$H$2:$H$15000)"
.Cells(usor, "O") = "=SUMIF($D$2:$D$15000,$D" & usor & ",$I$2:$I$15000)"
.Range("J" & usor & ":O" & usor).Copy
.Range("J" & usor).PasteSpecial xlPasteValues
Application.CutCopyMode = FalseEz a rész felel a mezők kitöltéséért, Az M változók a userform értékcellái. A zéróosztós oszlop a táblázatban az L.
Ez egy selejt %-ot számoló rész, az L oszlopban az jelenik meg, hogy a termék össz selejt %-ához képest az adott ember hogyan teljesít
-
bucihost
senior tag
válasz
Fferi50 #41792 üzenetére
Köszi a segítséget.
Igen, a baj egyébként nem kicsi, viszont egyenlőre nem látok rá más megoldást....
A gond az, hogy van egy nagyker valamint egy kisker program (persze nem képesek együttműködni.... miért is lennének képesek...)Szóval ha kíváncsi vagyok rá, hogy adott termékekből mennyi van készleten a nagykerben valamint a boltokban is egyaránt, akkor az így néz ki:
1. lekérem a nagyker aktuális készletet az adott termékekre
2. lekérem pár boltnak aktuális készletét külön külön (itt nem tudok egyszerre több termékre lekérni, vagy 1 termék vagy teljes raktárkészlet.... miért is tudnék...)
3. a fenti függvénnyel össze fésülöm az adatokat.Probléma:
1. Így van 20db, egyenként 1-4 MB-os 24.xxx soros excel file, amikből a függvénnyel ki kell nyernem az adatokat.
2. ha ne adj isten nem pár terméket, hanem a a teljes nagyker raktárkészletet kell össze hasonlítani a boltokkal, akkor van pluszba egy 21.excel ami kb 50.xxxx sor, és 15-20 MB.(Egyszer sikerült az összefésüléssel csinálni egy 200+ MB-os végterméket.....)
Ezek margójára már kértem egy paks3-as gépet, hogy ne legyen gond de még így is macera...
Hosszú távon megoldásnak egy makrót gondolnék, valami ilyesmi elven:
1. Egy adott "végtermék" excelben megvan milyen termékekre vagyok kiváncsi.
2. Nyissa meg egyesével egy adott mappában lévő exceleket, és szűrjön rá a "végtermék" xls-ben található termékekre.
3. A "végtermék" excelben hozzon létre egy új fület boltnév szerint (ahonnan kiszedi az adatokat a 2-es pontban) és másolja át csak azokat az adatokat amikre szükség van.
4. Innentől már a függvény is egyszerűbb, esetleg azt is megoldhatná a makró.Vagy valami ilyesmi, de egyenlőre a makró tudásom nincs ilyen volumenű....
Esetleg ha valakinek van egyszerűbb / jobb ötlete / tanácsa, szívesen fogadom azt is..
-
spe88
senior tag
válasz
Fferi50 #41753 üzenetére
Sajnos ez a kitanítom a usereket erről-arról nem fog menni. Úgy kell mindig megcsinálni, mint ha majmoknak csinálnám. Kb. mint amikor egy prezentációt csinál az ember. Mindig mondom, hogy de hát ennyire nem hülyék, érteni fogják. A főnököm válasza, hogy "menedzsereknek csinálod: annyira hülyék ehhez, amennyire csak el tudod képzelni". Szóval röviden: ez a betanítósdi nem jó. Még olyan alap sem, hogy piros változik, akkor nem jó. Amit a rendszer enged azt meg is csinálják.
Valami olyanra lenne szükségem, ami ismétlődés esetén feldob egy ablakot, hogy "módosíts az értékeken blabla" a szöveget majd én átírom a makróban...
Sajnos van üres cella is a tartományban. :/
-
dm1970
aktív tag
válasz
Fferi50 #41725 üzenetére
Nagy, nagy köszönet. A névkezelő volt a megoldás. Ott találtam két hivatkozást, azok törlésével megoldódott a gondom.
Hogy pontosan mi történt, az autmentés vagy én kavartam be valamit nem tudom.
Természetesen csak 2 csatolt fájlra hivatkozok, a hivatkozások száma sok egy kicsit.Neked is Köszi Capella
-
spe88
senior tag
válasz
Fferi50 #41660 üzenetére
Megnéztem, mindenhol szám van. Ezért sem tudom hova tenni. Ez volt az első, amit csekkoltam. Valami olyanra gyanakszom, hogy amikor a képleteket lehúztam, akkor már rossz volt, de kérdem én miért nem tudom utólag átállítani? Ugyanaz a formátuma mint a felette lévő cellanak, ez mégis szövegként jelenik meg.
-
bsh
addikt
válasz
Fferi50 #41646 üzenetére
tudom, hogy mik a cutcopymode értékei (természetesen már azokat is próbáltam), de ez mégis működik így mert ha a cutcopymode se nem xlcut, se nem xlcopy (azaz nincs copypaste éppen), akkor a cutcopymode értéke 0 (azaz false), egyéb bármilyen esetben meg ugye az else-re ugrik is tovább.
ez most így ebben a formában van használva és működik a copypaste rendesen, csak szeretném olyankor eltüntetni a gombokat (csak a "szépség" kedvéért), de mint írtad, az úgy már viszont nem működik.
ha esetleg megtalálod mi az oka és hogy lehet ellen tenni, annak örülnék, mert nekem nem sikerült semmit találnom (csak pár ugyanezzel a problémával foglalkozó topikot, amik mind megválaszolatlanok) -
Fferi50
Topikgazda
válasz
Fferi50 #41645 üzenetére
Sajnos nem voltam elég körültekintő. Addig minden áll, hogy milyen értékeket vehet fel ez a tulajdonság. Viszont amikor a gombok tulajdonságait akarom megváltoztatni, automatikusan elveszti a másolás/kivágás értékét - azt hiszem amiatt, mert nem cellákkal dolgozunk. Ez sajnos úgy néz ki, rendszerszintű dolog.
Tovább kell vizsgálódnom.
Eredmény:
Az Enabled és a Visible tulajdonságok változtatása hatástalanítja a másolás kapcsolót. A gombok méretét és elhelyezkedését lehet változtatni akkor is, ha másolás módban vagyunk. -
bsh
addikt
válasz
Fferi50 #41641 üzenetére
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode = False Then
Button_X.Width = 150
Button_X.Height = 20
Button_X.Enabled = True
Button_X.Visible = True
If (Target.Cells.CountLarge > 1) And (Target.Width < Application.Width) Then
Button_Y.Width = 250
Button_Y.Height = 20
............satöbbi
End If
Else
'Exit Sub
'ezekkel próbálkoztam, de ha ebben a szakaszban BÁRMIT csinálok, onnantól nem működik a copy/paste: eltűnik a kijelölés is (akár másik lapról is) és a vágólap is törlődik(!)
'Application.EnableEvents = False
'Button_X.Visible = False
'Button_X.Enabled = False
'Button_Y.Visible = False
'Button_Y.Enabled = False
'Application.EnableEvents = True
End If
End Sub -
bozsozso
őstag
válasz
Fferi50 #41569 üzenetére
Hát nem nagyon boldogulok.a Termék munkalapról az index-hol.van fügvényekkel megtalálom a megfelelő értéket, de arra nem találok megoldást, hogy hogyan lehetne összeadni az eredményeket.
Tehát van egy termékek adatlap amin megvan, hogy a termékekhez milyen anyagmennyiség tartozik(T01,T02, T03 stb.-termékek ,A01, A02,A03 stb - anyagok) pár cellát elrejtettem mert azok nem fontosak.
Van egy rendelt munkalap aminek első sorában csak a termékek(T01,T02, T03 stb.) vannak az A oszlopban pedig a dátum. A rendelt mennyiség kézzel kerül kitöltésre minden nap minden termékre.
Amelyik munkalapon pedig számolni szeretnék az a felhasználás adatlap Első sorban az anyagok A01, A02,A03 stb) A oszlopban dátum.
Itt szeretném pl.: a B3 cellába ha összeszorozná a rendelt munkalapon található mennyiségek
anyagfelhasználását.A termékekhez tartózó külön anyagfelhasználást azt ki tudom íratni ezzel a 2 függvénnyel, de azt nem sikerül megoldanom, hogy az A01 anyagnál adja össze a T01,T02, T03 stb. termékek A01 anyagfelhasználást megszorozva a termékből rendelt mennyiséggel.
A minta képeken több tizedes jeggyel szerepelnek anyag felhasználások ezért más számokkal itt leírnám.
Ha T01-nek A01 anyagtartalma 1
T02-nek A01 anyagtartalma 2
T01-ből rendeltek 10-et 2015.01.01-én
T02-ből pedig rendeltek 20-at 2015.01.01-énAkkor A01 anyagfelhasználás (10*1)+(20*2)=50 Ennek kellene a B3 cellába kerülni és így sorba a napokon anyagokon.
Ami még fontos, hogy nem minden terméknél van minden anyag felhasználva.
Lehet kicsit túlmagyarázom.
-
spe88
senior tag
válasz
Fferi50 #41520 üzenetére
Hogy nekem mindig valami olyan funkció kell, amit nem tud az Excel csak valami irgalmatlan hekkeléssel.
Szerintem akkor hagyjuk. Megpróbálom elmagyarázni nekik, hogy hogy kell kicserélni heti rendszerességgel az elérési utat aztán, majd lehúzzák maguknak a képletet.
Beírni egy makróba több 100, de később több 1000 sort csak egy ilyen miatt, hát nem tudom...
-
spe88
senior tag
válasz
Fferi50 #41518 üzenetére
No ez az, hogy ezeket én még tudnám változtatgatni, de teljesen automatizáltan kéne megoldanom. Az itt lévő kollégák nálam is jóval topábbak az Excelhez. Esély nincs arra, hogy ezt-azt ne kelljen futtatgatni manuálisan, amikor változik a cella?
Kb. 15 kül. fájlból vesz adatokat -- egyelőre -- és több 100 cellába másolja.
-
spe88
senior tag
válasz
Fferi50 #41513 üzenetére
Köszönöm ezzel már működik!
Még annyi kérdés -- hasonlót már kérdeztem --, hogy ha van egy másik fájlba mutató elérési utam egy cellában, azt hogy tudnám megcsinálni, hogy ennek az értékét kiírja egy adott cellába?
INDIREKTTEL és ÉRTÉKKEL próbáltam.
pl.
ez az A1 cellaképletem
="'c:\abc\def\[termeles"&K1&".xls]"&K1&"'!A10"
A K1-ben az adott év szerepel
A1 cella értéke
'c:\abc\def\[termeles2019.xls]2019'!A10
Meg lehet valahogy oldani, hogy kiírja ezen elérési úton található A10-es cella értékét?
Köszönöm
-
spe88
senior tag
válasz
Fferi50 #41503 üzenetére
Megcsináltam, most már hibát nem dob viszont most is az a helyzet, hogy ráugrok a lapra, amit védeni szeretnék és minden adat látszik a lapon. Miután nem ütök be semmit a jelszóhoz, kiírja a szokásos üzenetet: "semmi közöd...", leokézom és szabadon nézhetem az adatokat.
Mit tegyek?
Köszönöm
-
spe88
senior tag
válasz
Fferi50 #41497 üzenetére
Köszi a segítséget. Átalakítottam. Valamit nem jó helyre írtam szerintem.
Private Sub Workbook_Open()
Public ASH As Worksheet
Set ThisWorkbook.ASH = ActiveSheet
Sheets("HELP_DATA").Select
Columns("E:E").Select
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("E1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("E2:E601")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("HELP_DATA").Select
Columns("G:G").Select
Range("G2").Activate
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("G2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("G2:H601")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Munkalap aktiválásakor mengnézzük, hogy az új munkalap a védendő-e:
If Sh Is Worksheets("Output") Then
'Ha a védendő, akkor jelszót kérünk:
If InputBox("Jelszó:") = "blbla" Then
'Ha jó a jelszó, engedjük az aktívvá tételt,
'és elmentjük új aktívként
Set ASH = ActiveSheet
Else
'Ha rossz, akkor:
MsgBox "Ehhez a laphoz Neked semmi közöd!!"
'Visszaállítjuk az előző munkalapot aktívnak:
ThisWorkbook.ASH.Activate
End If
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name <> "Output" Then Set ThisWorkbook.ASH = ActiveSheet
End SubA 2. sornál megakad:
Compile Error:
Invalid attribute in Sub or Function
Mit tegyek? Köszönöm
Új hozzászólás Aktív témák
Hirdetés
- Xbox tulajok OFF topicja
- Suzuki topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Windows 11
- Kerékpárosok, bringások ide!
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Animal Crossing: New Horizons
- BestBuy topik
- Apple iPhone 16 Pro - rutinvizsga
- HDD probléma (nem adatmentés)
- További aktív témák...
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Apple iPhone SE 2020 64GB, Yettel függő, 1 Év Garanciával
- Bomba ár! Lenovo ThinkPad L380 - i5-8GEN I 8GB I 256SSD I 13,3" FHD / MT I HDMI I Cam I W11 I Gari!
- Samsung Odyssey G6 S27BG650EU - 27" QHD 2K 240Hz Ivelt - Gaming monitor - 1,5 év Gyári garancia
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Lejárt a gyártói garancia? Mi tovább támogatjuk az IT infrádat!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged