-
GAMEPOD.hu
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
-
Slowman
aktív tag
Sziasztok,
korábban már kérdeztem ezzel a problémával kapcsolatban (#36371), de azóta sem tudtam megoldani (nem nagyon értettem a tippet ). Újramelegítette a főnök a témát.
A feladat az, hogy különböző részlegek fogyasztását kimutassuk egy diagramba, viszont minden részleg más célt kapott. A célokat kombinálva vonal és oszlopdiagrammal kell megjeleníteni. Eddig számomra csak az a verzió ismert (jobb klikk → más diagramtípus → vonal stb.) viszont ebben az esetben egy folytonos vonaldiagram jelenik meg nekem meg úgy kéne ahogy a képen van de ezt ugye beszúrt vonalalakzatokkal oldottam meg manuálisan. Feltettem Drive-ra az excel egy részét (több diagramm van de ha egynél valaki megoldja esetleg abból már jobban látom mi történt) De ha egyszerűen leírható és ezt megteszi valaki az is jóElőre is köszönöm!
-
ztibor
senior tag
Sziasztok!
Kis segítség kellene.
Azt szeretném elérni hogy ha mondjuk a H3-as cellába mondjuk 1-et írok, akkor az előtte lévő cellák (a3:g3) sárgák legyenek. Ezt sikerült is megvalósítanom a feltételes formázással (=H3="1" képlettel a sort kijelölve).
A problémám itt kezdődik.
Ezt kb 100 sorral szeretném megtenni, azaz ha a H oszlop adott sorába írok egy 1-est, akkor az előtte lévő sor sárga legyen.
Ezt már nem tudtam sehogy megvalósítani csak ha soronkénti kijelöléssel megcsinálnám a feltételes formázást.
Lehetséges, vagy egyenként kéne megformáznom a sorokat?Remélem érthetően írtam le
Előre is köszi a segítséget. -
EmberXY
addikt
Sziasztok!
Egy összetett problémát szeretnék megoldani, ehhez kérnék segítséget. Excel 2016-ban dolgozom, egy táblázat egyik oszlopának celláihoz hivatkozásként 1-1 pdf fájl van rendelve. A problémám első fele az, hogy miként tudnám valahogy hordozhatóvá tenni a hivatkozások működését (ugyebár egy mappában vannak a hivatkozott fájlok, de ha a mappa helye változik, már nem működnek), hogy akár tömörítve küldeni tudjam a táblázatot a hozzá tartozó fájlokkal, és az másutt is működjön?A problémám második része, hogy ezekben a pdf fájlokban szerepelnek olyan adatok, amelyek a táblázatban nem, viszont szükség lenne rájuk, a pdf fájlok felépítése ugyanolyan, kategorizálva vannak bennük az adatok, valahogy el lehet azt érni, hogy egy bizonyos kategória adatait kiemeljem? Például egy bizonyos megnevezés melletti számadatot vennék ki egy a hivatkozás melletti cellába, ezt meg lehet valahogyan oldani? A cél az lenne, hogy ne kelljen feltétlenül megnyitni a pdf-et, ha az adott adat szerint akarok rangsorolni.
Köszönöm előre is, ha van valakinek ötlete.Up the Irons!
-
Fferi50
őstag
válasz ztibor #36503 üzenetére
Szia!
A feltételes formázási szabályt kiterjesztheted a további sorokra, nem kell hozzá új szabályokat írni:
Kijelölöd az A3:G3 cellákat - másolás -kijelölöd az A4:G1500 cellákat - irányított beillesztés - formázás és máris kész.
Vagy:
Kezdőlap - feltételes formázás - szabályok kezelése - ez a munkalap - az A3:G3-ra vonatkozó szabály érvényesség mezőjébe beírod: $A3:$G1500 - ok.Üdv.
-
bsh
őstag
Üdv.
Próbálnék egy olyat megoldani, hogy egy bazihosszú képlet helyett egy rövidebb saját függvényt használni, ami ugyanazt csinálná. Így még pár extra egyszerűsítést is bele tudnék mókolni.
Application.Caller-rel megpróbálnám kiolvasni, hogy hányadik sorból hívódik a képlet (így nem kéne megadni paraméternek semmit)
De random módon olyan hibákat csinál, hogy pl. azt mondja, hogy "Application.WorksheetFunction osztály Match tulajdonsága nem érhető el" (miközben watch szerint elérhető) meg ilyenek...
Ez az Application.Caller-t nem ismerem, gondolom ezzel kell valamit trükközni? Mert magában a funkcióm az működik.Public Function KKERES() As Double
KKERES = 0
If TypeOf Application.Caller Is Range Then
Dim Caller As Range
Set Caller = Application.Caller
Dim Z As String
Z = Munka2.Cells(Caller.Row, 2).Text
If Z <> "" Then
On Error GoTo notfound
X = Caller.Application.WorksheetFunction.Match(Z, Munka3.Range("B:B"), 0)
If IsError(X) Then
Y = Caller.Application.WorksheetFunction.Match(Z, Munka4.Range("B:B"), 0)
If IsError(Y) Then Y = Caller.Application.WorksheetFunction.Match(Z, Munka4.Range("C:C"), 0)
If IsError(Y) Then
On Error GoTo 0
KKERES = 0
Exit Function
Else
On Error GoTo 0
If Caller.Column = 5 Then
KKERES = Munka4.Cells(Y, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka4.Cells(Y, 6).Value
Exit Function
End If
End If
Else
On Error GoTo 0
If Caller.Column = 5 Then
KKERES = Munka3.Cells(X, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka3.Cells(X, 6).Value
Exit Function
End If
End If
End If
End If
notfound:
End Function -
Pakliman
tag
Hali!
Bár életemben nem használtam még az
Application.Caller
cuccot, de szinte biztosan hibás azX = Caller.Application.WorksheetFunction.Match
.
Szerintem próbáld így:Application.WorksheetFunction.Match(...)
, vagyApplication.Match(...)
. Én az utóbbit használom.A kettő csak a "találatmentesség" esetén tér el.
Az előbbi azOn Error ...
"hibakezelővel", az utóbbi azIsError(...)
függvénnyel kezelhető.[ Szerkesztve ]
-
Fferi50
őstag
Szia!
Egyrészt talán nem szerencsés, hogy egy VBA névvel (Caller) jelölöd a saját változódat. Ez okozhat problémákat. Bár valószínűleg itt nem ez az elsődleges probléma.
Ahogyan már az előttem szóló is írta, a
Caller.Application.Worksheetfunction.Match helyett írj csak
Application.Match kifejezést.
Ennek az előnye az, hogy nem kell külön hibakezelési eljárást írni a makróba, mert nem idéz elő hibát.
Viszont a változót Variant-nak kell deklarálni és mindig meg kell vizsgálni, hogy a művelet eredményeként nem hiba lett-e a változó értéke.Ezt próbáld meg:
Public Function KKERES() As Double
Dim X As Variant, Y As Variant
KKERES = 0
If TypeOf Application.Caller Is Range Then
Dim Caller As Range
Set Caller = Application.Caller
Dim Z As String
Z = Munka2.Cells(Caller.Row, 2).Text
If Z <> "" Then
X = Application.Match(Z, Munka3.Range("B:B"), 0)
If IsError(X) Then
Y = Application.Match(Z, Munka4.Range("B:B"), 0)
If IsError(Y) Then Y = Application.Match(Z, Munka4.Range("C:C"), 0)
If IsError(Y) Then
KKERES = 0
Exit Function
Else
If Caller.Column = 5 Then
KKERES = Munka4.Cells(Y, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka4.Cells(Y, 6).Value
Exit Function
End If
End If
Else
If Caller.Column = 5 Then
KKERES = Munka3.Cells(X, 5).Value
Exit Function
End If
If Caller.Column = 6 Then
KKERES = Munka3.Cells(X, 6).Value
Exit Function
End If
End If
End If
End If
End FunctionÜdv.
-
nagyúr
-
Fferi50
őstag
válasz Slowman #36502 üzenetére
Szia!
Egy javaslatot feltettem IDE, szerintem használható.
Sajnos csak úgy lehet megoldani, hogy egy másik diagramra bevisszük a célértékeket, majd a 2 diagramot egymásra tesszük.A célokat tartalmazó diagram típusa dobozos ábra (nem tudom, milyen verziód van, lehet nincs benne ilyen lehetőség, akkor sajnos nem fog menni).
Az összes területet átlátszóvá kell tenni és ezt tesszük felülre.
Az illesztést úgy tudod megoldani könnyen, ha az eredeti diagramot lemásolod és a másolatban módosítod az adatokat és a diagramtípust. Az egyes sorozatok színbeállítását is módosítani kell ( ).Üdv.
-
bsh
őstag
válasz Fferi50 #36510 üzenetére
helló,
sajnos még mindig csak részben működik ez a függvény. így néz most ki:Public Function KKERES() As Double
KKERES = 0
If TypeOf Application.Caller Is Range Then
Dim Cllr As Range
Set Cllr = Application.Caller
Dim Z As String
ZNr = Munka2.Cells(Cllr.Row, 2).Text
If Z <> "" Then
Dim X As Variant, Y As Variant
X = Application.Match(Z, Munka3.Range("B:B"), 0)
If IsError(X) Then
Y = Application.Match(Z, Munka4.Range("B:B"), 0)
If IsError(Y) Then Y = Application.Match(Z, Munka4.Range("C:C"), 0)
If IsError(Y) Then
KKERES = 0
Exit Function
Else
If Cllr.Column = 5 Then
KKERES = Munka4.Cells(Y, 5).Value
Exit Function
End If
If Cllr.Column = 6 Then
KKERES = Munka4.Cells(Y, 6).Value
Exit Function
End If
End If
Else
If Cllr.Column = 5 Then
KKERES = Munka3.Cells(X, 5).Value
Exit Function
End If
If Cllr.Column = 6 Then
KKERES = Munka3.Cells(X, 6).Value
Exit Function
End If
End If
End If
End If
End Function
az én gépemen (office 2013) látszólag működik, de teszteltem egy office2016-os gépen, és ott sok cellára #ÉRTÉK-et ad vissza meg hibát dob a VB. megnéztem egy office2010-es gépen is, ott is jól működik.
lehet valami O2016-nál ami máshogyan működik mint a korábbi verzióknál? (sajnos most nincs szabad o2016 gép debuggolni.)[ Szerkesztve ]
-
Fferi50
őstag
Szia!
Egyrészt a deklarációkat szerintem tedd a függvény elejére. Jobban áttekinthető.
Másrészt írd be az Option Explicit kapcsolót a modul elejére. Ebben az esetben a következő hibát nem tudod elkövetni:
" Dim Z As String
ZNr = Munka2.Cells(Cllr.Row, 2).Text
If Z <> "" Then"Azért jönnek a hibák, mert egy érték nélküli változót használsz később.
Üdv.
-
Peetey91
senior tag
Sziasztok!
Az alábbi problémával kapcsolatban lenne szükségem segítségre, berakok egy képet, talán könnyebb elmagyaráznom:
Van két táblázat, az első kitöltött, a második nem. Soronként összetartoznak, tehát A=igaz, C=hamis, stb. A második táblázatban lenne szükségem az értékeikre, viszont az ABCD azonosító sorrendje különböző. Tehát valami olyasmi kéne, hogy kikeresse a "D" oszlop tartalmát, ezt megkeresse az "A" oszlopban, majd a rá vonatkozó "B" oszlop adatát az "E" oszlopban kiírja. (Arra is van esély, hogy a 2. táblázatban van egy pl. G betű, aminek nincs párja az 1. táblázatban, de ez már csak hab a tortán )
Remélem nagyjából érthető, elég nagy listával kéne dolgoznom, nagyon kéne rá egy függvény, mert kb sosem végeznék.
Köszönöm előre is![ Szerkesztve ]
-
glocker
tag
Sziasztok!
előre bocs, ha már volt ilyen kérdés...
Szeretném ha az excel nem kezelné számokként azokat a szövegeket amelyek számnak látszanak (számként is értelmezhetők)
Pl.
szeretném ha ez '00123' ez is maradna, és nem változtatná át 123-nak...hol kell ezt kikapcsolni / beállítani?
előre is kösz!
[ Szerkesztve ]
bocs a béna kérdéseket :-(
-
Delila_1
Topikgazda
válasz glocker #36524 üzenetére
A kérdéses cellák formátuma legyen szöveg.
Vagy az egyéni kategóriában 0000#. Ekkor vezető nullákat ír a beírt szám elé. Számként értékeli, de a megjelenése az ízlésed szerint való lesz.
[ 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.
-
glocker
tag
válasz Delila_1 #36525 üzenetére
Igen, azt szeretném, ha a kérdéses cellák FORMÁTUMA szöveg lenne...
(most megoldottam azzal, hogy txt-be kiexportáltam amit kellett, onnan pedig egy irányított beolvasást végeztem szövegből... amelynek során konkrétan megadtam, hogy a beolvasandó oszlopok "értelmezése" Automatikus helyett legyen TEXT)
de azt szeretném, ha az EXCEL soha nem értelmezné (formázná) magától a szövegnek látszó text-eket számként... majd én megmondom, hogy mi a szám... ha arra kerül sor... nálam sokkal gyakoribb, hogy ez a "segítség" csak zavar...
bocs a béna kérdéseket :-(
-
Delila_1
Topikgazda
válasz glocker #36527 üzenetére
Sajnos az Excel alkotói túlságosan segítőkészek, ami sok galibát okoz. Például egy felsoroláshoz beírsz 1.1-et, mire azonnal átalakítja kérdés nélkül 01.jan-ra, mert arra tippel, hogy dátumot szerettél volna megadni.
Azért javasoltam a 0000#-os formátumot, mert bár megadod, hogy bizonyos cellák adatait szövegként értelmezze, ha az a fehérnemű van rajta, mégis számértékként rögzíti.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
user112
senior tag
Sziasztok!
Lenne valami automatizmus a szövegek ábra szerinti átmozgatására?
Köszönöm
-
ben800
aktív tag
Sziasztok !
Egy olyan gyors kérdésem volna hogy SZUMHATÖBB függvényben meg lehet-e adni valahogy hogy egyszerre 2 kritériumot is elfogadjon egy helyre ??Tehát valami olyasmire gondoltam hogy akkor adja össze a számokat ha VAGY jellemző 1 vagy jellemző 2 érvényes rá.
Vagy függvénnyel próbáltam és sajnos hibát írt ki rá.
-
Delila_1
Topikgazda
válasz ben800 #36530 üzenetére
Gyors kérdésre gyors válasz: nem. A szumhatöbb kritériumai ÉS kapcsolatban vannak egymással.
Felvehetsz egy új oszlopot, ahova VAGY-gyal beteszed a két feltételt, és értéket (0; 1) rendelsz hozzá, majd a szumhatöbb függvénnyel erre az oszlopra hivatkozol.
=ha(vagy(a1=1;a1=2);1;0)
[ 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.
-
Ghoosty
őstag
válasz Pakliman #36537 üzenetére
Az is jó megoldás, hogy ha simán hivatkozod a
c2
-ben ab3
cellát. Kijelölöd aC2:C3
tartományt. Kimásolod, kijelölöd a megfelelő tartományt, majd beilleszted. Mivel ugyanúgy páros lesz a kijelölés, ezért mindenhova beilleszti a megfelelő képletet. Utána ha ki akarod törölni, csak rászűrsz az üres sorokra és kész is.Amúgy köszönöm, az CÍM függvényt nem ismertem, de most már igen. Meg az indirktbe beágyazása is tetszik.
[ Szerkesztve ]
-
fricc_
tag
Sziasztok!
Segítséget szeretnék kérni.
Egy ciklussal több munkalapot tartalmazó táblázat azonos sorában végzek cella műveleteket.
Az adott munkalapon lévő adatok különböző hosszúságú adatokkal vannak feltöltve, az adatsor végét az jelzi, hogy az utána következő pár oszlop el van rejtve ,majd jönnek egyéb adatok, de azok már nekem nem kellenek.A probléma amibe beletört a bicskám, hogy a ciklus addig fusson amíg a vizsgált cella nem rejtett.
Hogyan lehet ezt lekérdezni, illetve megvalósítani? (office 2003) -
Angerfis
csendes tag
Sziasztok
Az alábbi gonddal küzdök és nem tudok rá megoldást!Van egy hálózati nyomtató amit több helyről használnak. De a gond a következő hogy a kimenet változhat tehát nem biztos hogy mindig Ne09 lesz a kimenet hanem lehet Ne10 is. Azt hogy lehet neki megadni hogy az éppen aktuális kimenetet használja, hogy ne keljen mindig a macrot átírogatni?
Segítségeteket előre is köszönöm.
TisztelettelSub Nyomtatas()
Application.ActivePrinter = _
"\\............\.............RICOH-Aficio-MPC4502-PCL-6 a(z) Ne09: kimeneten"
ExecuteExcel4Macro _
"PRINT(1,,,1,,,,,,,,2,""\\\\............\.............RICOH-Aficio-MPC4502-PCL-6 a(z) Ne09: kimeneten"",,TRUE,,FALSE)"End Sub
"Vagyok aki vagyok, mert kell egy ilyen is"
-
Kobe
veterán
szaisztok
VBA kóddal lenne egy kis gondom.
Van egy sharepoint eltöltős makróm, és azt szeretném, ha az Excel fileban - tartalomtól, worksheetek számától stb függetlenül, a legvégén mindig cska az a 2 worksheet (2 riport) maradna, amit én töltök leEz egy heti riport, a worksheetek elnevezése a makró által a ehtek számával egyenlő
Weeknaming = Format(Date, "ww")
a letöltés előtt megvizsgálom, hogy a fileban van e már ilyen elnevezésű worksheet, ha igen, kitörlöm és az új letöltés újra létrheozza friss adatokkal:
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Valami_A_" & Weeknaming Then
worksheetexists = True
Application.DisplayAlerts = False
'Worksheets.Add
Worksheets("Valami_A_Week_" & Weeknaming).Delete
Exit For
End If
Next ijön a letöltés, ez utolsó lépésként létrehoz egy új worksheetet és a végén elnevezi a fenti logika szerint:
ActiveSheet.Name = "Valami_A_" & Weeknaming
+ a program legvégén még ráeresztek egy biztonsági ellenőrzést, végignézi az összes worksheetet a neve alapján és ahol a név nem a megadott dátumfomátum szerint megy, azt törölje ki:
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "Valami_A_" & Format(Date, "ww") Then
worksheetexists = True
Application.DisplayAlerts = False
Worksheets(i).Delete
Exit For
End If
Next iViszont a legutolsó része nem működik, valamiért ilyen Sheet1, Sheet10, stb nevű worksheeteket simán benne hagy. Illetve pont fordítva működik, csak azt törli ki ahol a WS neve Valami_A_Week 46 volt pl, a többit nem
Mit írtam el hozzá ?
[ Szerkesztve ]
-
Ghoosty
őstag
Az egyik kollégám kérte a segítségem. De ehhez kevés vagyok, vagy nem lehetséges.
A lényeg az, hogy össze kéne fűzni cellákat,( szöveg tartalmúakat,) úgy, hogy az egyik összefűzendő cella félkövér legyen, de a többi maradjon normál formátumú. A cellák tartalma abc, bcd, efg. A végeredmény meg így nézzen ki: abc bcd efg.
Erre az volt az ötletem, hogy írok egy függvényt, ami annyit csinál, hogy megváltoztatja a formátumot. Hát ez nem jött össze. Makrót tudok írni, hogy bizonyos cella bizonyos karaktereit átírja félkövérre, de függvényben nem működik.
-
Fferi50
őstag
Szia!
A Weeknaming = Format(Date, "ww") eredménye egy kétjegyű szám.
"ActiveSheet.Name = "Valami_A_" & Weeknaming" a neve pl. Valami_A_46 lenne,
csak azt törli ki ahol a WS neve Valami_A_Week 46 volt pl, a többit nem, mikor és hol kerül bele a munkalap nevébe a Week?
Mert nyilván azt a munkalapot aminek nem egyezik a neve a "Valami_A_" & Format(Date, "ww") eredményével (lásd fentebb), ki fogja törölni.
A másik probléma:
Egy törlés után emiatt a sor miatt:
Worksheets(i).Delete
Exit For
azonnal kilép a ciklusból.Ha azt szeretnéd, hogy végigmenjen minden munkalapon, akkor ezt a sort töröld ki.
Üdv.
-
foregister
tag
Szeretnék segítséget kérni vlookup / countifs / index / match témakörben.
Van egy táblám, amiben jellemzőket soroltunk fel jelezve x-szel, hogy milyen emberi attitűdökre jellemző.
Van egy másik táblám, ahol az attitűdök ki vannak gyűjtve oszloponként és össze szeretnénk számolni, hogy hány jellemző jellemző az adott feltételek mellett.Itt a forrás:
Itt, hogy mit szeretnék kiszámolni pirossal karikázva:
Van ötletetek rá, mert nem tudom megoldani?
[ Szerkesztve ]
Az igen az nem nem
-
Fferi50
őstag
válasz Ghoosty #36545 üzenetére
Szia!
"Makrót tudok írni, hogy bizonyos cella bizonyos karaktereit átírja félkövérre, de függvényben nem működik"
Akkor azt a makrót hívd meg pl. a munkalap változás (Change) eseménykezelőjében. Miután összefűzték az értekeket, változik a cella értéke, a makró pedig félkövérré teszi a kívánt karaktereket.Üdv.
-
Fferi50
őstag
válasz foregister #36547 üzenetére
Szia!
Egy kicsit zavaros ez a történet. Pl. Jellem1 kora 30-40 és 41-55, sőt féri is és nő is.
Nyilván 2 személyről van szó.
DE: honnan tudod, hogy melyikük 30-40, melyikük férfi, melyikük családos, melyiknek van gyereke --
ennek így szerintem abszolút nincs semmilyen értékelhető összesítési lehetősége.
Ezeket a személyeket (jellemeket) külön - külön soron kellett volna felvenni.
Ha úgy lenne, akkor Darabhatöbb függvénnyel, esetleg valamilyen tömbfüggvény kombinációval meg lehetne oldani.
Így szerintem értelme sincs az egésznek.
(De ezt természetesen tekintsd magánvéleménynek.)Üdv.
Új hozzászólás Aktív témák
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Eladó Steam kulcsok kedvező áron!
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!