-
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
-
Pá
addikt
válasz Delila_1 #52450 üzenetére
Az a baj, hogy egy táblázatban lévő számokra szeretném.
Sok országban használják a táblázatot Europán belül és nem egyértelmű, hogy mikor melyik pénznemben mutatja az értékeket tábla.Jelenleg a tábla sarkában van egy cella, ami aktuálisan mutatja, hogy milyen pénznemben kell érteni a benne lévő számokat.
Szóval szerepe nincs (nem is kell őket átváltani), egyszerűen csak vizuálisan jobb lenne, ha a táblázatban lévő számok is fel tudnák venni a táblázat sarkában lévő pénz formátumot.szerk: pontosan ezt az egyéni formátumot szeretném --> # ##0" USD"
Csak azt kéne, hogy az USD helyett mondjuk mindig azt írja ki, ami az A1 cellában van.
Szóval az USD rész kéne dinamikusan változzon egy cella alapján.[ Szerkesztve ]
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
Delila_1
Topikgazda
A helyedben nem a számok mellé, hanem a címsorba írnám a pénznemet.
="Összeg [" & A1 & "]"
Persze a pénznemtől függően nem Összeg, hanem a nyelvnek megfelelő szó kerülne a cellába. Azt egy Fkeres függvénnyel írathatnád be.
Kevesebb formázás, kisebb fájlméret.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!
Makró nélkül:
Kijelölöd a számokat tartalmazó táblázatot(tartományt). Jobb egérgomb - Cellaformázás - Számfül - Pénznem - kiválasztod az A1-ben szereplő pénznemet és a megfelelő tizedesjegyet, majd OK és lőn.
Ha ez nincs ínyedre, akkor nem fog makró nélkül menni.
Egy lehetséges makró:Sub penznem()
Selection.NumberFormat = "#,##0 [$" & Range("A1").Text & "]"
End Sub
Kiválasztod a tartományt, utána elindítod a makrót, rendelhetsz hozzá gyorsbillentyűt is.
Üdv. -
Pá
addikt
Köszi mindkettőtöknek!
Igazából annyira nem volt fontos, csak apró vizuális tuning lett volna, ha könnyen megoldható. Sajnos egyik ötlet sem pont olyan volt, amilyet szerettem volna, és kereséssel sem találtam rá megoldást, szóval inkább elengedtem.''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
Delila_1
Topikgazda
Na még egy próba.
Mikor a lapra lépsz, akkor indul. A makró a B oszlopot formázza, B2-től az utolsó adatig.
A laphoz kell rendelni.
Megjegyzem, továbbra is a címsorba írnám, nem a teljes oszlopba.Private Sub Worksheet_Activate()
Dim ter As Range
Set ter = Range("B2:B" & Range("B2").End(xlDown).Row)
ter.NumberFormat = "#,##0 [$" & Range("A1").Text & "]"
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.
-
Pá
addikt
Ja, semmiképp nem úgy értettem, hogy a ti hibátok, éreztem, hogy valószínűleg nem tudtam jól átadni amit akartam.
Tegnap volt egy pár órás ablakom leadni egy változást egy file-ra munkahelyen, mivel nem mi kezeljük azt, így át kellett küldenem valakinek, miket írjon át benne. Emiatt makrót sem lehetett beletenni, ez számomra nyilvánvaló volt, de most látom, hogy nem írtam az eredeti hozzászólásomban. Amúgy a makrós megoldásaitok működtek volna, így átnézve a kódot.
Közben más dolgokat is csináltam, szóval elég kapkodós volt, nem tudtam erre szentelni a teljes figyelmem. Csak néha ránéztem a file-ra 5-10 percet, két másik dolog között.Elsősorban azt akartam gyorsan megtudni, hogy ha custom formátumot állítok be, akkor abban valamilyen módon lehet-e cellára hivatkozni, vagy bármilyen függvényt használni, de arra jutottam, hogy nem igazán és innentől hagytam az egészet, mert nem akartam nagyon túlbonyolítani, úgy, hogy nem is én kezelem a file-t és nem is volt időm elmerülni a kérdésben. Ez amúgy sem befolyásolt volna funkciót, csak ilyen utolsó simításnak szántam.
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
Fferi50
őstag
Szia!
Akkor a feltételes formázás lesz a barátod!
Kijelölöd a táblázat lehetséges tartományát.
Kezdőlap - Feltételes formázás - új szabály - a formázandó cellák kijelölése képlettel - Értékek formázása, ha ez a képlet igaz, a képlet
=$A$1="HUF"
Formátum: Szám fül - Pénznem - itt beállíthatod a tizedest ha kell, ill. a pénznem hárombetűs kódok (ami a felsorolás vége felé van) közül kiválasztod a HUF értéket.
Majd OK, OK gombok.
Ezt feltételes formázás beállítást - ugyanazon a munkalapon - beállítod az összes előfordulható pénznemre - egymás után, ugyanarra a tartományra, a képletben a megfelelő kódot beírva és a formátumban kiválasztva.
Ezután a munkalapon mindig olyan számformátum jelenik meg, amilyen kódot az A1 cellába írtál.
Így talán megfelelő lehet.
Üdv.[ Szerkesztve ]
-
Pá
addikt
válasz Fferi50 #52458 üzenetére
Igen, köszi, ez valóban működik és már csináltam is, bár akkor csak 2 extra deviza volt.
Viszont most, mivel nem saját workbook, nem akartam kihúzni a gyufát azzal a másik csávónál, hogy ezt elkezdem vele beállíttatgatni az exceljében ~15 devizára.
Így is szívességet tesz, hogy egyáltalán beleteszi.Ettől függetlenül köszönöm az ötleteket, nem kizárt, hogy még felhasználom majd egy későbbi projectben. Most tervezek bár fejlesztést a saját meglévő tábláinkon, szóval még jól jöhet.
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
Delila_1
Topikgazda
Na és ez?
Az A1-ben szerepelhetne érvényesítésként a 15 pénznem.
Akkor át lehetne írni a makrót (csak a címét), hogy ne a lapaktiválására induljon, hanem az A1 módosítására.
A kezdősor Private Sub Worksheet_Change(ByVal Target As Range), és a feltétel
If target.address="$A$1"[ 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.
-
senior tag
Sziasztok!
Biztos nem csak nálam merült fel igényként, hogy az excel beépített keresője (CTRL+F billentyűkombinációra jelenik meg) a megadott - keresendő érték megtalálásakor ráugrik arra a cellára ahol abban az értéket megtalálta. A kellemetlen az, hogy csak ráugrik és nem különül el, és így nehezen kiszúrható, észrevehető pl egy 80%-ra csökkentett nézetű, teli adatokkal lévő táblázatnál.
Lenne arra mód, beállítás, hogy a megtalált értékű cellát vizuálisan jobban elkülöníthetővé tegyük? (pl háttérszínezéssel)
[ Szerkesztve ]
-
Pá
addikt
válasz Delila_1 #52460 üzenetére
Köszönöm, a makró jól működik, csak pont a tegnapi filehoz nem tudtam használni. De félretettem későbbi hasonló esetekre.
Viszont a ByVal működést/logikát nem igazán értem. Ezt nem szoktam használni.
Így raktam be és végül is működik, de nem tudom ez a helyes interpretáció-e vagy barbárkodtam.Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Dim ter As Range
Set ter = Range("B2:B" & Range("B2").End(xlDown).Row)
ter.NumberFormat = "#,##0 [$" & Range("A1").Text & "]"
End If
End Sub
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
underdark
aktív tag
Üdv
Hogy tudnám ezt megoldani, mindkét cella lenyíló lenne, az E oszlop Pos lenne a kiinduló cella, ha ott kijelölöm pl a GK-t, akkor csak azokat a neveket adja be választhatóként amik hozzá tartoznakEgy próbát csináltam úgy, hogy lebontom őket külön külön táblázatba és úgy csinálom meg a listákat, majd indirekt függvényt használok, de ez szerintem túlbonyolított, biztos van más megoldás is
[kép]
Köszi!"akinek minden a vállán nyugszik, nem nyugszik senki vállán"
-
senior tag
Végül kb megoldottam magam egy vba makró modullal:
Sub Szines_kereso()
Dim ws As Worksheet
Dim xRg As Range
Dim xFRg As Range
Dim xStrAddress As String
Dim xVrt As Variant
Dim cellaszin As Long
' Munkalap inicializálása
Set ws = ThisWorkbook.Sheets("Munkalap")
Do
xVrt = Application.InputBox(prompt:="Keresés: (Kilépéshez hagyja üresen és kattintson az OK-ra) ", Title:="Keresőablak találati színezéssel")
If xVrt <> "" Then
Set xFRg = ActiveSheet.Cells.Find(what:=xVrt)
If xFRg Is Nothing Then
MsgBox prompt:="A keresett érték nem található", Title:="Keresőablak találati színezéssel"
Exit Sub
End If
xStrAddress = xFRg.Address
Set xRg = xFRg
Do
Set xFRg = ActiveSheet.Cells.FindNext(After:=xFRg)
Set xRg = Application.Union(xRg, xFRg)
Loop Until xFRg.Address = xStrAddress
If xRg.Count > 0 Then
cellaszin = xRg.Interior.ColorIndex
xRg.Interior.ColorIndex = 8
ws.Rows(xRg.Row).Select ' Ha találtunk valamit, ugorjunk a megtalált cella sorához
xRsp = MsgBox(prompt:="Akarja törölni a talált cella színezését?", Title:="Keresőablak találati színezéssel", Buttons:=vbQuestion + vbOKCancel)
If xRsp = vbOK Then xRg.Interior.ColorIndex = cellaszin 'cella háttérszín visszaállítása
End If
End If
Loop Until xVrt = "" ' Do ciklus záróeleme
End Sub -
atyca
senior tag
Sziasztok!
A következőre keresek megoldást:
Ha a L3 cella tartalma a legördülő listából kiválasztott "Lakcím" akkor a G3 cella tartalmát, ha "Intézmény" akkora C1 cellába írt tartalmat jelenítse meg a cellában.
Remélem érthető...
Köszi előre is a segítséget!Win11 Pro/64, MI TV Stick, Kodi 20.2 (többi az adatlapomon)
-
Delila_1
Topikgazda
Ha ez a két szöveg lehet az L3 cellában, akkor a képlet abban a cellában, ahol meg akarod jeleníteni az értékeket, legyen
=HA(L3="Lakcím";G3;C1)
.
Ha több szöveg is szerepelhet az érvényesítésben, akkor a képlet=HA(L3="Lakcím";G3;HA(L3="Intézmény";C1;""))
.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Rhair
csendes tag
Sziasztok
Feltételes formázásnál az adasávokat szeretném használni
Van arra lehetőség, hogy többet alkalmazzak?
P.
0-1 között sárga
2-3 között zöld stb.
Kösz -
atyca
senior tag
Sziasztok!
Egy táblázat celláihoz naptár funkciót adtam [link] , a linkelt leírás alapján.
Sajnos felhasználói oldalon a Microsoft letíltja a makrók használatát, így ez a funkció elveszik.
Megoldható a dokumentum szerkesztésekor ennek az elkerülése, a makró biztonságosnak jelölése?
(Esetleg a naptárra van valami makrómentes megoldás?)Win11 Pro/64, MI TV Stick, Kodi 20.2 (többi az adatlapomon)
-
underdark
aktív tag
Hali
Az mi határozza meg, ha egy függvénybe táblázatból akarok teljes oszlopot betenni, van amikor Táblázat(Name), máskor meg A1:A41 stb. mindkétszer a fejlécre megyek, de nekem maga a táblázat oszlop neve kéne, hogy szerepeljen a függvényben, mert jobban lekövethető"akinek minden a vállán nyugszik, nem nyugszik senki vállán"
-
MC Pite
veterán
Sziasztok, nem biztos hogy van erre megoldás, de hátha van valami ötlet.
Van egy HMI kijelző fájl, valamiért a referenciák elromlottak. Így sajnos jobb híján a 7500 sort ismétlődési referenciák nélkül, egyesével exportáltam, és javítom az elcsúszásokat (kb 60% hibás).
Van amikor az E oszlopban lévő magyar szöveg után jó érték van az F-en, van amikor nem. Akár több százszor is ismétlődhet adott szöveg, így ha van rá mód azt szeretném valamilyen cserével, vagy bármivel, ha az E cellában adott szöveg van, akkor ennek megfelelőjét rakja az F-be.
Képlet így gondolom nem mehet az F-be, és a keresésnél nem sikerült ilyet. Az lenne a legjobb, ha tudnék úgy cserélni, hogy ha ez az E és ez F (általában ugyanaz van ott rosszul), akkor erre cserélje az F-et.
Van erre bármilyen megoldás? Kézzel, mindent több tucatszor/több százszor cserélgetve ez 2-3 nap lesz (az import közben fellépő hibákban nem sikerült rendszert találni).
[kép]
szerk: Alapból google sheets áll rendelkezésre, de szükség esetén a privát notinom van office, ha abban van valami plusz amit fel tudnék használni.
[ Szerkesztve ]
<ELADÓ: Pixel8HibridTok> Pixel 8 | C4 SpaceTourer 1.2 Pt '18 | 208 1.2VTi '18 | https://www.spritmonitor.de/en/user/MC_Pite.html
-
Emod
kezdő
válasz MC Pite #52481 üzenetére
Szia!
=XLOOKUP(E1; J:J; K:K)
Feltételezve, hogy a J oszlopban vannak az E oszlop várható értékei és a K-ban az F oszlop értékei.
Miért ne mehetne képlet az F-be? Ha nem kell a képlet a végén -> másolás-értékek beszúrása (ctrl+c, ctrl+shift+v).
Így mindent lecserél az F oszlopban, de a leírás alapján nekem úgy tűnik ez nem okozna problémát.
-
MC Pite
veterán
Hm, nézegetem... a várható értékek az kb 1500-2500 féle szöveg, azt próbáltam egy-egy gyakran ismétlődőt ha végigfuttatok, legalább azokra tudok cserélni.
Az hogy beillesztem szövegként az oké, de a 7500 sorból csak pl 4100 adatot kéne cserélni, random hogy melyikeket, nem egybefüggő.Azt hiszem az lehet a leggyorsabb, ha sima cserével egyesével cserélem ahol többször ugyanazzal keverte el (mert a hibás szöveg nem cserélhető mindenütt, mert van ahol az a jó text)
<ELADÓ: Pixel8HibridTok> Pixel 8 | C4 SpaceTourer 1.2 Pt '18 | 208 1.2VTi '18 | https://www.spritmonitor.de/en/user/MC_Pite.html
-
Fferi50
őstag
válasz MC Pite #52484 üzenetére
Szia!
Jövőbeni hasonló problémák elkerülése érdekében:
1. Létrehozni az egyedi E értékekre a helyes párt egy referencia táblában, ezt jól eltárolni.
Az E oszlop kimásolása egy új helyre, majd ismétlődések eltávolítása (google sheet-ben is van ilyen, talán egyedi értékek a neve). Ez az alaptábla a későbbiekre.
2. Az "elromlott" tábla F oszlopába Fkeres vagy Xkeres (Google sheet Vlookup) függvénnyel megkeresni a jó referencia táblában az értéket. Ezután F oszlop másol -- ugyanide irányított beillesztés értéket.
Üdv.[ Szerkesztve ]
-
MC Pite
veterán
válasz Fferi50 #52485 üzenetére
Köszi!
A gyakorlatban ezt nem olyan könnyű kivitelezni, a következő projekt 14000 soros, erre saccperkábé 6000 értéket kellene felvenni - de ennél is több ezer.
Ehelyett inkább átmásolok minden magyar szöveget egy újnál, és ctrl+h-val körültekintően cserélgetem.<ELADÓ: Pixel8HibridTok> Pixel 8 | C4 SpaceTourer 1.2 Pt '18 | 208 1.2VTi '18 | https://www.spritmonitor.de/en/user/MC_Pite.html
-
Csápájev
őstag
bocsanat,törölhető
[ Szerkesztve ]
-
föccer
nagyúr
Sziasztok!
Egy névkezelőben elnevezett tartománynak hogyan tudok hivatkozni egy adott oszlopára?
Szumhatöbb függvénynél jött elő a kérdés.
Egy elnevezett tartomány 1 és 4 oszlopa lenne a kritérium tartomány 1 és 2. és a 3. oszlopa az összeg tartomány
Ismételten köszönöm a segítséget
fg
SZUMHATÖBB(
Építésztechnikus. Építőmérnök.
-
Fferi50
őstag
válasz föccer #52488 üzenetére
Szia!
Egy lehetőség azEltolás (Offset)
függvény használata. Azt kell figyelembe venni, hogy az elnevezett tartomány első oszlopa a függvényben a 0. oszlop, így a második oszlop:=Eltolás(Név;0;1;;1)
A paraméterek:
1. paraméter: Ahonnan az eltolást számítjuk - itt az egész nevesített tartomány
2. paraméter: A sorok száma, amennyivel el kell tolni a tartományt - mivel maradunk a tartománynál, itt ez az érték 0
3. paraméter: Az oszlopok száma, amennyivel el kell tolni a tartományt - mivel a második oszlop az elsőtől 1 távolságra van ezért az érték értelemszerűen 1 (az első oszlop esetén 0)
Ez a 3 paraméter kötelező. A következő kettő opcionális:
4. paraméter: Az eltolás eredményeként létrejövő tartomány sorainak a száma. Ha nem adunk meg értéket - azaz kihagyjuk - akkor az eredeti tartomány sorainak száma marad. Ezért hagyjuk ki, mert nekünk minden sor szükséges.
5. paraméter: Az eltolás eredményeként létrejövő tartomány oszlopainak száma. Mivel egy oszlopot szeretnénk eredményként kapni, ez a paraméter 1
Így kaphatod meg a többi oszlopot is a megfelelő paramétereket használva. Így nem kell tudnod a nevesített tartomány címét.
Másik lehetőség: A tartományt nevesítés helyett Táblázattá alakítod (Beszúrás - táblázat )
Ez alapján a táblázat egyszerűsített hivatkozásait használhatod.
[link] Itt találod hozzá a súgót.
Üdv. -
Gunners
csendes tag
Sziasztok
Azt hogy lehetne megoldani, hogy ha kiválaszom a listából az adott színt, akkor a hozzá tartozó értékeket mutassa?
Az L-M az egy másik munkalapon lenne
Lényeg, hogy nem akarok előre beállított cellákat használni, hanem csak egy cella lenne ez a lenyíló lista
Olyasmire gondolok mint a sima =L2:M4 csak listához kötve .)
Köszi! -
-
Lasersailing
senior tag
Sziasztok,
Szeretnék egy excel sheetet két példányban kinyomtatni. A sheetet makróval megformázom, azzal minden oké. A két példány között két különbséget szeretnék:
1) az egyik sheetet szinesben a másikat fekete-fehérben szeretném kinyomtatni
2) a fekete fehér példányon szeretnék egy feliratot megjeleníteni, hogy "másolat"Egyedül a másolat felirat nem jön össze, fontos lenne, hogy nagyméretben kerüljön rá, hogy véletlenül se tudják összekeverni a két példányt. A jelenlegi programkód a második példány nyomtatására:
' ActiveSheet.TextBox.Visible = True
ActiveSheet.PageSetup.BlackAndWhite = True
Selection.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.BlackAndWhite = False
' ActiveSheet.TextBox4.Visible = FalseA két kitörölt sor nem működik lépésenkénti futtatásnál megáll (eredetileg textbox 4-nek hívta, de sima textbox-szal sem működik
(a textbox áttetsző + Másolat felirat van benne)Hibaüzenet:
Run-time error '438':
Object doesn't support this property or method -
Fferi50
őstag
válasz Lasersailing #52495 üzenetére
Szia!
a.) Szerintem próbáld meg a PrintObject tulajdonságot. Ha True, akkor nyomtatásban látszik, ha False akkor nem látszik a nyomtatásban.
b.) Nézd meg légy szíves az Immediate ablakban, hogy az adott munkalapon hány SHAPES van. Amelyik a Textboxot tartalmazza, annak a Visible tulajdonságát állíthatod:
pl. ActiveSheet.Shapes(1).Visible=True / False ha csak egy ilyen van a munkalapon.
c.) Esetleg érdemes lenne elgondolkodnod vízjel hozzáadásán.
[link] Itt egy magyarázat és videó hozzá.
Üdv.[ Szerkesztve ]