-
IT café
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
-
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)Bámulatos hol tart már a tudomány!
-
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.Bámulatos hol tart már a tudomány!
-
Delila_1
Topikgazda
Í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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
Fferi50
őstag
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.
-
Delila_1
Topikgazda
Az A2 képlete:
=HAHIBA(INDEX($H$1:$L$16;SOR();HOL.VAN($A$1;$H$1:$L$1;0));"")
A képletben szereplő tartományokat ($H$1:$L$16 és $H$1:$L$1) az adataidnak megfelelően módosítsd.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
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
Just Ride KTM
-
Fferi50
őstag
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.
-
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.[ Szerkesztve ]
-
pigster
senior tag
-
Fferi50
őstag
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.
-
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ó) -
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
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ó[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Fferi50
őstag
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.
-
Fferi50
őstag
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.
-
Delila_1
Topikgazda
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.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
Delila_1
Topikgazda
Esetleg ha pontosítanád, hogy mekkora tartományra vonatkozzon a 4. sor celláinak a háttér kitöltése, nem kellene újra és újra átírni a makrót.
A kérdés feltevése előtt gondold át, mire van szükséged. Ha segítséget kérsz, ne pazarold a segítő idejét!Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
Na látod, erről írtam. Nekiestem megírni a makrót, aztán kiderül, hogy egészem másról van szó, kezdhetem az elejétől. Még várok egy ideig, míg véglegesíted a feladat leírását.
A D oszlopban változó mennyiségű adat van? Nincsenek az adatok között üres cellák?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív 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
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
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.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
Az A3 cella képlete
=HA(INDEX($1:$1;1;HOL.VAN(A2;$1:$1;0)+1)="";$C$1;INDEX($1:$1;1;HOL.VAN(A2;$1:$1;0)+1))
Ezt másolhatod lefelé akármeddig.
Szerk.: a neveket is tetszőlegesen bővítheted az első sorban.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
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.
Új hozzászólás Aktív témák
- BMW topik
- EA Sports WRC '23
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- BestBuy ruhás topik
- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Samsung Galaxy S21 FE 5G - utóirat
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- DIGI internet
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- További aktív témák...
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Canva Pro előfizetés - 1 éves
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!