Keresés

Részletes keresés

Fferenc50 Creative Commons License 2025.03.25 0 1 38473

Szia!

2019-es verzió óta van MINHA függvény.

Ha ettől régebbi, próbáld az alábbi tömbfüggvényt:

=MIN(HA(D2:J2<>0;D2:J2;""))

a minimum érték meghatározására.

A tömbfüggvényt Ctrl + Shift + Enter kombóval kell lezárni, az Excel kapcsos zárójelbe teszi.

Üdv.

Előzmény: Takeoff. (38472)
Takeoff. Creative Commons License 2025.03.25 0 0 38472

Sziasztok!

 

Több cella közül szeretném feltételes formázással kiemelni a legkisebb értéket. Erre használom a 

 

=D2=MIN($D$2:$J$2)

 

képtetet. Viszont vannak olyan cellák, ahol az érték 0 (nulla) ezeket figyelmnen kívűl kellen hagynom és az összhasonlítást csak >0 kellene megtenni. 

 

Kiegészíthető ez a képlet erre? 

hellsing Creative Commons License 2025.03.25 0 0 38471

Üdv, Pivotban kellene egy nagyon alap segítség (30+ év Excel, 30 perc Pivot tudás :).

 

Forgalmi adatokból létrehoztam az első pivotomat. Az egyik soromban dátumok vannak. Az Excel a csoportosításnak (hónapok) automatikusan mmm, a bontásnak (napok) nn-hhh (pl. 02-jan) formátumot adott, nekem viszont hhhh (pl. január) és hhhh nn, nnn (pl. január 25, kedd) kellene.

 

Rámegyek a sorra, ott Mezőbeállítások -> Számformátum, kiválasztom a megfelelőt, OK -> OK és nem történik semmi, továbbra is nn-mmm formátumban jelennek meg az adatok.

 

Az adatforrásban Excel dátumok vannak (pl. 45741) éééé-hh-nn formázással, az Excel magyar és a területi beállítások is magyarországiak (ezért sem értem, hogy miért jön a 02-jan formátummal). Mit csinálok rosszul?

 

Vax Creative Commons License 2025.03.23 0 0 38470

Projekt védelem (Project protection)

Több fórumon is olvastam, hogy ez a probléma másnál is felmerült több Excel verziónál. Én egy 2016-os verziót tudtam kipróbálni, de volt aki 2007-esen tapasztalta. Nem tudom, hogy az eredeti fájlok melyik Excelben készültek, mert később változtattam a fájltípust, de  klónoztam is őket.

Talán a Windows-ban kell keresni a hibát, de ez magas nekem, mint libának a kerítés.

Amit most kipróbáltam: Egy fájlt, amin volt projektvédelem, átneveztem, a régi lapokat kitöröltem, új lapkat, új funkciót adtam a fájlnak, megváltoztattam a projekt védelem jelszavát, és működik. Ugyanakkor mellette kreáltam egy új munkafüzetet, ugyanúgy berendeztem, mint a másikat, és nem tudom rá kiadni a projekt védelmet. Néztem az Excel beállításait is, de látszólag minden ugyanaz.

 

Előzmény: Vax (38458)
Fferenc50 Creative Commons License 2025.03.20 0 1 38469

Szia!

Nem tudom, kaptál-e esetleg privátban választ. Az AdvancedFilter CriteriaRange tartalma alapvetően a következőképpen nézhet ki:

ÉS feltétel esetén egymás mellé ugyanabba a sorba kell írni a feltételeket.

VAGY feltétel esetén viszont külön sorokat kell használni.

Ha pedig egy oszlopban nem szeretnél szűrni, akkor nem az X a megoldás, hanem üresen kell hagyni az adott oszlop feltétel sorait.

Ha csak a B típusra vagy kíváncsi és az Oszlop7 15 értékére, akkor 2 sor a feltétel range:

1. sor a fejlécek

2. sor a Típus alatt B, Osztály7 alatt 15, a többi fejléc alatt NINCS semmilyen érték (a képleted eredménye legyen "" és nem X)

Üdv.

 

Előzmény: Andyyy42 (38464)
pimre Creative Commons License 2025.03.18 0 0 38468

Időközben megtaláltam a Képlet függvényt. Ez megoldja a gondomat.

Előzmény: pimre (38467)
pimre Creative Commons License 2025.03.18 0 0 38467

Van egy munkafüzetem, ahol egy fő munkalapra kerülnek számok, majd ezeket a további munalapokra függvény olvassa be onnan, hogy véletlenül se kerüljön a helyestől eltérő szám oda, ahol a fő munkalapról kell a helyes értéket bemásolni. 

Sajnos előfordul, hogy a felhasználók elfelejtkeznek erről, és a függvényt átírják számra, ami tévedésekhez vezethet.

 

Sajnos nem tudok olyan ellenőrzést, hogy egy adott cella még függvényt tartalmaz-e, vagy már tévedésből át lett-e javítva számmá.

 

Van erre valamilyen megoldás?

Garashan Creative Commons License 2025.03.16 0 0 38466

Én nem teljesen értem, hogy mit is szeretnél.

Tölts fel egy anonimizált példát és akkor valószínűleg fogunk tudni segíteni.

Előzmény: Andyyy42 (38464)
Andyyy42 Creative Commons License 2025.03.15 0 0 38465

Előzmény: Andyyy42 (38464)
Andyyy42 Creative Commons License 2025.03.15 0 0 38464

Sziasztok,

 

Advanced filter makróval.

 

A CriteriaRange "táblázatot" függvényekkel töltöm fel, különböző szabályok szerint, többnyire egybeágyazott HA + ÉS/VAGY függvényekkel.

 

Ha beadok minden adatot, akkor mondjuk kijön az alábbi táblázat, mint CriteriaRange = A1:H6

 

 

 

Ahol "X"-ek vannak, ott a függvény eredménye X, mivel nincs feltétele a szűrésnek.
Jelen példa szerint az összes adatot, ami Típus = B és oszlop7=15 kellene, h kilistázza eredményül.
De vmiért semmit nem hoz eredményül.

 

Nem tudom miért nem :-(

(az X nem szerepel az adathalmazban, mint érték, azért rakatom be a függvényekkel, hogy azokra a sorokra ne keressen rá)

 

Szerintetek?

Garashan Creative Commons License 2025.03.14 0 1 38463

Évek óta használom az excelt a parancssor meghívására. Viszont most beleütköztem abba a problémába, hogy olyan parancsot szerettem volna futtatni amihez rendszergadaként kell futtatni a parancssort.

Kis kutatómunkával találtam rá megoldást. Ha esetleg másnak is szüksége lenne rá, akkor itt van a kód.

 

Private Sub RunAsAdmin(ByVal parancs As String)
Dim oShell As Object
Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "cmd.exe", "/k " & parancs, , "runas", 1
End Sub

 

A munkám folyamán sokszor kell IP címet módosítanom, amit eddig kézzel oldottam meg, de meguntam, így írtam rá excelben makrót :) Egy listából kiválasztom a megfelelő paramétert és a makró teszi is a dolgát.

 

A references részen nálam 4 dolog van bekapcsolva:

-visual basic for applications

-Microsoft Excel 16.0 object library

-OLE Automation

-Microsoft Office 16.0 object library

 

 

Ha jól emlékszem, akkor az object library-ket most kapcsoltam be hozzá, de nem vennék már rá mérget.

RJancsi Creative Commons License 2025.03.08 0 1 38462

Köszi! A legegyszerűbb megoldásra nem is gondoltam. :(

Előzmény: Garashan (38461)
Garashan Creative Commons License 2025.03.07 0 0 38461

Az érvényesítés beállításakor a hibajelzés lapon kiveszed a pipát. Ekkor kiválasztod a listából a neked megfelelő sablont, majd utána módosítod, ahogy akarod.

Előzmény: RJancsi (38460)
RJancsi Creative Commons License 2025.03.07 0 0 38460

Sziasztok! Lassan időpontot foglalhatok a hülye kérdések minisztériumába (Monty Python után szabadon). A mostani agymenésem az, hogyan lehetne valami prediktív szövegbevitel szerűséget létrehozni az excelben. Arra gondolok, hogy adatérvényesítés jelleggel egy legördülő listából ki tudnám választani egy cella szövegének általános tartalmát, de utána hibaüzenet nélkül módosítani tudjam a szöveget. Nyilván ilyenkor az adatérvényesítés hibát jelez. 

 

Nagyon meredek a kérdésem? 

hellsing Creative Commons License 2025.03.06 -1 0 38459

Ezt csak úgy itt hagyom, a köz okulására. Az Excel 2021 fantasztikus, többszálú feldolgozása (igen, be van kapcsolva az összes mag). Ez egy 10 magos, 20 szálon dolgozó 10900KF és 64GB RAM. Az Excel képes 2 magon és 4 szálon futni, azon is csak hézagosan. Ha én lennék a Microsoft, az Excel rég a grafikus procin (3080Ti) futna, meg az összes CPU magon.

 

Vax Creative Commons License 2025.03.05 0 0 38458

Találtam egy 2019-es beszélgetést erről a problémáról. Ők nem találtak rá megoldást.

 

https://answers.microsoft.com/en-us/msoffice/forum/all/unable-to-lock-vba-window/9f1352af-7139-400f-afc3-c6d2bc3b73a6

 

https://answers.microsoft.com/en-us/profile/7174c62f-a522-48b9-b8d3-7bcd4c7a258f

 

(Valamikor lehetett ide normálisan is linkelni.)

Előzmény: Vax (38457)
Vax Creative Commons License 2025.03.04 0 0 38457

Sajnos nem segít. Valóban üres volt még a projekt, de hiába írtam bele, nem tudom lezárni betekintés elől. Még annyit, hogy találtam egy régi fájlt, amiről azt írta az Excel hogy megbízhatatlan és csak akkor nyissam meg, ha..., mivel a fájlnévből egyértelmű, hogy az enyém volt, megnyitottam, de a projektbe nem tudok belenézni. Rá se kérdez a jelszóra, csak kiírja, hogy "project is unviewable".

Köszönöm. Üdv.

Előzmény: Garashan (38456)
Garashan Creative Commons License 2025.03.03 0 0 38456

Jómagam WIN10-et és Excel2021-et használok. Nem bírtam reprodukálni a hibát.

Egy esetben nem állított be jelszót, ha teljesen üres volt a VBA project. De amint írtam bele valamit, akkor már be tudtam állítani rá jelszavas védelmet.

Előzmény: Vax (38455)
Vax Creative Commons License 2025.03.02 0 0 38455

Üdvözlök Mindenkit,

Meg tudná mondani valaki, hogy a VBA projektvédelem miért nem működik: WIN10, Excel2019.

VBA-Tools-VBA Project Properties-Protection, Beállítom, beírom a jelszót, és hatástalan.

Régen is használtam, és azok a projektek védve is vannak. Mit rontok el?

Köszönöm szépen.

 

webhifi1 Creative Commons License 2025.02.28 0 1 38454

Nagyon szépen köszönöm! Sima Liba nagyon jól működik!

Előzmény: Garashan (38452)
RJancsi Creative Commons License 2025.02.28 0 0 38453

Köszönöm!

Előzmény: Fferenc50 (38448)
Garashan Creative Commons License 2025.02.27 0 0 38452

Most már nem kell. Megfejtettem a dolgot :-)

A színezés relációs jeleivel voltak gondok.

Sub FormatDate(cell As Range, diff As Long)
Debug.Print "Színezés - diff: " & diff
If diff = 0 Then
cell.Interior.Color = RGB(0, 0, 255) ' Kék - pontos egyezés
Debug.Print "Kék: " & cell.Address
ElseIf diff > 0 Then
cell.Interior.Color = RGB(255, 0, 0) ' Piros - már lejárt
Debug.Print "Piros: " & cell.Address
ElseIf diff >= -30 Then
cell.Interior.Color = RGB(255, 255, 0) ' Sárga - 30 napon belül
Debug.Print "Sárga: " & cell.Address
Else
cell.Interior.Color = RGB(0, 255, 0) ' Zöld - 30 napon túl a jövőben
Debug.Print "Zöld: " & cell.Address
End If
End Sub

 

Előzmény: Garashan (38451)
Garashan Creative Commons License 2025.02.27 0 0 38451

Küldj róla egy minta fájlt e-mailben, ami anonimizálva van. Az e-mail címem publikus.

Előzmény: webhifi1 (38449)
webhifi1 Creative Commons License 2025.02.27 0 0 38450

Lemaradt:Lemaradt

webhifi1 Creative Commons License 2025.02.27 0 0 38449

A kérdést sem tudom feltenni:( De nem működik a színezés:( A lényeg ogy évváltás szökőév stb figyelembevételével valami miatt nam az igazi.

A lejárt dátum piros

ami hamarosan lejár sárga (ez esetben 30 napos intervallum)

aznapi kék;

ami meg több mint 30 napig érvényes legyen zöld:)  Aktuális dátumhoz viszonyítva 

Köszönöm! 

 

 

Sub LejaroEllenorzes()
Dim wsTotal As Worksheet
Dim wsLejaro As Worksheet
Dim lastRowTotal As Long
Dim lastRowLejaro As Long
Dim i As Long
Dim currentDate As Date
Dim cellValue As String
Dim diffK As Long, diffL As Long, diffO As Long, diffR As Long
Dim találatCount As Long
Dim dateK As Date, dateL As Date, dateO As Date, dateR As Date

' Munkalapok beállítása
Set wsTotal = ThisWorkbook.Sheets("Total")
Set wsLejaro = ThisWorkbook.Sheets("Lejárat")

' Az aktuális dátum meghatározása
currentDate = Date

' Lejárat munkalap törlése a korábbi adatok eltávolításához
wsLejaro.Cells.Clear

' Az oszlopfejlécek másolása a Total munkalapról a Lejárat munkalapra
wsLejaro.Cells(1, 1).value = "Név"
wsLejaro.Cells(1, 2).value = "Szül. dátum"
wsLejaro.Cells(1, 3).value = "EBK alap"
wsLejaro.Cells(1, 4).value = "EBK MIR"
wsLejaro.Cells(1, 5).value = "Orvosi érvényes"
wsLejaro.Cells(1, 6).value = "Poliol spec. oktatás érv."

' A Total munkalapon az utolsó sor meghatározása
lastRowTotal = wsTotal.Cells(wsTotal.Rows.Count, "Y").End(xlUp).row
Debug.Print "Utolsó kitöltött sor az Y oszlopban: " & lastRowTotal

' Az Lejárat munkalapon az első üres sor meghatározása
lastRowLejaro = 2 ' Az adatok a második sortól kezdődnek

' Találatok számlálója
találatCount = 0

' A Total munkalapon végigiterálunk
For i = 2 To lastRowTotal
' Ellenőrizni, hogy az Y oszlop "aktív" vagy "inaktív"
cellValue = wsTotal.Cells(i, "Y").value
Debug.Print "Row " & i & ", Y oszlop értéke: " & cellValue

If cellValue = "Aktív" Then
' Ellenőrizni, hogy a dátumok valódi dátumok és nem üresek
If IsDate(wsTotal.Cells(i, "K").value) And wsTotal.Cells(i, "K").value <> "" Then
dateK = DateValue(wsTotal.Cells(i, "K").value)
diffK = DateDiff("d", dateK, currentDate)
Debug.Print "K oszlop dátuma: " & dateK & ", diffK: " & diffK
Else
diffK = -9999 ' Ha nincs érvényes dátum, beállítunk egy nem létező eltérést
Debug.Print "K oszlop érvénytelen dátum"
End If

If IsDate(wsTotal.Cells(i, "L").value) And wsTotal.Cells(i, "L").value <> "" Then
dateL = DateValue(wsTotal.Cells(i, "L").value)
diffL = DateDiff("d", dateL, currentDate)
Debug.Print "L oszlop dátuma: " & dateL & ", diffL: " & diffL
Else
diffL = -9999 ' Ha nincs érvényes dátum, beállítunk egy nem létező eltérést
Debug.Print "L oszlop érvénytelen dátum"
End If

If IsDate(wsTotal.Cells(i, "O").value) And wsTotal.Cells(i, "O").value <> "" Then
dateO = DateValue(wsTotal.Cells(i, "O").value)
diffO = DateDiff("d", dateO, currentDate)
Debug.Print "O oszlop dátuma: " & dateO & ", diffO: " & diffO
Else
diffO = -9999 ' Ha nincs érvényes dátum, beállítunk egy nem létező eltérést
Debug.Print "O oszlop érvénytelen dátum"
End If

If IsDate(wsTotal.Cells(i, "R").value) And wsTotal.Cells(i, "R").value <> "" Then
dateR = DateValue(wsTotal.Cells(i, "R").value)
diffR = DateDiff("d", dateR, currentDate)
Debug.Print "R oszlop dátuma: " & dateR & ", diffR: " & diffR
Else
diffR = -9999 ' Ha nincs érvényes dátum, beállítunk egy nem létező eltérést
Debug.Print "R oszlop érvénytelen dátum"
End If

' Ha bármelyik dátum 30 napon belül van, vagy már lejárt és 30 napon belül volt
If (diffK >= -30 And diffK <= 30) Or (diffL >= -30 And diffL <= 30) Or (diffO >= -30 And diffO <= 30) Or (diffR >= -30 And diffR <= 30) Then
' A találatokat átmásolni a Lejárat munkalapra
wsLejaro.Cells(lastRowLejaro, "A").value = wsTotal.Cells(i, "A").value ' Név
wsLejaro.Cells(lastRowLejaro, "B").value = wsTotal.Cells(i, "E").value ' Szül. dátum
wsLejaro.Cells(lastRowLejaro, "C").value = wsTotal.Cells(i, "K").value ' EBK alap
wsLejaro.Cells(lastRowLejaro, "D").value = wsTotal.Cells(i, "L").value ' EBK MIR
wsLejaro.Cells(lastRowLejaro, "E").value = wsTotal.Cells(i, "O").value ' Orvosi érvényes
wsLejaro.Cells(lastRowLejaro, "F").value = wsTotal.Cells(i, "R").value ' Poliol spec. oktatás érv.

' Dátumformátum beállítása
wsLejaro.Cells(lastRowLejaro, "C").NumberFormat = "yyyy.mm.dd"
wsLejaro.Cells(lastRowLejaro, "D").NumberFormat = "yyyy.mm.dd"
wsLejaro.Cells(lastRowLejaro, "E").NumberFormat = "yyyy.mm.dd"
wsLejaro.Cells(lastRowLejaro, "F").NumberFormat = "yyyy.mm.dd"

' Dátumok formázása színnel
Call FormatDate(wsLejaro.Cells(lastRowLejaro, 3), diffK) ' 3 = C oszlop
Call FormatDate(wsLejaro.Cells(lastRowLejaro, 4), diffL) ' 4 = D oszlop
Call FormatDate(wsLejaro.Cells(lastRowLejaro, 5), diffO) ' 5 = E oszlop
Call FormatDate(wsLejaro.Cells(lastRowLejaro, 6), diffR) ' 6 = F oszlop

' Sorok növelése a következő találatra
lastRowLejaro = lastRowLejaro + 1
találatCount = találatCount + 1
End If
End If
Next i

' Ellenőrizzük, hogy van-e találat
If találatCount = 0 Then
MsgBox "Nincs találat!"
Debug.Print "Nincs találat!"
Else
MsgBox találatCount & " találat van."
Debug.Print találatCount & " találat van."
End If

' Oszlopok szélességének beállítása a Lejárat munkalapon
wsLejaro.Columns("A:F").AutoFit
End Sub

Sub FormatDate(cell As Range, diff As Long)
Debug.Print "Színezés - diff: " & diff
If diff = 0 Then
cell.Interior.Color = RGB(0, 0, 255) ' Kék - pontos egyezés
Debug.Print "Kék: " & cell.address
ElseIf diff < 0 Then
cell.Interior.Color = RGB(255, 0, 0) ' Piros - már lejárt
Debug.Print "Piros: " & cell.address
ElseIf diff <= 30 Then
cell.Interior.Color = RGB(255, 255, 0) ' Sárga - 30 napon belül
Debug.Print "Sárga: " & cell.address
Else
cell.Interior.Color = RGB(0, 255, 0) ' Zöld - 30 napon túl a jövőben
Debug.Print "Zöld: " & cell.address
End If
End Sub

 

Fferenc50 Creative Commons License 2025.02.27 0 0 38448

Szia!

Sajnos csak makróval megy a módosítás, mert csak úgy lehet összekötni a változásokat.

A munkalap kódlapjára másold be ezt:

 

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 11 And Target.Column = 1 Then
Target.Offset(0, 1).Value = Application.Names(Target.Value).RefersToRange.Cells(1)
End If
If Target.Row = 11 And Target.Column = 2 Then
Target.Offset(0, 1).Value = Application.Names(Target.Value).RefersToRange.Cells(1)
End If
End Sub

 

(Lapfülön jobb egérgomb - kód megjelenítése)

Ezután engedélyezned kell a makrók futtatását és makróbarátként kell mentened a fájlt.

Üdv.

Előzmény: RJancsi (38447)
RJancsi Creative Commons License 2025.02.27 0 0 38447

Ha küldesz egy mailt privátba (az én címem publikus), el tudom küldeni az excel fájlt. 

Előzmény: Fferenc50 (38445)
RJancsi Creative Commons License 2025.02.27 0 0 38446

Mindegyikben egyszerű "listás" adatérvényesítés A11-ben (A2;A3), a B11-ben "=INDIREKT(A11)", a C11-ben "=INDIREKT(B11)" 

A listák mezőnevekkel vannak ellátva ezért tudok névvel hivatkozni rájuk. 

Előzmény: Fferenc50 (38445)
Fferenc50 Creative Commons License 2025.02.26 0 0 38445

Szia!
Milyen képletet használsz az A11 - B11 - C11 cellákban?

Légy szíves mutasd meg.

Üdv.

Előzmény: RJancsi (38444)
RJancsi Creative Commons License 2025.02.26 0 0 38444

Sziasztok!

Többszintű lista adatérvényesítésével kapcsolatban van kérdésem. Megoldható-e, ha egy magasabb szintű listaelemet módosítok, hogy az alacsonyabb rendűek törlődjenek? Na ez még nekem sem érthető... Inkább egy példa. Csináltam egy példa táblázatot. Első nekifutásra kiválasztottam a "Gyümölcs"-"Körte"-"Vilmos" adatsort. Eddig OK. Ám ha a legfelső szinten a Gyümölcsöt Zöldségre változtatom, a kiválasztás többi eleme (Körte-Vilmos) változatlan marad ami nyilván nem jó. Mit lehet tenni ez ellen? 

 

 

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!