- Android alkalmazások - szoftver kibeszélő topik
- Garmin Venu X1 - vékony, virtuóz, váltságíjas
- Mindenki Z Fold7-et akar
- Telekom mobilszolgáltatások
- Redmi Note 10S - egy a sok közül
- One mobilszolgáltatások
- Huawei Mate 10 Pro - mestersége az intelligencia
- Magisk
- Kirakatba tette a Google a Pixel 10-eket
- Itt egy pár fotó az iPhone 17 sorozatról
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
-
Fferi50
Topikgazda
Szia!
A rendezésnél opcióként megjelölheted, hogy fejlécet tartalmaz-e. Ha ezt bejelölöd, akkor a tartomány első sorát fejlécnek tekinti és nem része a rendezésnek.
Ha üresen hagyod, akkor nincs fejléc és része a rendezésnek.
Táblázat rendezése csak fejléccel együtt megy.
Továbbá az A-Z Z-A ikonra kattintva megpróbálja kitalálni, hogy van-e fejléc, illetve a korábbi hasonló rendezés paramétereit veszi.
Üdv. -
ny.janos
tag
Szia!
Először az A és B oszlop értékeit határozd meg (másolás után ismétlődések eltávolításával, vagy ha O365-öt használsz, akkor az EGYEDI függvénnyel). Ezek kerüljenek a D oszlopba illetve az első sorba (utóbbit nyilván transzponálnod kell).
Ezt követően E2 cella képlete:
=HA(SZORZATÖSSZEG(($D2=$A$1:$A$12)*(E$1=$B$1:$B$12))=1;E$1;"")
-
Fferi50
Topikgazda
Szia!
A dátum nem szöveg! Ezért így nem kereshetsz rá.
Dátumként kell megadnod a feltételt is, ahogyan az előttem szóló is mondta és inkább a SUMIFS függvényt használd, ott megadhatod a tól-ig intervallumot a dátumra két feltétellel.
Vagy segédoszlopba a hónapot (=hónap(A2) és utána azt használod a SUMIF paramétereként.
Üdv. -
-
Fferi50
Topikgazda
Szia!
Ha le van védve a projekt, akkor nem tudsz újabb makrókat hozzáírni.
Az Adatérvényesítés megoldható több szinten is, a választástól függően, nem feltétlenül kell egy listában lennie minden lehetőségnek. A kategóriákhoz tartozhatnak külön-külön alkategóriák.
A színezés lehetséges feltételes formázással.
Ha lenne valami egyszerűbb mintafájlod - ami csak ezeket a dolgokat tartalmazza - talán többet is tudnánk segíteni.
Üdv. -
Delila_1
veterán
Semmi gond, 1-2 hét alatt sikerül összehoznod a kérdést.
Igen, minden 4-est írj át 2-re.
Nem nekem könnyebb – bár ez is lehet(ne) szempont –, hanem jóval terjedelmesebb lenne a makró, és a futása is hosszabb időt venne igénybe, ha nem a számot tartalmazó oszlopot töltenéd ki először. -
Mutt
senior tag
Szia,
Delila válasza mellett itt egy UDF, amit feltételes formázásban használhatsz.
Function CellaSzinek(rng As Range, Optional szinkod As String, Optional mutasd As Boolean)
'cella színének változása nem eredményezi a képletek újra kiértekélését
Application.Volatile
Dim cella As Range
Dim szin As Long
If mutasd Then
CellaSzinek = CStr(rng.Range("A1").Interior.Color)
Else
CellaSzinek = True 'megelőlegezzük hogy a tartomány színe azonos
'ha nincs meg adva a viszonyításhoz színkód, akkor használjuk a tartomány elsõ cellájának színét
If szinkod = "" Then
szin = rng.Range("A1").Interior.Color
Else
szin = CLng(szinkod)
End If
For Each cella In rng
If cella.Interior.Color <> szin Then 'ha eltérés van akkor kilépünk a ciklusból
CellaSzinek = False
Exit For
End If
Next cella
End If
End FunctionTúlzásba vittem, mert 3 módon lehet használni.
- Ha csak 1 paramétert (a vizsgálandó tartományt) adsz meg, akkor a tartomány első cellájánák színéhez hasonlítja a többit. Ha azonosak, akkor IGAZ eredményt ad vissza.
- Ha 2 paramétert adsz meg, ahol a második az adott színkód macskakörmök között amelyet keresel, akkor pedig IGAZ lesz az eredmény, ha a tartományban a cellák színe azonos a megadottal.
- Ha a harmadik paraméter IGAZ, akkor pedig a kijelölt tartomány első cellájának színkódját kapod meg.üdv
-
Delila_1
veterán
Mi a bevitel menete?
Beírod a számot a D oszlopba, majd színezed aG:I
oszlopokat?Legjobb lenne, ha a 3 cella színezését adnád meg először, majd beírnád a D oszlopba az értéket. Ebben az esetben a D oszlopba írást figyeltethetném. Amint beírod az értéket, arra a sorra lefutna a színezés.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sor As Long
If Target.Row > 2 And Target.Column = 4 Then
sor = Target.Row
If Cells(sor, 7).Interior.Color = vbGreen And Cells(sor, 8).Interior.Color = vbGreen And _
Cells(sor, 9).Interior.Color = vbGreen Then
Cells(sor, 4).Interior.Color = vbGreen
Else
Cells(sor, 4).Interior.Color = RGB(255, 198, 83)
End If
End If
End Sub -
Delila_1
veterán
Megírtam. A makrót modulba tedd, a füzetedben tegyél ki egy gombot, ahhoz rendeld a makrót.
Nem mindegy, hogy milyen zöld a G-H-I oszlop zöldje. A cellák színezésénél a További színeknél az Egyéni fülön legyen az R és B nulla, a G 255.Sub Zold_Narancs()
Dim sor As Long
sor = 3
Do While Cells(sor, "D") <> ""
If Cells(sor, "G").Interior.Color = vbGreen And Cells(sor, "H").Interior.Color = vbGreen _
And Cells(sor, "I").Interior.Color = vbGreen Then
Cells(sor, "D").Interior.Color = vbGreen
Else
Cells(sor, "D").Interior.Color = RGB(255, 198, 83)
End If
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
-
-
Delila_1
veterán
Ezt egy modulba másold, és indíthatod, amikor ki akarod színezni az A4 cella hátterét.
Sub Zold_Narancs()
If Range("A1").Interior.Color = vbGreen And Range("A2").Interior.Color = vbGreen And _
Range("A3").Interior.Color = vbGreen Then
Range("A4").Interior.Color = vbGreen
Else
Range("A4").Interior.Color = RGB(255, 198, 83)
End If
End SubAutomatizálhatod, ha a laphoz rendeled a lenti makrót.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1").Interior.Color = vbGreen And Range("A2").Interior.Color = vbGreen And _
Range("A3").Interior.Color = vbGreen Then
Range("A4").Interior.Color = vbGreen
Else
Range("A4").Interior.Color = RGB(255, 198, 83)
End If
End SubHa viszont az
A1:A3
tartományt feltételes formázással színezed, más a helyzet. Akkor az A4 cellába is feltételes formázás kell. -
Fferi50
Topikgazda
Szia!
Ez azért van, mert itt csak egy cellányi változásra készítettük fel.
Próbáld így:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Dim cl As Range
For Each cl In Target.Cells
cl.Offset(0, 1).Interior.Color = RGB(Application.Hex2Dec(Left(cl.Value, 2)), Application.Hex2Dec(Mid(cl.Value, 3, 2)), Application.Hex2Dec(Right(cl.Value, 2)))
Next
Application.EnableEvents = True
End If
End Sub
Üdv.
-
Fferi50
Topikgazda
Szia!
Nem mondanám, hogy pofonegyszerű...
Eseménykezelő makró kell a munkalap kódlapjára:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Target.Offset(0, 1).Interior.Color = RGB(Application.Hex2Dec(Left(Target.Value, 2)), Application.Hex2Dec(Mid(Target.Value, 3, 2)), Application.Hex2Dec(Right(Target.Value, 2)))
Application.EnableEvents = True
End If
End Sub
Ha az első oszlopban egy cellába beírsz egy hatjegyű Hexa számot, a mellette levő cellát beszínezi a megfelelő színre.
Vigyázz, hibakezelés nincs benne, ha nem hatjegyű a szám, akkor mindenféle előfordulhat.
(de gondolom a hosszát meg tudod vizsgálni...)Üdv.
-
lappy
őstag
szintén ha fgv elég hozzá
a B2 cellába a
=HA(D2="igen";A2*(B1/100);A2)
kód megy
a C2-be meg A2-B2
persze a C2 így mindig fog vmi értéket mutatni, de ezt ki lehet küszöbölni egy másik ha fgv.el
illetve a B2 cellá nem nézi hogy mi van D2 akkor ha az nem IGEN ha nem üres vagy más, de szintén egy ha fgv továbbírással ez is megoldható -
Delila_1
veterán
Szia!
A Beszúrás menüben táblázattá alakítod a naplódat, és ebből készíted a diagramot. Ezzel eléred a rugalmas terület-kezelést.
Mivel a táblázattá alakított tartomány új sorai öröklik a fölöttük lévő sorok formátumait (képleteit, érvényesítéseit), az egyes oszlopokra feltételes formátumot tennék az x érték fölötti (alatti) cellák színezésére.
-
0P1
aktív tag
Ugye két módon tudsz átvenni küldő adatot, a régi jó öreg Microsoft Query-vel vagy Excel 2016 Beolvasás/átalakítással (korábbi excelekben PowerQuery).
Javaslom az utóbbit használatát. Így (függetlenül a saját windowsod/exceled beállításaitól) röptében át tudsz alakítani bármilyen adattípust.
A lekérdezés szerkesztőben jobb egér az oszlopokon - típus módosítása - nyelvterület használata - adattípus : tizedes tört - területi beállítás : angol.
Így fel fogja ismerni, hogy az adatforrásod angol beállítást használ (a tizedes elválasztó pont), de az outputodhoz nem nyúl, az olyan formában marad, amit akarsz, vagyis maradhat vessző. Így nincs szükség külön oszlopra , és továbbra is frissülni fog percenként , de már az általad kívánt formában. Gondolom FFeri50 is ilyesmire gondolt a frissítő rutin módosítása alatt. (Microsoft query-vel ez sajnos nem oldató meg, azzal én is mindig segédoszlopokat használtam ilyenekre, de Beolvasás/átalakítással szerencsére minden megoldható) -
Fferi50
Topikgazda
Szia!
A frissítő rutinba tedd bele a cserét.
Vagy - állítsd át az Excelben a tizedesvesszőt pontra: Fájl -Beállítások - Speciális - Rendszerbeállítások szerinti elválasztók használata kockából kiveszed a pipát, majd a tizedesjel kockába beírod a pontot.
Ok.
Innentől ezzel fog számolni a rendszer. Célszerű bezárni és újranyitni a fájlt.Vigyázz, ez alkalmazás szintű beállítás, tehát másik fájlban is így fog működni.
Üdv.
-
csferke
senior tag
Vérnyomás-értékeket írnék egy táblázatba
Úgy neked nem lenne jó ha az első sorban lennének az átlagok az értékek viszont a másodiktól lefelé.
Rögzíted az első sort, hogy mindig látható legyen.
A1-be=AVERAGE(A2:A100)
és értelem szerűen a B és C oszlopban is. A 100-as érték helyett adj egy elég nagy számot ahová biztosan nem fogsz értéket megadni. -
Fferi50
Topikgazda
Szia!
Ehhez igazán nem kell makró:
Kijelölöd az átlagot tartalmazó 3 cellát. Ezután jobb egérgomb. Beszúrás Cellák eltolása lefelé OK. Már írhatod is az üres sorba a számokat.
Ha mindezt makrórögzítéssel csinálod, akkor megnézheted utána azt is és használhatod is, csak arra kell vigyáznod, hogy indítás előtt az átlagot tartalmazó cellákat jelöld ki.Üdv.
-
moya#no1
aktív tag
Anumbersben beirtam az első dátumot cellában beállitotttam a formatumot, az egész oszlop automata kitöltés és megcsinálta az egész hónapot. Valahogy excel be csak az évek gyanapodtak
meg egy két ha fügvényes megoldás kellene a táblázatba azokat viszont már az évek alatt elfelejtettem -
Fferi50
Topikgazda
Szia!
A Thisworkbook kódlapjára másold be:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Type = xlWorksheet Then Range("A1").Select
End Sub
Ez minden esetben, amikor az aktívvá válik egy munkalap, az A1 cellára viszi a kurzort.
Ne feledd, hogy makróbarát (xlsm) munkafüzetként kell menteni.Ha viszont csak egyszer szeretnéd áttenni a kurzort, akkor ezt a makrót futtasd le:
Sub allitja()
Dim sh As Worksheet, ii As Integer
Application.ScreenUpdating = False
ii = ActiveSheet.Index
For Each sh In Worksheets: sh.Activate: sh.Range("A1").Activate: Next
Sheets(ii).Activate
Application.ScreenUpdating = True
End SubVégigmegy a munkalapokon és mindenütt az A1 cellára állítja a kurzort.
Ezt beteheted egy munkalap kódlapjára, vagy egy általános modulra, majd a futtatás után törölheted a kódot tartalmazó munkalapot és mentheted makró nélkül.Üdv.
-
Fferi50
Topikgazda
Szia!
Kijelölöd a C78 cellát, amibe beírtad a képletet. Ezután elhúzod jobbra egérrel, vagy kijelölöd az oszlopokat hozzá (beleértve a C78 cellát is) és Ctrl+J.
Több munkalapra egyszerre is megy a dolog. Kijelölöd a munkalap füleket Ctrl nyomva tartása mellett, ezután beírod a képletet a C78 cellába, elhúzod ameddig kell. A kijelölt munkalapokon is ott lesz a képlet a kijelölt sorokban.
Üdv.
-
Fferi50
Topikgazda
Szia!
Közben meglett a HELP-ből Alt + De az igaz, hogy csak akkor látod, ha beállítottad a sortöréssel több sorba tulajdonságot.
Nekem úgy sikerült, hogy először beírtam a cellába a szöveget képletként:
="Első sor" & Karakter(10) & "Második sor"
Majd másolás, irányított beillesztés - értéket.
A sortörés csak úgy érvényesül, ha beállítod a cellaformázásban, hogy sortöréssel több sorba.Az így előállított sortörést ki tudod másolni (csak egy karakter!), utána be lehet szúrni a többi cellába a megfelelő helyre, úgy már működik anélkül, hogy képletet tennél bele.
Üdv.
-
Delila_1
veterán
Írd be az első lap AA oszlopába a létrehozandó lapok elnevezését. Ha ez az oszlop foglalt, akkor egy másikba, a makróban meg írd át a
lapnev = Cells(sor, "AA")
sorban az AA-t a kiválaszott oszlopod betűjelére.
Sub Nyolcvan_Lap() 'a Föld körül
Dim sor As Integer, lapnev As String
For sor = 1 To 80
lapnev = Cells(sor, "AA")
Sheets(1).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = lapnev
Next
End SubA makrót modulba kell másolni, lásd a Téma összefoglalót.
-
lappy
őstag
a másodikra pedig amikor beállítod a listát akkor egy
=HA(ÜRES(D5)," ",$I$5:$I$7)
fv-l lehet korlátozni
D5 az első lista cellája
I5 : I7 a lista helye
ugyanúgy kell mint a legördülő esetén csak a lista megadáskor nem közvetlen a tartomány lesz beírva hanem egy ha fv-el éred el. -
lappy
őstag
Az elsőre nem vmi szép megoldás de kis számú lista esetén még használható:
ha kiválasztasz egy elemet az elsőből akkor a hozzá tartozó lista jön fel
a második elemnél a második lista jön be.
magyarul ha van 5 elem a listában akkor 5 tartományt hozol létre amiben van négy elem (az 5. lenne a kiválasztott)
Új hozzászólás Aktív témák
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Xiaomi Redmi Note 13 Pro Plusz
- Bomba ár! Lenovo X1 Carbon 3rd: i7-5GEN I 8GB I 512SSD I 14" WQHD I HDMI I Cam I W10 I Gari!
- 0% THM részletfizetés, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
- Lenovo LEGION Pro 5 / Pro 7, Lenovo Yoga Pro gépek (RTX 4060 / 4070 / 4080 / 4090)
- Bomba ár! Fujitsu LifeBook U758 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I W11 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest