- MWC 2026: Kezünkben a Vivo V70, megvan a magyar ára is
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- MWC 2026: Hálózattechnológiai mélyvíz Bóday Tamással. Mint rendesen.
- Android alkalmazások - szoftver kibeszélő topik
-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz
Juditta_56
#33110
üzenetére
Szia Juditta!
Azt a fájlt már nem tudtam előbányászni.
Előtte írtam, hogy a képlet eredményeként látszó szöveget nem lehet részenként formázni, de irányítottan, értékként átmásolhatod valahova. Azt már akár karakterenként másképp formázhatod.
Írtam egy makrót, amit a lapodhoz kell rendelned (lásd a Téma összefoglalót). A formázandó cellán állva egy duplaklikk kiemeli félkövérrel a benne szereplő számokat.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim b As Integer
For b = 1 To Len(Target)
If IsNumeric(Mid(Target, b, 1)) Then Target.Characters(b, 1).Font.Bold = True
Next
Cancel = True
End Sub -
Delila_1
veterán
válasz
II.Démonlord
#33100
üzenetére
Örülök, hogy sikerült az egyszerűbb módszerrel összehozni, szívesen.
-
Delila_1
veterán
válasz
II.Démonlord
#33098
üzenetére
Másold át a teljes oszlopot a B-be, majd ezt kijelölve Adatok | Adateszközök | Ismétlődések eltávolítása.
-
Delila_1
veterán
Nem látszanak a sor-, és oszlopazonosítóid.
Tegyük fel, hogy a "ritkán" szó a B3 cellában van.Ebben az esetben a D3:D5 cellákat kijelölve a feltételes formátum képlete
=ÉS($B3="ritkán";$C3="enyhe"),az E3:E5-é
=ÉS($B3="gyakran";$C3="enyhe"),
az F3:F5-é=ÉS($B3="gyakran";$C3="súlyos")Ez csak akkor működik majd, ha a B oszlopban a gyakran szó helyett nem gyakra, és nem gykran szerepel.
-
Delila_1
veterán
válasz
mormota
#33050
üzenetére
Egy üres füzetben modulba másold be a makrót.
Sub Szetcincalas()
Dim sor As Long, usor As Long
Dim WSF As Worksheet, WSS As Worksheet
Const utvonal = "D:\Tmp\" 'ide jön a saját útvonalad
On Error Resume Next
Workbooks.Open Filename:=utvonal & "Forrás.xlsx"
On Error GoTo 0
On Error Resume Next
Workbooks.Open Filename:=utvonal & "Sablon.xlsb"
On Error GoTo 0
Set WSF = Workbooks("Forrás.xlsx").Sheets(1) 'saját füzeted és lapod neve
Set WSS = Workbooks("Sablon.xlsb").Sheets(1) 'saját füzeted és lapod neve
usor = WSF.Range("F" & Rows.Count).End(xlUp).Row
WSS.Activate
For sor = 2 To usor
Cells(1, "C") = WSF.Cells(sor, "F")
Cells(2, "C") = WSF.Cells(sor, "G")
Cells(3, "C") = WSF.Cells(sor, "L")
Cells(4, "C") = WSF.Cells(sor, "H")
ActiveWorkbook.SaveAs Filename:=utvonal & Range("C3") & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Next
MsgBox "Kész"
End SubÍrd át a 3 jelzett sorban az útvonalat, a fájlneveket, és hogy hányadik lapon vannak az adatok a forrás és a sablon füzetekben. Adj rá mentést, Makrós.xlsm-ként.
A makró megnyitja a sablon és forrás fájlokat, elvégzi a másolást, menti az aktuális C3 néven a fájlt.
-
Delila_1
veterán
válasz
Carasc0
#33037
üzenetére
ThisWorkbookba
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:10"), "OsszegKiiras"
End SubModulba
Sub OsszegKiiras()
Beep
MsgBox Application.WorksheetFunction.Sum(Sheets("Munka3").Range("C4:C15")) '***
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End SubA csillagokkal jelzett sorban a saját lapod, saját összegzendő tartományod címét add meg!
-
Delila_1
veterán
válasz
Carasc0
#32995
üzenetére
Egy réges-régi fájlt feltöltöttem, kiindulási alapnak jó lesz. Tettem bele kommenteket.
Nézd meg a ThisWorkbook lap makróját is, az indítja az időzítőt.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
lenkei83
#32993
üzenetére
Azt nem mondtad, hogy nem userformon, hanem egy lapon van a combobox.

Az Alapadatok lapon a C4:C11 tartományt érdemes táblázattá alakítani. A C5:C11-et kijelölve megadtam a Teszt nevet (előtte töröltem a régit). Az ofszetes tartományod nem volt jó, C5-től C12-ig tartott. Persze nem nagy baj, ha pluszban van egy üres sor.
A Combobox lapon beállítod a Tervező módot, a vezérlődre állva megjeleníted a Tulajdonságokat. Itt a ListFillRange opcióhoz beírod: Teszt
Szerk.: azért elég a Teszt szót beírni, mert a tartomány hatóköre az egész munkafüzetre vonatkozik.
-
Delila_1
veterán
válasz
konigjanos
#32977
üzenetére
Egy sima hivatkozást kell a másik táblába írnod. Pl. a C5 cellában az =A1 beírja a C5-be az A1 cella aktuális értékét. Mikor átírod az A1 értékét, az új jelenik meg a C5-ben
-
Delila_1
veterán
válasz
retesz147
#32958
üzenetére
Adj mentést a füzetedre. Nyiss egy új füzetet, aminek egy moduljába (lásd a Téma összefoglalót) beviszed az 1 soros makrót.
Sub mm()
Rows(ActiveSheet.UsedRange.Rows.Count + 1 & ":" & Rows.Count).Delete
End SubÁllj a kérdéses füzeted kérdéses lapjára, és indítsd a makrót – Alt +F8-ra feljön egy ablak, ahol kiválaszthatod az mm címűt.
Nézd meg, rendbejött-e. Ha igen, adj új mentést a füzetre.Ez a makró megkeresi a füzetben azt a sort, ahol az utolsó bevitt érték van, és az alatta lévő sorokat törli.
Ha valamikor volt egy adat jóval lejjebb, amit később töröltetek, az Excel megjegyzi ezt az egyszeri beírást, és ennek a soráig állítja be a görgető sávot. A makró "elfelejteti" a hajdani beírást.
-
Delila_1
veterán
válasz
s7evcsenko
#32916
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
thomas50.000
#32913
üzenetére
Nincs mit.

-
Delila_1
veterán
válasz
s7evcsenko
#32910
üzenetére
A képletben a $ jellel rögzítettem a B oszlopot. Ez azt jelenti, hogy minden sorban a B oszlop értékét veszi feltételként alapul, mégpedig az érvényességi területként meghatározott (A:B) oszlopokban.
-
Delila_1
veterán
válasz
s7evcsenko
#32905
üzenetére
-
Delila_1
veterán
válasz
thomas50.000
#32902
üzenetére
Az End With sor fölé vidd be:
.Width = 22.67717 -
Delila_1
veterán
válasz
botond2225
#32859
üzenetére
A makró első sora ez legyen:
Application.Volatile
Akkor frissül, mikor a lapra billentyűzetről viszel be valamit, vagy törlöd egy cella tartalmát.
-
Delila_1
veterán
válasz
botond2225
#32857
üzenetére
Kipróbáltad a függvényt?
Abban a füzetben lesz elérhető, amelyiknél egy modulba beírtad. -
Delila_1
veterán
válasz
botond2225
#32853
üzenetére
Ehhez egy saját függvény kell.
Beírod a H oszlopba (H2-től kezdve) a keresendő szöveget (9'' Quad Core), mellé az I-be a GA33-at, alá a többi párost.
Modulba másold be a makrót.
Function Rovidites(Cella As Range)
Dim sor As Integer, usor As Integer
usor = Range("H" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
If InStr(Cella.Value, Range("H" & sor)) > 0 Then
Rovidites = Range("I" & sor).Value
Exit For
End If
Next
End FunctionHa a hosszú szöveged az A2-ben van, akkor a képlet
Rovidites(A2). Ugyanúgy másolható, mint a többi függvény.Vigyázz! a hosszú szövegedben a 9 után 2 db aposztróf van, a keresési feltételnél meg 1 db idézőjel.
-
Delila_1
veterán
válasz
Declare
#32811
üzenetére
Sub HarmasFeladat()
Dim sor As Long, usor As Long
Application.ScreenUpdating = False
usor = Range("F" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
Select Case Cells(sor, "F")
Case "Value1"
Cells(sor, "H") = "=F" & sor
Case "Value2"
Cells(sor, "I") = "=F" & sor
Case "Value3"
Cells(sor, "J") = "=F" & sor
End Select
Next
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
Declare
#32811
üzenetére
Tényleg működik az egyenlőség jeles, de anélkül is.
A bemásolt makród is hiba nélkül lefut nálam üres sorok esetén is, csak ugrál. Először az alsó Value2 sorba ír, majd az első Value1-be, utolsó Value3-ba, első Value2-be, stb.
Az én makrómban a
Do While Cells(sor, "G") > ""
sorban a G-t írd át F-re. -
Delila_1
veterán
válasz
Declare
#32807
üzenetére
Azt hiszem, túlbonyolítod a feladatot. Minek ide-oda ugrálni? Elég egyszer végigmenni az adatokon.
A makróban elég bugyuta feladatokat adtam meg a 3 különböző értékre.
Value1-nél a H oszlop azonos sorába írja be hivatkozással az F aktuális sorának az értékét. a másik kettőnél az I-be, ill. a J-be.Sub HarmasFeladat()
Dim sor As Long
Application.ScreenUpdating = False
sor = 2
Do While Cells(sor, "G") > ""
Select Case Cells(sor, "G")
Case "Value1"
Cells(sor, "H") = "=F" & sor
Case "Value2"
Cells(sor, "I") = "=F" & sor
Case "Value3"
Cells(sor, "J") = "=F" & sor
End Select
sor = sor + 1
Loop
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
terencehIII
#32803
üzenetére
Itt egy füzet, benne a válasz.
A területeket, ahol a képek vannak, elnevezed. A Hiperhivatkozásnál a definiált nevek közül választasz.
-
Delila_1
veterán
válasz
thomas50.000
#32804
üzenetére
A másik fórumon, ahol feltetted a kérdést, válaszoltam.
-
Delila_1
veterán
Azt nem írtad, hogy a két tábla azonos-, vagy külön lapon van-e, és hol helyezkednek el a lap(ok)-on.
Azt az esetet vettem, mikor a Munka1 és Munka2 lapokon vannak, mindkét esetben Az A1:Px tartományban, címsorral.
A makrót modulba kell másolnod. A Munka1 és Munka2 neveket írd át a saját lapjaid nevére.
Sub Osszevonas()
Dim sor As Long, usor As Long, honnan
Sheets("Munka1").Select
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = usor To 2 Step -1
Rows(sor).EntireRow.Insert
honnan = Application.Match(Cells(sor + 1, 1), Sheets("Munka2").Columns(1), 0)
Sheets("Munka2").Rows(honnan).Copy Sheets("Munka1").Range("A" & sor)
Next
End SubSzerk.: nem írtam bele hibakeresést, feltételezve, hogy a nevek azonosak a két lapon.
-
Delila_1
veterán
Privátban 2 napja elküldtem a fájlt is, a jó képletekkel. Meg is köszönted, Mi a baj?
Szerk.:
Az eredeti képen, amit priviben küldtél, nem a hetedik, hanem a 39. sorban kezdődtek az adataid. Az általam küldött fájlban töröld ki felülről a felesleges sorokat, a képletek rugalmasan hozzá alakulnak az új elrendezéshez. -
Delila_1
veterán
Nem egészen pontos a megfogalmazásod. "Van egy oszlop, mondjuk E, az ebben szereplő összegeket szeretném összeadni, ha a K, vagy a L, vagy az M, vagy az N oszlopokban szerepel "X"."
Mit akarsz összeadni?
Nem az a feladat, hogy soronként, ha a K:M tartományban bárhol X található, akkor írja ki az adott sor E cellájának az értékét? Ha igen, a=HA(VAGY(K1="X";L1="X";M1="X";N1="X");E1;0)
képlettel megoldható.Ha viszont az a kérdés, hogy ha bárhol a K:N tartományban található X, akkor írja ki az E oszlop összegét, akkor a
=HA(DARABTELI(K:N;"X")>0;SZUM(E:E);0)
képlet ad megoldást. -
Delila_1
veterán
válasz
TrollBalint
#32710
üzenetére
Az A oszlopot másold át az F-be. Az adathalmazból az ismétlődések eltávolítása menüpontot alkalmazva minden neved egyszer fog szerepelni ebben az oszlopban.
A képen látható képleteket vidd be a G és H oszlopba, ezekből kiszámíthatod a legkisebb és legnagyobb időpontok között eltelt időt.
A G oszlop képlete akkor lesz megfelelő, ha a B oszlopban növekvő sorrendben vannak az idők.Az FKERES angol megfelelője a VLOOUP, a Keres-é a LOOKUP.
-
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) -
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.
-
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).Selecthelyett írj
Range(talal).End(xlDown).Offset(1).Select-et, hogy az első üres sorban legyen a fókusz. -
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.
-
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.
-
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 -
Delila_1
veterán
válasz
Fferi50
#32573
üzenetére
Mindenképp szét kell választani a fekete és piros neveket, mert a feladat, "megtudni, hogy meny nevek szerepelnek mindkét névsorban?"
Ez biztosan valami iskolai feladat. Nem láttam még olyan – barbár – megoldást, hogy két névsort 1 oszlopba tett valaki, és még együtt is rendezte volna a kettőt.

-
Delila_1
veterán
válasz
Kalogenius
#32570
üzenetére
Eleve 2 külön oszlopba kellene szétdobni a 2 tartományt.
Beszúrsz egy címsort, majd táblázattá alakítod a listát. Ekkor már tudsz színre szűrni. A kiszűrt pirosakat átmásolod egy másik oszlopba (ennek is adsz címet), az A oszlopból pedig törlöd a tartalmukat.Az A-ban üres celláid lesznek, ezeket meg kell szüntetni. Kijelölöd A2-től az utolsó névig, Ctrl+g (Ugrás menü), Irányított, Üres cellák. Ez a tartomány üres celláit jelöli ki. Most a Ctrl és a számbillentyűzeten lévő mínusz hatására ezek a cellák kitörlődnek, az alattuk lévő, tartalommal bíró cellák feljebb kerülnek, folyamatos lesz az oszlop kitöltöttsége.
Az A oszlopban maradtak az egyik-, a másikba a másik listás adatok kerültek.
Fontos, hogy mindkét oszlopban lévő nevek a saját oszlopukban csak egyszer forduljanak elő. Ehhez az Adatok | Ismétlődések eltávolítása menüpontot használd.
Most kezdődhet az érdemi munka.
Kijelölöd a két tartományt, majd feltételesen formázod azokat. Új szabály, Csak az egyedi vagy az ismétlődő értékek formázása menüpont. Első esetben az ismétlődő opciót választod, és megadod a formátumot, OK. Következő lépésként beállíthatod az egyedi értékeket is, és másik formátumot adsz nekik.
Most már mindkét oszlopodat szűrheted szín szerint, és a szűrés eredményét (ismétlődő, vagy egyedi) átmásolhatod máshova, ha szükség van rá.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy Felhasználók OFF topicja
- MWC 2026: Kezünkben a Vivo V70, megvan a magyar ára is
- Allegro vélemények - tapasztalatok
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Autós topik
- A fociról könnyedén, egy baráti társaságban
- Hardcore pizza és kenyér topik
- MWC 2026: Hálózattechnológiai mélyvíz Bóday Tamással. Mint rendesen.
- További aktív témák...
- Microsoft és egyéb dobozos retro szoftverek
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Nintendo Switch Lite
- Új Creative Sound Blaster JAM V2
- BESZÁMÍTÁS! ASUS B150M i5 7500 8GB DDR4 256GB SSD GTX 1050Ti 4GB Nbase Black Midi DeepCool 400W
- HIBÁTLAN iPhone 12 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS4493
- DELL Alienware 16X Aurora Intel Core Ultra 7 / RTX 5060 Csillagközi indigó 2029-ig garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest






