- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- btz: Internet fejlesztés országosan!
- vrob: Az IBM PC és a játékok a 80-as években
- Tomasz72: Ventilátor upgrade
- MasterDeeJay: H110-es lapban 10.gen Comet Lake működhet?
-
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
-
Fferi50
Topikgazda
Szia!
Szerintem nem sokra mennél a legördülő menüvel - 1100-sort átlátnál? -. Helyette javaslom a feltételes formázást - Cellakiemelési szabályok - ismétlődő értékek beállítását az adott oszlopra. Így amennyiben olyan számot írsz be, amely már létezik az előtte levő sorokban, a színezésből azonnal látod.
(Ráadásul úgy gondolom, ezeket "számokat" csak szövegként tudod bevinni, mert az Excel 15 számjegynél többet nem tud kezelni.)
Üdv. -
Fferi50
Topikgazda
Szia!
Amennyiben a munkafüzet nyitva van, az Application.Ontime metódussal beállíthatsz időzítést egy adott makróra. Itt [link] találod a Helpet hozzá. Itt csak tárgynapi időpontot tudsz megadni, más napokra nem, de amikor a munkafüzet nyitva van, minden nap működik az adott időpontban.
Ha a munkafüzet nincs nyitva a kívánt mentéskor, akkor a Windows feladat ütemezőben tudod beállítani a megnyitást és utána a makró lefutást egy eseménykezelőben, pl. Open eseményre, majd nyilván vissza is kell zárni a fájlt.
Munka közben szerintem az Ontime jó lehet számodra. (Persze nem árt, ha a felhasználó is tud róla, ne lepődjön meg, ha rövid időre "néma" lesz a fájl.)
Üdv. -
Mutt
senior tag
Szia,
Inkább a Windows Feladatütemezőjét javaslom erre a feladatra.
Start menüben keress rá a Feladatütemező-re (angolul Task Scheduler).A Művelet -> Alapfeladat létrehozása. Kitöltöd a Név, Indítás részeket logikusan. A következő lépésben a programhoz írd be, hogy msg (ez egy kis program a Windowsban amellyel üzenetet lehet megjeleníteni a felhasználónak, Unix/Linux alatt a write / wall ilyen)
Argumentumoknak: * Jön a hétvége!
A csillag azt mondja, hogy minden bejelentkezett felhasználó kapja meg az üzenetet.üdv
-
Fferi50
Topikgazda
Szia!
"akár hányszor megnyitom a táblát és cellát jelölök ki,"
Csak akkor, ha nem figyeljük, hogy az időpontot tartalmazó cella tartalmaz-e értéket.
Pl. A1 cella üres - beírom az aktuális értéket/ nem üres - marad az ott levő érték
Adott vezérlő lenyomására pedig kitörlöm az értéket. Így innen indulhat az új "számolás".
Üdv. -
föccer
nagyúr
Az működik, hogy amikor megnyílik a munkafüzet, azt az időpontot rögzíted, az sima liba. Az is működik, hogy a legelső cella értékének módosulásának időpontját leíratod. Sőt, az is megoldható, hogy minden megnyitás utáni első módosulás jelenjen meg az A1-es cellában.
Az adott munkafüzetben való munkával nem fog az időpont változni, mert nem a MA() függvényt kell berakni, hanem magát az idő értéket.
Fferi:
KeyPress event nem működik, ezt nem lehet figyelni?A KeyPress event can occur when any of the following keys are pressed:
Any printable keyboard characterCTRL combined with a character from the standard alphabetCTRL combined with any special characterBACKSPACEESC
A KeyPress event does not occur under the following conditions:
Pressing TAB.Pressing ENTER.Pressing an arrow key.When a keystroke causes the focus to move from one control to another. -
Fferi50
Topikgazda
Szia!
Sajnos a billentyűlenyomás esemény nem figyelhető az Excelben munkalapon. (Formon igen.)
Talán nem is ezt szeretnéd igazán, hanem az első változtatás (esetleg az első cellakijelölés?) figyelését. Ez megoldható, ehhez van eseménykezelő írási lehetőség.
Kérlek pontosítsd a kérdést.
Üdv. -
Fferi50
Topikgazda
Szia!
Mivel a füzetvédelem alatt nem lehet munkalapot - így grafikont sem - hozzáadni, a lapvédelem pedig az illetéktelen változtatások ellen van, ezért mindkettőt le kell venni a makró elejéről, a végén pedig visszatenni.
A Dim Sht As Picture sor után:ActiveWorkbook.Unprotect Password:="Jelszó"
ActiveSheet.Unprotect Password:="Jelszó"
A végére pedig az End sor elé
ActiveSheet.Protect Password:="Jelszó"
ActiveWorkbook.Protect Structure:=True, Password:="Jelszó"
Ha jelszó nélkül védted le, akkor a paraméter elhagyható.
Más kérdés, ha levéded a munkalapot, akkor hogyan dolgozol benne?
Üdv. -
Fferi50
Topikgazda
Szia!
A ="\Kép4.jpg" helyébe a következőt írd:"\" & Range("K2").Text & "_" & Range("C1").Text & ".jpg"
Az útvonalat is beteheted egy cellába, pl. A2-ben van, akkorFilename:=Range("A2").Text & "\" & Range("K2").Text & "_" & Range("C1").Text & ".jpg"
Ne feledd, hogy az útvonal legyen megfelelő formátumú, ha a végén van "\" akkor a fájl neve elé már nem kell.
A fájlnévben úgy fog megjelenni a dátum és az idő, ahogyan a cellákban látod - ezt biztosítja a Text paraméter.
A helyedben én óvatosan bánnék a sok ponttal a fájl nevekben, szerintem érdemes lenne másként formázni a dátumot és az időt is - ezt megteheted a cellaformázás szám fül egyedi menűjében. (Persze tudom, a rendszerbeállítás így jeleníti meg, de részemről fő az óvatosság, ékezetes betűkkel is így vagyok.)
Üdv. -
Fferi50
Topikgazda
Szia!
A képernyőt direktben nem lehet menteni. A munkalap tartományát vagy a kijelölt területet tudod képként menteni némi "ügyeskedéssel".
Az alábbi makró az aktív munkalap teljes tartományát másolja és menti képként, akkor is, ha az kilóg a képernyőről!
Ha nem így szeretnéd, akkor a
1. Usedrange helyére a látható terület címét (pl. Range("A1:X41") -et) kell beírnod.
vagy
2. Kijelölöd a másoladó területet - akkor a Selection sort használod
vagy
3. Az aktuális ablak tartalmát szeretnéd másolni, akkor az ActiveWindow sort használod
A nem használt sor elé tegyél aposztrófot.
A másolás tartalmazza az adott tartományban levő képeket is!!!
A mentés helyét és a mentés nevét változtatnod kell az adott sorban. Mindkettőt veheted egy adott cellából is. Akkor a konkrét név helyére írhatod pl. "Kép4.jpg" helyett Cells(1,1).Text - idézőjelek nélkül.Sub ExportPicture()
Dim MyChart As Chart
Dim Sht As Picture
Application.ScreenUpdating = False 'letiltjuk a képernyő frissítést
ActiveSheet.UsedRange.CopyPicture ' a munkalap használt tartományát képként másoljuk
'vagy Selection.CopyPicture ', ha nem az egész munkalap tartomány szeretnéd másolni.
'vagy ActiveWindow.VisibleRange.CopyPicture 'ha az ablakban láthatókat szeretnéd menteni
ActiveSheet.Paste 'majd beillesztjükSet Sht = Selection 'objektumként felvesszük
Set MyChart = Charts.Add ' egy új diagramot hozunk létre
MyChart.Name = "TemporaryPictureChart" 'és elnevezzük
Set MyChart = MyChart.Location(Where:=xlLocationAsObject, Name:=Sht.Parent.Name) 'majd áttesszük a másolandó munkalapra
MyChart.ChartArea.Width = Sht.Width 'a diagram tartomány méretét hozzáigazítjuk a másolt méretekhez
MyChart.ChartArea.Height = Sht.Height
MyChart.Parent.Border.LineStyle = 0 'remove shape container border
MyChart.ChartArea.Select
MyChart.Paste 'beillesztjük a másolt képet
MyChart.Export Filename:=CurDir & "\Kép4.jpg", FilterName:="jpg" 'elmentjük az aktív könyvtárba - ide add meg a saját könyvtárad és nevet
Sht.Parent.ChartObjects(1).Delete 'töröljük a diagramot
Sht.Delete 'és a beillesztett másolt képet
Application.ScreenUpdating = True ' visszaállítjuk a képernyő frissítést
End Sub
A makrót [innen] kapott minta alapján csináltam.
A makrót hozzárendelheted egy gombhoz vagy billentyűkombinációhoz.
Ha bármi kérdésed lenne, írd meg bátran.
Üdv. -
Delila_1
veterán
Sub Torles()
Dim ter As Range, v
Set ter = Application.InputBox(prompt:="Add meg a területet", Type:=8)
v = MsgBox("Bizti?", vbYesNo, "Kérdés")
If v <> 7 Then Range(ter.Address).ClearContents
End Sub
Közben már megírtam a makrót.Sub Torles_1()
Dim ter As Range, v
Set ter = Range("B10:D12")
v = MsgBox("Bizti?", vbYesNo, "Kérdés")
If v <> 7 Then Range(ter.Address).ClearContents
End Sub
A Set sorban a saját törlendő területet add meg!
-
Delila_1
veterán
-
föccer
nagyúr
Én kigyűjtöttem egy külön táblázatba az A oszlop egyedi értékeit G1-be az
=SORBA.RENDEZ(EGYEDI(SZŰRŐ(A:A;A:A<>0)))
függvénnyel. Majd H1 képlete=SZUMHATÖBB(C:C;A:A;G1;B:B;"=0")
O365, tömbfüggvényei kellenek hozzá.
A G1-ben a szűrő csak azért kell, hogy az A oszlop üres sorait kivegye, illetve a sorba.rendez csak a felhasználhatóságot javítja.
-
karlkani
aktív tag
A képlet is 140-et ad eredményül az elsőre, C3-at nem számolja bele. Kijelölöd a tartományt, amit összegezni szeretnél, majd kritériumtartománynak beállítod az azonos azonosítók melletti tartományt a B oszlopból. Kritériumnak 0-t, így csak a C oszlop azon elemeit adja össze, ahol mellette a B-ben 0 szerepel. Ha az azonosítók nem úgy szerepelnek a táblázatban, mint a képen látható, hanem összevissza, akkor ez a megoldás nem jó.
-
Delila_1
veterán
Makróval lehet csak megoldani, hogy az eddigi lista végére beírja az új értéket.
A beviteli cella C3, az eddigi sorozatszámok az F oszlopban vannak.
A makrót a laphoz kell rendelned (lásd a Téma összefoglalót).Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$C$3" Then
Application.EnableEvents = False
If Application.WorksheetFunction.CountIf(Range("F:F"), Target.Value) = 1 Then
Cells(3, 4) = "NOK": Cells(3, 4).Interior.Color = RGB(255, 0, 0)
Else
Cells(3, 4) = "OK": Cells(3, 4).Interior.Color = RGB(0, 176, 80)
ide = Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(ide, 6) = Target: Cells(ide, 7) = Format(Now, "yyyy.mm.dd")
End If
Application.EnableEvents = True
End If
End Sub -
Delila_1
veterán
Private Sub Worksheet_Change(ByVal Target As Range)
Dim FN As Picture, CV As Range, ter As Range
Dim KepHelye As String
If Target.Column = 1 Then
Application.EnableEvents = False
If Target.Count > 1 Then
Set ter = Range(Target.Address)
For Each CV In ter
KepHelye = "D:\kepek\" & CV.Value & ".jpg"
With Cells(CV.Row, 2)
Set FN = ActiveSheet.Pictures.Insert(KepHelye)
.RowHeight = Rows(Target.Row).Height
FN.Top = .Top + 1
FN.Left = Columns(2).Left + 1
FN.Height = Rows(Target.Row).Height - 5
FN.Height = .Height
FN.Placement = xlMoveAndSize
End With
Next
End If
Application.EnableEvents = True
End If
End Sub
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Ha még az is túl hosszú lenne, amit az előbb írtam, használhatod ezt a makrót. Mielőtt elindítod, ki kell jelölnöd a formázandó területet.Sub szinez()
Dim rsor As Range, rformat As ColorScale
For Each rsor In Selection.Rows
rsor.FormatConditions.Delete
Set rformat = rsor.FormatConditions.AddColorScale(colorscaletype:=2)
rformat.ColorScaleCriteria(1).FormatColor.Color = vbWhite 'RGB(255, 0, 0)
rformat.ColorScaleCriteria(2).FormatColor.Color = vbRed 'RGB(255, 0, 0)
Next
End Sub
Itt a fehér-piros színátmenet van benne, piros a legmagasabb érték.Üdv.
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Mivel ebben a formázási szabályban nem lehet relatív hivatkozást megadni, ezért sajnos soronként kellene ismételten bevinni.
DE! A formátummásoló simán megoldja ezt a problémádat. Egy sort leformázol a kívánalmak szerint. Utána jobb egérgomb. Megkeresed a formátum másolót (nálam a kis menü jobb alsó szélénKét egymás utáni gyors bal egérgomb kattintás bekapcsolja. Ezután kijelölöd a kívánt sorokat. Bal katt. A formátum másoló addig bekapcsolva marad, amíg ESC-t nem nyomsz neki. Ezért annyiszor és olyan részletekben használod, ahányszor csak akarod, a kikapcsolásig.
Üdv.
-
Fferi50
Topikgazda
Szia!
Erre való a HIPERHIVATKOZÁS függvény.
A oszlopban vannak a cikkszámok.
B oszlopban a függvény. B2 képlete:
=HIPERHIVATKOZÁS("IDE írod a mappa teljes elérési útvonalát \" & A2 & ".jpg")
Ez a képlet húzható lefelé.
Ha nincs a cikkszámnak megfelelő kép, akkor hibaüzenetet ad.
Üdv. -
Pakliman
tag
Szia!
(Egyféle) megoldás kis kiegészítéssel és makróval:
(Ez a kép már a makró általi lista, a színezés az eredeti)
Minden csoport ki lett egészítve egy új oszloppal, ami azért kell, mert egy tétel többször is szerepelhet és valahogy muszáj megkülönböztetni
P oszlopban:=DARABTELI($O$2:O2;O2)
S oszlopban:=DARABTELI($R$2:R2;R2)
V oszlopban:=DARABTELI($U$2:U2;U2)
FONTOS!!!! Figyelj a dollárjelre!!!!
(Beírod pl. a P2 cellába és "lehúzod" P16-ig)A kód:
Public Sub Rendez()
Dim o As Long
Dim s0 As Long
Dim s As Long
Dim us As Long
Dim us2 As Long
Dim bVan As Boolean
For o = 14 To 20 Step 3
us = Columns(o).Rows(Rows.Count).End(xlUp).Row
For s = 2 To us
If o = 14 Then
'1. oszlopcsoport, csak másolunk...
Cells(s, o - 12) = Cells(s, o)
Cells(s, o - 11) = Cells(s, o + 1)
Cells(s, o - 10) = Cells(s, o + 2)
Else
us2 = Columns(o - 15).Rows(Rows.Count).End(xlUp).Row
For s0 = 2 To us2
bVan = (Cells(s0, o - 15) = Cells(s, o)) And (Cells(s0, o - 14) = Cells(s, o + 1)) And (Cells(s0, o - 13) = Cells(s, o + 2))
If bVan Then Exit For
Next s0
If bVan Then
us2 = s0
Else
us2 = Application.Max(Columns(o - 12).Rows(Rows.Count).End(xlUp).Row, Columns(o - 15).Rows(Rows.Count).End(xlUp).Row) + 1
End If
Cells(us2, o - 12) = Cells(s, o)
Cells(us2, o - 11) = Cells(s, o + 1)
Cells(us2, o - 10) = Cells(s, o + 2)
End If
Next s
Next o
End Sub -
ny.janos
tag
Mivel nem tudom, hogy a valós feladatban hány terméked van, aminek az alkatrészeinek az "átfedését" látni szeretnéd, próbáltam olyan megoldásban gondolkodni, ami több 10 (vagy még több) termék esetén is működhet, de a feladatnak csak egy részére sikerült viszonylag könnyen használható megoldást találnom.
A gondolatom az volt, hogy első lépésben az összes előforduló cikkszámot és hozzá tartozó nevet egymás alá teszem 2 oszlopba, majd eltávolítom az ismétléseket. (Ennek az időigénye mondjuk 100 termék esetén már igen jelentős lenne kézzel, makróhoz viszont nem értek. Képlettel pedig nem tudtam megoldani.)
Második lépésben azt kerestem meg, hogy az adott alkatrész szerepel-e az adott termék alkatrészlistájában. Ezt követően a sorbarendezés már tetszőleges.C2 cella képlete:
=HA(DARABTELI(K$2:K$23;$A2)>0;$A2;"")
D2 cella képlete:
=HAHIBA(FKERES(C2;$A$2:$B$20;2;0);"")
-
ny.janos
tag
Szia!
Az valós, hogy egy cikkszám több terméket is takarhat, illetve hogy egy-egy termékhez ugyanaz a termék többször is fel van sorolva?
Az oszlopokban páronként (a1-a2, b1-b2, c1-c2) ugyanúgy háromszor szerepel a 1292092-00 banán, kétszer a 2075637-00 avokádó, a répa cikkszáma pedig azonos a banánéval (1292092-00).
-
Fferi50
Topikgazda
Szia!
Pár lépés feltételes formázással és szín szerinti rendezéssel elérhető szerintem a kívánt eredmény.
1. lépés:
Kijelölöd a teljes táblázatot - kezdőlap - feltételes formázás - cellakijelölési szabályok - ismétlődő értékek - válaszd az egyedit, mindegy milyen színű lesz. OK.
2. lépés a két utolsó oszlopot, ahol a színek vannak, kijelölöd. Adatok - rendezés - E oszlop szín szerint - nincs cellaszín felül OK.
3.Kijelölöd az A-D oszlopot. Utána feltételes formázás mint az 1. lépésben
4.Kijelölöd a C-D oszlopot. Rendezés mint a 2. lépésben.
Ekkor már tkp. látod, hogy mi az egyedi.
5.Kijelölöd az E-F oszlop "fehér celláit", a színeseket nem!. Feltételes formázás - új szabály - a formázandó cellák kijelölése képlettel: A képlet:=DARABTELI($A$1:$D$20;$F1)>=2
Kijelölsz hozzá egy formátumot. OK
6.A kijelölt területet (E-F oszlop) rendezed szín szerint, de most a színes legyen felül.
Eredmény:
Ezután megszünteted a feltételes formázást, hisz már nincs rá szükség.
A "kilógó" tételeket úgy színezed, ahogyan akarod.
Remélem érthető.
Üdv. -
Mutt
senior tag
Szia,
Excel 2010-től felfelé Power Query-vel a lépések:
1. Szám - szöveg - ismétlődések egy táblázatban egymás mellett.
2. Táblázat betöltése Power Query-b: Adatok fül -> Táblázatból
3. Oszlop hozzáadása -> Egyéni oszlop
A képlet pedig ez:=List.Numbers(1,[Ismétlődés])
4. Az új oszlop felső jobb sarkára kattintva "Kibontás új sorokba" opció.
5. Kijelölöd azokat az oszlopokat, amiket össze akarsz fűzni. Átalakítás -> Oszlopok egyesítése
6. A felesleges ismétlődés oszlopon jobb klikk -> Eltávolítás.
7. Kezdőlap -> Betöltés adott helyre... és kiválasztod hogy melyik lapra kerüljön az eredmény.Ezzel a technikával tetszőlegesen állíthatod az ismétlések számát.
üdv
-
Fferi50
Topikgazda
Szia!
Úgy érzem, ez már makró, mert a feltételes formázásban nem lehet az adott cella színére hivatkozni. Valamilyen tartalom szabályra igen. Tehát azt mondhatjuk feltételes formázásnál, ha az A1 cella valamit tartalmaz, akkor a formázás legyen érvényes a 2,5,8,9 és a12,15,18,19....stb. sorra is. Azt viszont nem, ha az A1 cella színe piros, akkor legyen piros, zöld stb. a többi sor színe.
Tehát konkrét, értékekhez kapcsolódó formázási szabály kell.
Üdv. -
Fferi50
Topikgazda
Szia!
Feltételes formázás: a formázandó cellák kijelölése képlettel.
A képlet =A1<>""
Érvényessége: megadod a tartományt ahol érvényesíteni szeretnéd.
Fontos: A képletben relatív legyen a címzés, annak a tartománynak az első cellája, ahol a formázást érvényesíteni szeretnéd. A tartomány címe viszont legyen abszolút (dolláros).Üdv.
-
Fferi50
Topikgazda
Szia!
Rendezd le az EGÉSZ TÁBLÁDAT úgy, hogy az üres cellák legyenek elől (vagy a végén).
Ezután beírod a függvényedet - így másolni is könnyebb -, majd értékké alakítod.
Ha az eredeti sorrendet meg szeretnéd tartani, akkor vegyél fel a tábládhoz egy segédoszlopot, amiben 1-től felfelé vannak a számok növekvő sorrendben (persze ez is legyen benne az előző rendezésben). Ez alapján a műveletek végén vissza tudod állítani az eredeti sorrendet.
Üdv. -
Mutt
senior tag
Szia,
Bemásolod a képletet a cellába, majd egy sima Enter helyett egyszerre Control+Shift+Entert nyomsz. Ekkor az Excel a képletet kapcsos {} zárójelek közé teszi. Az ilyen képletek egyszerre több cellán alapulnak, ezért lassabbak mind az egyszerű képletek. Ha látványossan lassú lesz az Exceled, akkor más megoldás kell.
üdv
-
Mutt
senior tag
Szia,
Itt az én megoldásom függvényekkel. Remélem Excel 2016-od vagy jobbad van, mivel használtam a SZÖVEGÖSSZEFŰZÉS függvényt.
F2-nek a képlete:
=HA(D2+E2<>HA(A2=A1;D1;C2);"x";HA(ÉS(D2+E2=HA(A2=A1;D1;C2);D2>0);"KÉSZ";""))
G2-ben egy tömb-függvény van, amelyet Ctrl+Shift+Enter-el kell majd bevinni és jelenleg az első 1000 sort nézi:=SZÖVEGÖSSZEFŰZÉS("; ";IGAZ;HA(($A$2:$A1000=$A2)*($F$2:$F1000="x");$B$2:$B1000;""))
Nézd meg, hogy nálad helyesen műkődik? pl. a 30-31-es sorok szerintem készen vannak, mivel az előző műveletből átadodd összes alkatrész megvan, de a mintádban ezekre te nem írtál készt.
üdv
-
Fferi50
Topikgazda
Szia!
Az x-eket ki helyezi el a táblázatban? Ahol kész van, oda már nem kellene írni a G oszlopba?
Ahol még nem történt művelet, azaz 0 a jó+selejt, oda nem kell semmit írni? Hiszen ott még minden művelet hátravan. Vagy extrém esetben, ha minden db selejtté válik "útközben", akkor arra a műveletre már nem kerül sor.... ?Üdv.
-
Delila_1
veterán
Ezt csak makróval tudod megoldani.
Sub Szinezes()
Range("2:2,5:5,10:10,15:15").Interior.Color = Range("A1").Interior.Color
' Range("A2:L2, A5:L5, A10:L10, A15:L15").Interior.Color = Range("A1").Interior.Color
End SubAz első sor az A1 cella háttérszínével azonosra színezi a 2; 5; 10 és 15. sor celláit.
A második sor, ami most megjegyzésbe van téve, a fenti sorokból csak az A:L tartományt színezi.
Írd át a színezendő területeket a saját igényednek megfelelően, valamint a Range("A1")-et, ha nem az A1 szerint szeretnéd végrehajtani a műveletet.
Töröld a makróból azt a sort, amelyikre nincs szükséged.A makrót kötheted egy billentyű kombinációhoz. Alt+F8-ra bejön a makrókat tartalmazó ablak. Kiválasztod a Szinezes makrót, Egyebek, a Billentyűparancsnál a Ctrl+ -hoz beírsz egy betűt. Ezután erre a kombinációra indul a makró, és színez.
A füzetet makróbarátként kell elmentened.
-
huan
őstag
Inkább máshogy kérdezem:
Ez a függvény:=HA(HAHIBA(SZÖVEG.KERES("MLZR";E2);0)>0;"MLZR";HA(HA(G2>F2;ÖSSZEFŰZ("Pót ";(HA(S2+T2>=U2;"KÉSZ";ÖSSZEFŰZ("r.m.: ";T2))));HA(S2+T2>=U2;"KÉSZ";ÖSSZEFŰZ("részm.: ";T2)))="részm.: 0";"";HA(G2>F2;ÖSSZEFŰZ("Pót ";(HA(S2+T2>=U2;"KÉSZ";ÖSSZEFŰZ("r.m.: ";T2))));HA(S2+T2>=U2;"KÉSZ";ÖSSZEFŰZ("részm.: ";T2)))))
ha én rögzítem a makrót, akkor így néz ki:
ActiveCell.FormulaR1C1 = _
"=IF(IFERROR(SEARCH(""MLZR"",RC[-17]),0)>0,""MLZR"",IF(IF(RC[-15]>RC[-16],CONCATENATE(""Pót "",(IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",CONCATENATE(""r.m.: "",RC[-2])))),IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",CONCATENATE(""részm.: "",RC[-2])))=""részm.: 0"","""",IF(RC[-15]>RC[-16],CONCATENATE(""Pót "",(IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",CONCATENATE(""r.m.: "",RC[-2])))),IF(RC[-3" & _
">=RC[-1],""KÉSZ"",CONCATENATE(""részm.: "",RC[-2])))))"amit Tőled kaptam, és ezzel működik csak, az viszont így:
ActiveCell.FormulaR1C1 = _
"=IF(IFERROR(SEARCH(""MLZR"",RC[-7]),0)>0,""MLZR"",IF(IF(RC[-5]>RC[-6],CONCATENATE(""Pót "",(IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",összefűzE(""r.m.: "",RC[-2])))),IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",CONCATENATE(""részm.: "",RC[-2])))=""részm.: 0"","""",IF(RC[-5]>RC[-6],CONCATENATE(""Pót "",(IF(RC[-3]+RC[-2]>=RC[-1],""KÉSZ"",CONCATENATE(""r.m.: "",RC[-2])))),IF(RC[-3]+RC[-2]" & _
">=RC[-1],""KÉSZ"",CONCATENATE(""részm.: "",RC[-2])))))" & _
""Miért különbözik?
-
Delila_1
veterán
Beszúrsz egy alakzatot, rajta jobb klikk, Makró-hozzárendelés. Megjelennek a kész makrók, abból kiválasztod, amelyik kell.
Ha a personalba írod a makrót, a gyorselérési eszköztár jobb szélén legördíted a nyilat, További parancsok. A választható parancsok helyénél kiválasztod a Makrókat, ott a megírt makrót, és a Felvétel gombbal felveszed a jobb oldali ablakba, ahol módosíthatod a hozzá rendelt képet, és a megjelenő szöveget.
-
Delila_1
veterán
Rögzítettem egy makrót, ahol egyenként ráálltam a képleteket tartalmazó cellákra a 2. sorban, és leentereztem a szerkesztőlécen. A G2-höz tartozó rész így nézett ki:
Range("G2").Select
ActiveCell.FormulaR1C1 = "=SUMIF(C[5],RC[5],C[-1])"Ezután a makró elején meghatároztam az utolsó sort (usor=...).
A képletek elején lévő ActiveCell-t kicseréltem arra a területre, ahova be kell írni, hogy a 2. soron kívül az összes sorban jelenjen meg a képlet.
Range("G2:G" & usor).FormulaR1C1 = "=SUMIF(C[5],RC[5],C[-1])"
és kitöröltem a cellákra állást, pl. a Range("G2").Select-et.
Szerk: mivel mindig új adatokat másolsz be, feltehetően vadiúj füzetbe, a makrót a personalba lenne érdemes beírni, hogy minden füzetben elérhető legyen. Erről is találsz leírást a Téma összefoglalóban. A makróhoz kitehetsz egy ikont a gyorselérési eszköztárra.
Az I oszlop képlete hibás volt, javítottam.
-
Delila_1
veterán
Akkor jön a makrórögzítés.
Írd be a képletet. Rögzítés indítása. A képletet tartalmazó cellára állsz, majd a szerkesztőlécen Enter, rögzítés vége. A képletet tartalmazó cellán állva a jobb alsó sarkában lévő kis fekete négyzeten dupla klikk, ez végig másolja a képletet addig, amíg a mellette lévő oszlopban adatokat talál.
Ez most arról szólt, mikor 1 oszlopban van képlet. Ha több is van, tegyél fel egy (lebutított) fájlt, amiben megjelölöd a képleteket.
-
Delila_1
veterán
-
Mutt
senior tag
Szia,
... függvénnyel(B1) meg szeretném számoltatni, hogy az A-oszlopban mennyi egyedi (hány fajta) szám van ...
Ma SZORZATÖSSZEG napom van, B1 képlete:
=SZORZATÖSSZEG(1/DARABTELI(A2:A16;A2:A16))
A tartományt mindig igazítanod kell a képletben, vagy egy dinamikus tartományra kell cserélned.
Office 365 és Google Táblázatok esetén pedig van már UNIQUE (EGYEDI?) függvény is, amit egy COUNT (DARAB) függvénybe kell rakni.
üdv
-
Fferi50
Topikgazda
Szia!
Nem tudom, Google-ban van-e Darabteli függvény (vagy annak megfelelő angol verzió, CountIf), ha igen, akkor a képletek:
B2 cellába =HA(DARABTELI($A$2:$A2;$A2)>1;"";"x") , ezt végighúzod a B oszlopon lefelé.
B1 cellába =DARABTELI($B$2:$B$20;"x") , a vége az A oszlop utolsó cellájának sora legyen.Üdv.
-
huan
őstag
-
Mutt
senior tag
Szia,
Jöttek már megoldások erre a kérdésre, de a lentieket segédoszlop nélkül is tudod használni.
Excel 2016-tól van MAXHA függvény:
=HA(DARABHATÖBB(A:A;A1;B:B;">0");MAXHA(B:B;A:A;A1);"")
Excel 2007 és 2016 között pedig a SZORZATÖSSZEG-et használhatjuk helyette:
=HA(DARABHATÖBB(A:A;A1;B:B;">0");SZORZATÖSSZEG(MAX(($A$1:$A$1000=A1)*($B$1:$B$1000)));"")
üdv
-
Fferi50
Topikgazda
Szia!
Az üres cellák miatt kissé bonyolult lett a képlet. Egy segédoszlopba - legyen ez mondjuk az E oszlop, az E2 cellába írd ezt a képletet:
=HA(DARABTELI(A:A;A1)-DARABÜRES(INDIREKT("B"&HOL.VAN(A1;A:A;0)&":B"&HOL.VAN(A1;A:A;0)+DARABTELI(A:A;A1)-1))=0;HOL.VAN(A1;A:A;0);DARABTELI(A:A;A1)+HOL.VAN(A1;A:A;0)-DARABÜRES(INDIREKT("B"&HOL.VAN(A1;A:A;0)&":B"&HOL.VAN(A1;A:A;0)+DARABTELI(A:A;A1)-1))-1)
A képlet húzható lefelé.
Ezután a C1 cella képlete:=HA(INDEX(B:B;E1)=0;"";INDEX(B:B;E1))
Így azoknál a termékeknél, ahol egyáltalán nincs dátum, nem ír ki semmit.Üdv.
-
Lasersailing
senior tag
-
-
Mutt
senior tag
Szia,
A SZÖVEG.KERES és SZÖVEG.TALÁL függvények tudnak szövegben keresni, de ehhez az kell hogy a szöveg fájl be legyen töltve egy munkalapra.
Azonban ha Excel 2010 vagy frissebbed van, akkor a Power Query-vel lehet listát csinálni külső segédprogram ("dir" parancs) nélkül egy mappában található fájlokról és ott használni a Text.PositionOf függvényt.
üdv
-
ny.janos
tag
Szia!
Függvény txt-ben nem fog működni, mert az nem excel.(Ha az elérési úttal együtt van szükséged a találatra, annak megoldása még excelbe importálás esetén is nehéz feladat - nekem 1 órán belül biztosan nem menne.)
Ha nem tömegesen kell keresned értékekhez tartozó sorokat, akkor egyszerűbb a txt saját keresője (Ctrl + F).
Új hozzászólás Aktív témák
Hirdetés
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Assassin's Creed Shadows Collector's Edition PC
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Gyermek PC játékok
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Csere-Beszámítás! Asus Prime RTX 5060Ti 16GB GDDR7 Videokártya! Bemutató darab!
- BenQ PD-3200-U Monitor - Designer 4K 32"
- PS5 konzolod megvásároljuk: Budapest, Kecskemét, Szeged, Debrecen vagy akár GLS futárt küldünk!
- Telefon felvásárlás!! Samsung Galaxy A13/Samsung Galaxy A33/Samsung Galaxy A53
- LG 48GQ900-B - 48" OLED - 4K 3840x2160 - 138Hz & 0.1ms - G-Sync - FreeSync - HDMI 2.1
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest