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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Szólánc.
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [Kolondrum:] Éves rezsi
- [Re:] [plevips:] Építkezünk 3. rész (2024)
- [Re:] [Tüzi:] Geek-hatarozo
- [Re:] PLEX: multimédia az egész lakásban
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
Pityke78
őstag
Az még kevés, mert két különböző táblából kell kinyernem az adatokat és azok hányadosát ábrázolni diagramban.
Delila_1
Topikgazda
Több lapról is veheted az adatokat a kimutatásokhoz, van erre lehetőség.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Pityke78
őstag
De a két adatforrást hányadosát így nem tudom jelölni diagramon, nem?
Más:
Ha excelben szeretnék mondjuk angol szótárat csinálni, akkor tudok olyat, hogy az egyik oszlopot automatikusan angol helyesírásnak megfelelően ellenőrizze, a másik oszlopot meg magyarként? Be tudom így állítani? Egyáltalán automatikus ellenőrzés van, mint a szövegszerkesztőkben?
Delila_1
Topikgazda
Vehetsz fel számított mezőt (azt hiszem, így hívják). Ha a két táblázat hányadosát akarod számítani, vagy 2 kimutatást készíts, és úgy számolj, vagy a mezőnevekben utalj a táblázat számára.
F7-tel indul a helyesírás ellenőrzése. A beállításoknál meg tudod adni a nyelvet.
A magyar indítása VB-ben Cells.CheckSpelling SpellLang:=1038, angolé
Cells.CheckSpelling SpellLang:=1033.
[ 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
Tegyél ki két gombot, és rendeld hozzájuk értelemszerűen a makrókat.
A magyar az A, az angol a B oszlop helyesírását ellenőrzi.
Sub magyar()
Columns(1).CheckSpelling SpellLang:=1038
End Sub
Sub angol()
Columns(2).CheckSpelling SpellLang:=1033
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.
ancsi777
csendes tag
Sziasztok!
Segítséget szeretnék kérni. Szeretnék olyan legördülő listákat létrehozni az excelben,amik egymástól függenek. Pl. az elsőben kiválasztható a megye pl. Zala. Ha ez kiválasztásra kerül, utána már csak a zalai településeket ajánlja fel a következő legördülő listában.
Az elsőt létre tudom hozni, csak azt nem tudom, hogy a többinek hogy álljak neki.
Köszi! Anita
m.zmrzlina
senior tag
Én tudok egy megoldást, de ahhoz Excel2007 vagy 2010 kell, és nagyon nem fogsz szeretni érte mert 19 szinten kell hozzá egymásba ágyazni a HA() fv-t.
Milyen verziót használsz?
[ Szerkesztve ]
ancsi777
csendes tag
Van mindkettő, de a 2010 jobb lenne, mert melóhoz kell és a munkahelyemen az van.
m.zmrzlina
senior tag
Küldtem fájlt.
motinka
tag
az én "kis" problémámra senki nem tud valami okosat mondani?
MoTiNka
ancsi777
csendes tag
Köszönöm a segítséget!
Delila_1
Topikgazda
Nézd meg a #6603-as kérdést, és rá a választ a #6604-ben.
Máshol is van hasonló kérdés, csak az érvényesítés, és indirekt szavakra kell keresned.
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
A kérdéses laphoz rendeld a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sor As Integer, usorH As Integer
Dim WS2 As Worksheet, sorH, f As Boolean
Application.EnableEvents = False
Set WS2 = Sheets("HÓNAP")
usorH = WS2.Range("A1").End(xlDown).Row
sor = 1
f = False
If Target.Address = "$A$1" Then
If Target = "" Then
Rows("1:5000").Delete
Else
Rows("2:5000").Delete
For sorH = 2 To usorH
If WS2.Cells(sorH, "A") = Target Then
Cells(sor, "B") = WS2.Cells(sorH, "E")
Cells(sor, "C") = WS2.Cells(sorH, "J")
Cells(sor, "D") = WS2.Cells(sorH, "AI")
sor = sor + 1
f = True
End If
Next
If f = False Then
Range("B1") = "Nincs adat erre a napra"
Range("C1:IV1").Delete
End If
End If
End If
Application.EnableEvents = True
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
csferke
senior tag
Szia Delila_1!
Pár napig nem követtem a fórumot de most ott folytatnám ahol abbahagytuk.
#12549-ben feltett kérdésemre:
Lehetséges-e a legördülő listában, hogy 2 nem egymás melletti oszlop (A, D) tartalma jelenjen meg?
#12550-ben válaszoltál is csak én nem igazán arra gondoltam.
Tehát CSAK a legördülő menüben kellene, hogy látszódjon a 2 oszlop A és D de magában az A1 cellában mint eredmény CSAK a kiválasztott alapján az A oszlop megfelelő cellája.
Nekem olyasmi kellene mint pl. amikor ki kell egy céget választani és csak a cég neve kell, hogy szerepeljen mint eredmény de sokban megkönnyíti a kiválasztást ha pl. a város neve is szerepel a legördülőben (az adatok a városok szerint vannak rendezve)
köszi
[ Szerkesztve ]
amdk7
aktív tag
Szia,
Persze, egyébként is kimutatás lenne belőle, csak ott akadtam el, hogy a hónapokra jellemző százalékot, hogy írassam ki.
Mert ugye ha sorokra (hó.nap.) kiszámolgatom, és azokat összegzem, nem ugyanaz, mint ha az adott hó összes hibáját elosztom az adott hó vizsgált darabszámaival.
De ha van egyszerü megoldás...
mindenre nyitott vagyok.
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
Delila_1
Topikgazda
Nem nézted meg a csatolt képet, pedig ott a K2 és K3 cella éppen azt tartalmazza, amit kértél.
Amit most írsz, körkörös hivatkozást eredményezne. Az A1 cellában akarod megjeleníteni azt az adatot, amit a VLOOKUP az A oszlopban talál.
Tettem az első sorba (A:D) egy autoszűrőt, a G oszlopba pedig egy összefűzést (=A2&" "&D2)
Az érvényesítésben (I1 cella) forrásként a $G$2:$G$6 tartományt adtam meg, mert a 2:6 sorokba írtam adatokat. Az I1-ben történő kiválasztás után az autoszűrő a választás szerint szűri az A:D tartományt. Az I1 törlése esetén minden sor látszik.
Nem írtad, hogy az A és D oszlopok közül melyik tartalmazza a város, ill. a cég nevét, ezért 2 makrót írtam. A megfelelőt rendeld a lapodhoz.
Private Sub Worksheet_Change(ByVal Target As Range)
'Város=D oszlop, Cég=A oszlop
Dim betu%, krit
If Target.Address = "$I$1" Then
If IsEmpty(Target) Then
Selection.AutoFilter Field:=1
Exit Sub
Else
Range("A1").Select
For betu% = Len(Target) To 1 Step -1
If Mid(Target, betu%, 1) = " " Then
krit = Left(Target, betu% - 1)
Exit For
End If
Next
End If
Selection.AutoFilter Field:=1, Criteria1:=krit
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'Város=A oszlop, Cég=D oszlop
Dim betu%, krit
If Target.Address = "$I$1" Then
If IsEmpty(Target) Then
Selection.AutoFilter Field:=4
Exit Sub
Else
Range("A1").Select
For betu% = 1 To Len(Target)
If Mid(Target, betu%, 1) = " " Then
krit = Right(Target, Len(Target) - betu%)
Range("J2") = krit
Exit For
End If
Next
End If
Selection.AutoFilter Field:=4, Criteria1:=krit
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.
amdk7
aktív tag
Újabb kérdés merült fel.
Egy oszlopot cellatartományt kellene vizsgálni: V12:V50
Három dolog szerepelhet benne:
"megfelelt"
"Nem felelt meg"
""
Ha talál a tartományban egyetlenegy "Nem felelt meg"-et, akkor írja ki, hogy: Nem felelt meg különben megfelelt.
Értelemszerüen ha nincs a tartományba írva semmi, akkor ne írjon semmit.
UI.: Angol office, de jöhet magyarul is, legfeljebb megfejtem.
Előre is köszöntem.
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
Delila_1
Topikgazda
=IF(COUNTA(V12:V50)=0,"",IF(COUNTIF(V12:V50,"Nem felelt meg")>0,"Nem felelt meg","Megfelelt"))
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
=IF(COUNTA(V12:V50)=0,"",IF(COUNTIF(V12:V50,"Nem felelt meg")>0,"Nem felelt meg","Megfelelt"))
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
Hát ez hogy ment el kétszer?!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
archen
csendes tag
Sziasztok, megint elakadtam
A " & esc(Str(.Cells(rowctr, i).Value)) & " kifejezésnél szeretnék segítséget kérni.
Egy olyan makróra lenne szükségem, ami egy tetszőleges excel cellába felsorolná ennek az 1-től i-ig terjedő alakjait (vesszővel elválasztva), pl i=3 esetén ez lenne a cella tartalma:
" & esc(Str(.Cells(rowctr, 1).Value)) & "," & esc(Str(.Cells(rowctr, 2).Value)) & "," & esc(Str(.Cells(rowctr, 3).Value)) & "
előre is köszönöm! =)
-Rics
Delila_1
Topikgazda
Sub Tartalom()
Dim sor As Integer, oszlop As Integer, uoszlop As Integer, Tartalom As String
uoszlop = Selection.Column - 1
sor = Selection.Row
For oszlop = 1 To uoszlop
Tartalom = Tartalom & Cells(sor, oszlop) & ","
Next
Selection = Left(Tartalom, Len(Tartalom) - 1)
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
amdk7
aktív tag
Köszönöm, müködik!
Adataimat többé kevésbé az adatlapomon, illetve a személyigazolványomban találod meg. :)
Delila_1
Topikgazda
Nincs mit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
poffsoft
addikt
Üdv!
A beosztásos problémámhoz lenne újabb makróra szükségem:
A G8:AH49 táblában oszloponként meg kellene keresni a pontosan az "o" betűt tartalmazó cellákat. Ha talál ilyet, akkor az adott sor "C" oszlopában lévő névhez tartozó rövidítést kellene az adott oszlop 60-dik sorába beírni. Ha van még egy "o" az oszlopban, akkor az ahhoz tartozót a 61. sorba, és így tovább, max 6 előfordulás lehet.
Az adott névhez tartozó rövidítés viszont nem az aktuális lapon, hanem az "Éves" lapon az A1746 tartományban van, ahol ha a név az A17 cellában van, a hozzá tartozó rövidítés a K17-ben, ha a B17 cellában van a név, akkor az L17-ben a rövidítés.
Remélem érthetően írtam le
[ Szerkesztve ]
Pityke78
őstag
Eltűnt az excelemből az egyéni makróim.
Ráadásul nem is tudok egyéni makrót menteni, mert az írja ki, hogy "Az indítókönyvtárban lévő Egyéni makró-munkafüzetnek nyitva kell lennie a rögzítéshez."
Ezt hogy tudom megtenni, vagy hova tűntek az egyéni makróim?
Köszi
motinka
tag
Delila,
köszönöm a megoldást, most próbálgatom, egyelőre nem működik.
Elmagyaráznád hogy melyik sor mit csinál?
Jelenleg annyi működik, hogy amikor beírom a dátumot az A1 cellába, beírja a B1-be hogy "Nincs adat erre a napra" és minden mást letakarít ezen a "kigyüjtés" nevű fülön.
Ha jól értettelek ehhez mondtad hogy rendeljem a makrót.
MoTiNka
csferke
senior tag
Delila_1,
valóban nem voltam elég figyelmes a K2 és K3-as cellák képlete valóban kielégítő, fölösleges tovább bonyolítani.
köszönöm
Faterkam
addikt
Sziasztok!
Kellene egy kis segítség. Van egy teszt táblázat és azt szertném, hogy a válaszba csak a két betű közül lehessen beírni egyet. Tehát a C4 vagy E vagy B. Alá a C/-ba a HA függvénnyel meg kiírja hogy ok. De beírtam, hogy =HA(c4=e,b;"ok";"Rossz válasz")
Nem vagyok egy nagy ász, ez így nem jó. Valakinek ötlete?
Előre is köszönöm!
[ Szerkesztve ]
"Ha nem válaszolok PÜ-re 1 nap alatt, akkor lehet, hogy az a 5 ember között vagy, akit letiltottam a 13 év alatt!" https://tinyurl.hu/LdG3
Delila_1
Topikgazda
Adj érvényesítést a cellákba, ami csak ennek a két karakternek a bevitelét engedi meg, akkor nincs szükség a feltételt tartalmazó cellára.
Adatok | Érvényesítés. Megengedve: Lista, Forrás: E;B
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
Valószínű, hogy a két lapodon nem egyformák a dátumokat tartalmazó oszlopok. Elképzelhető, hogy az egyiken szövegként adtad meg az értékeket, nem dátumként.
A "kigyűjtős" laphoz kell rendelned a makrót. Az elején értékadások vannak.
If Target.Address = "$A$1" Then 'ha az A1 cella változik...
If Target = "" Then 'és ez üres (törölted a tartalmát)
Rows("1:5000").Delete 'akkor törli a sorok előző tartalmát
Else 'ha értéket vittél az A1-be...
Rows("2:5000").Delete 'akkor a 2. sortól törli a régi adatokat
For sorH = 2 To usorH 'végig megy a Hónap lap A oszlopán
If WS2.Cells(sorH, "A") = Target Then 'ha ez azonos az 1. lapra bevitt értékkel ...
Cells(sor, "B") = WS2.Cells(sorH, "E") 'az 1. lap akt. sorába másol
Cells(sor, "C") = WS2.Cells(sorH, "J")
Cells(sor, "D") = WS2.Cells(sorH, "AI")
sor = sor + 1
f = True 'ez egy figyelő, ha volt egyezés, True-ra vált
End If
Next
If f = False Then 'ha nem volt egyezés,
Range("B1") = "Nincs adat erre a napra" 'ezt írja az 1. lap B1-be
Range("C1:IV1").Delete 'törli az előző C1:IV1 tartomány tartalmát
End If
End If
End If
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Faterkam
addikt
Delila_1: Nagyon köszönöm!!!!!!!!!!!!!!!!! Szuper működik!!!
"Ha nem válaszolok PÜ-re 1 nap alatt, akkor lehet, hogy az a 5 ember között vagy, akit letiltottam a 13 év alatt!" https://tinyurl.hu/LdG3
Delila_1
Topikgazda
Van Fejlesztőeszközök menüpontod? Ha nincs, ez a hiba.
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
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
motinka
tag
Delila, ez tökéletes, köszönöm!
Még egy apró kérdés, hogy ír a kigyűjtős fülre a 2. sortól, tehát hogy ott tudjak egy fejlécet csinálni? .
MoTiNka
Delila_1
Topikgazda
Szívesen.
A For sorH = 2 To usorH kettesét írd át 1-re.
If Target.Address = "$A$1" Then helyett If Target.Address = "$A$2" Then
Rows("1:5000").Delete helyett Rows("2:5000").Delete
Rows("2:5000").Delete helyett Rows("3:5000").Delete
A lekérdezendő dátumot az A2 cellába írd be.
[ 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.
rroolleerr
csendes tag
Olyan szeretnék megvalósítani, hogy van két cellám, és ezek tartalmát összeadom. Az egyiket használom értékbevitelre, a másikba pedig az összeget szeretném.
Vagyis A1+A2=A2. Ezt nem működik körkörös hivatkozás miatt.
Ha az összeget egy 3. Cellában képzem, az sem jó Én úgy akarom megoldani, hogy az A2 ben legyen az összeg, és ehhez akarnám mindig hozzáadni az A2 –s cella tartalmát. Vagyis, Vagyis, mindig A1- be írom be az új összeget. A függvénynek az A1 –s és A2 –s cellát kellene összeadnia, majd az eredményt az A2 –be letárolni. Következő bevitelkor, A2, letárolt értékhez, adja hozzá az A1 –s mező tartalmát.
Tud valaki valami jó megoldást javasolni?
A1 = ide írom, be az új értéket
A2 = itt tárolom az összeget
Delila_1
Topikgazda
Ezt a makrót rendeld a lapodhoz:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And IsNumeric(Target) Then _
Range("A2") = Range("A2") + Target
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
rroolleerr
csendes tag
Köszönöm szépen! Tökéletes
Delila_1
Topikgazda
Nincs mit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
motinka
tag
köszönöm Delila!
az alábbi működik:
Set WS2 = Sheets("HÓNAP")
usorH = WS2.Range("A1").End(xlDown).Row
sor = 2 f = False
tehát itt átírtam az 1-est 2-re és az első sort így nem bántja csak a 2 sortól írja az adatokat.
sajnos volna még egy problémám, a HÓNAP fülről csak 3 oszlopból hoznék át adatot, azaz csak 3 sor beírását kelle törölni.
ezt én azt gondolom itt lehetne átírni,
If f = False Then
Range("A2") = "Nincs adat erre a napra"
Range("C1:IV1").Delete
End If
de ez nem működik:
If f = False Then
Range("A2") = "Nincs adat erre a napra"
Range("B25000").Delete
End If
MoTiNka
Delila_1
Topikgazda
Jobb, ha a teljes átírtat megint berajzolom ide.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sor As Integer, usorH As Integer
Dim WS2 As Worksheet, sorH, f As Boolean
Application.EnableEvents = False
Set WS2 = Sheets("HÓNAP")
usorH = WS2.Range("A1").End(xlDown).Row
sor = 2
f = False
If Target.Address = "$A$2" Then
If Target = "" Then
Range("A2:D5000") = ""
Else
Range("A3:D5000") = ""
For sorH = 2 To usorH
If WS2.Cells(sorH, "A") = Target Then
Cells(sor, "B") = WS2.Cells(sorH, "E")
Cells(sor, "C") = WS2.Cells(sorH, "J")
Cells(sor, "D") = WS2.Cells(sorH, "AI")
sor = sor + 1
f = True
End If
Next
If f = False Then
Range("B2") = "Nincs adat erre a napra"
Range("A2:D5000") = ""
End If
End If
End If
Application.EnableEvents = True
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
archen
csendes tag
Köszönöm Delila, tökéletesen működik!
Delila_1
Topikgazda
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
motinka
tag
Delila, nagyon köszönöm a segítségedet, működik ahogy szerettem volna.
MoTiNka
poffsoft
addikt
Erre nincs senkinek megoldása?
[ Szerkesztve ]
Delila_1
Topikgazda
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Songo
senior tag
Sziasztok
1 kis segítséget szeretnék kérni
adott egy 2007-es office
2 Excel táblázat 12-12 munka lappal
Ebből kellene nekem egy kimutatást csinálnom úgy hogy oszlopban elsőben a nevek másodikban az értékek.
De soha nem csináltam még ilyet és nekem egyszerre csak 1 munkalapból sikerült értéket kivennem.
Hogy tudom a 2 táblázat összes munkalapját hazsnálni forrásnak?
Minden munkalap azonos szerkezetű
Előre is köszönöm
Üdv
Viktor89
aktív tag
Sziasztok!
Két egymásmelletti oszlopnak lehet egymástól eltérő sormagasságot beállítani? Ha igen hogyan? Sehogy nem tudtam,csak együt a kettőt.
Nem lehet. Max annyit tehetsz (már ha ez nem fog bekavarni, mert pl függvények hivatkoznak a cellá(k)ra), hogy összevonsz több cellát és több sorban írod be az értékeket.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)