-
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
-
Delila_1
Topikgazda
Fire!
Hol vagy, régen nem látlak itt. Jelentkezz!
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
válasz Gandalf80 #14847 üzenetére
Lemaradt a "Miért"-re a válasz.
A névadásnál tartományokat adtál meg, amik az "_1. ker", "_2. ker", stb. névre hallgatnak. Az INDIREKT függvény a neve alapján a tartományt hívja elő az érvényesítésben.
Nézz rá az indirekt függvényre a súgóban, és világosabb lesz.
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
Makróval megoldható.
Sub Nyomtat()
Dim lap%
For lap% = 1 To Worksheets.Count
Sheets(lap%).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$35"
ActiveSheet.PageSetup.Orientation = xlPortrait
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = "$A$36:$M$62"
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next
End SubA két helyen az ActiveSheet.PageSetup.PrintArea = kezdetű sorokban a saját nyomtatandó területeidet add meg.
[ 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.
-
bozsozso
őstag
Sziasztok,
Ebben nem tudna valaki segíteni? Esetleg több részletet megadjak a kódomból?
Előre is köszönöm.
-
Gandalf80
csendes tag
válasz Delila_1 #14852 üzenetére
Szia Delila!
Sikerült megoldanom Leírom, hátha valakinek segít.
Létrehoztam a kerületekhez tartozó listákat. A kerületek neveit római számmal adtam (ezzel kiküszöböltem az arab számokból adódó hibát).
Az Excel munkalapján további két segédoszlopot hoztam létre:
I. oszlopban hivatkoztam arra a cellára, ahová beírják az irányítószámot. Itt egy KEREK.LE függvénnyel =HA(C20>1240;24;(KEREK.LE(((C20-1000)/10);0))) megoldottam, hogy az irányítószámból megkapjam a kerületet. (A HA függvény azért került bele, mert a vidéki településeknél is kialakítottam egy utcaneveket tartalmazó listát).
II. oszlopban az I. oszlopra hivatkozva római számokká alakítottam át, és kész. Erre fog hivatkozni az INDIREKT képlet, és működik.Köszönöm, hogy segítettél a megoldásban
"Az élet pókerjátszmájában a nőket elviszi a bank." http://mikrolimitpoker.blog.hu
-
Delila_1
Topikgazda
válasz Gandalf80 #14861 üzenetére
A csúf #HIÁNYZIK és #ÉRTÉK adatokat nem tudod eltüntetni egy HA függvénnyel, vagy feltételes formázással?
D1 feltételes formázása: =hibás(d1), és itt a háttér színére állítod a karakter színé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
válasz #05304832 #14811 üzenetére
Nem pontos a kérdés felvetése, azért nem válaszoltam eddig rá.
Azt írod, az "A2 sorban keressen neveket ". Az A2 egy cella, nem egy sor.Írtam egy makrót. A füzetben a Keresendő lap A oszlopában vannak a nevek (NAME, SUMMARY, stb.), az Adatok lapon pedig az oszlopok. A makró kitörli azokat az oszlopokat, amiknek a 2. sorában szerepel valamelyik a felsorolt nevek közül. Ha ez jó, akkor megírom a másikat is. Ugyanazt a táblázatot kell így is, úgy is kigyomlálni? Az a cél, hogy az Adatok lapon minden sor és oszlop eltűnjön, amelyikben valamelyik szó szerepel a felsoroltak között?
Sub oszlop_torles()
Dim sor%, usor%, oszlop%, uoszlop%, nev$
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Sheets("Keresendő")
Set WS2 = Sheets("Adatok")
usor% = Application.WorksheetFunction.CountA(WS1.Columns(1))
For sor% = 1 To usor%
nev$ = WS1.Cells(sor%, "A")
uoszlop% = WS2.Cells(2, 256).End(xlToLeft).Column
For oszlop% = uoszlop% To 1 Step -1
If WS2.Cells(2, oszlop%) = nev$ Then Columns(oszlop%).Delete Shift:=xlToLeft
Next
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
CHANNIS
csendes tag
Sziasztok!
Az alábbi feledat megoldásában szeretném a segítségeteket kérni:
Adott egy lista, több oszlopban lévő információkkal, mint jelölés, megnevezés, dátum, db-szám. >>lista1. A listában lévő különböző időpontban érkezett tételek fajta szerint csoportosítva, és összegezve vannak.
Egy adott időpontban, tetszőleges számú tételek érkeznek, megnevezéssel, jelöléssel, db-számmal. >>lista2
A feladat: Egy olyan makróra lenne szükségem, amelyik a következőket tudná. A lista1 táblázatban, minden tételfajtánál, az utolsó tétel alá egy sort beszúrni, majd a felette lévő megnevezést és jelölést az üres sorba bemásolni. Ezt addig folytatni, ahány tétel a lista2-ben szerepel.
Megpróbálok 1-1 képet beszúrni a lista1 és lista2-ről. Nem tudom sikerül-e, még nem próbáltam.
Előre is köszönöm. -
Delila_1
Topikgazda
válasz #05304832 #14846 üzenetére
Irányított (vagy 2007-től kezdve speciális) szűréssel ki másolni új helyre az egyéni értékeket tartalmazó adatokat egy olyan listából, ahol 1-1 adat többször is előfordul.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
CHANNIS
csendes tag
Sajnos nem sikerült, pedig a szerkesztésnél is próbálkoztam. Ha megírjátok, hogy hogyan kell a képeket beszúrni, akkor mellékelek képeket. Üdv.
-
Delila_1
Topikgazda
-
Gandalf80
csendes tag
Sziasztok!
Lenne két kérdésem Excellel kapcsolatban:
I. Van-e arra lehetőség, hogy a munkalapokat csoportosan átnevezzem? Például a hét napjaira.
"Ráállok az egyik munkalapra (pl. HÉTFŐ), majd tovább "húzva" a többi munkalap sorba HÉTFŐ, KEDD, SZERDA, CSÜTÖRTÖK stb.II. Van-e arra lehetőség, hogy egy mappában található 200 Excel fájlt egy összesítő fájlba másolni. Úgy értem, hogy a munkalapokat másolná át egy Excelbe, és így kapnék egy 200 munkalapból álló Excelt
Ezt a két kérdést azért tettem fel, mert sokszor kapok hasonló feladatot, és elég macerás mind a 200 Excelt megnyitni és a tartalmukat egyesével átmásolgatni.
Az I. problémára. Nincs esetleg egy EXCEL-sablon, amely az év munkanapjait tartalmazza, külön-külön munkalapon a munkanapokat? Pl.: jan. 1. jan.2 jan. 3. stb.
"Az élet pókerjátszmájában a nőket elviszi a bank." http://mikrolimitpoker.blog.hu
-
-
-
Delila_1
Topikgazda
válasz #05304832 #14875 üzenetére
Próba nélkül! átalakítottam az előbb küldött makrót.
Sub oszlop_torles()
Dim sor%, usor%, oszlop%, nev$
Dim WS1 As Worksheet, WS2 As WorksheetSet WS1 = Sheets("Keresendő")
Set WS2 = Sheets("Adatok")
usor% = Application.WorksheetFunction.CountA(WS1.Columns(1))For sor% = 1 To usor%
nev$ = WS1.Cells(sor%, "A")
For oszlop% = 36 To 1 Step -1
If WS2.Cells(2, oszlop%) <> nev$ Then Columns(oszlop%).Delete Shift:=xlToLeft
Next
Next
End SubSzerk.: Nem jelöltem programkódnak, utólag nem lehet javítani, de biztosan meg tudod csinálni. Ilyen pocsék formában is működnie 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
válasz CHANNIS #14878 üzenetére
Tedd fel a fájlt, akár hamis adatokkal egy fájlfeltöltőre - csak az adattípusok (dátum, szöveg, szám) egyezzenek meg az eredetivel. Ha van lehetőséged link megadására, így megnézhetjük a feladatot.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
CHANNIS
csendes tag
Kiléptem, újra beléptem. Most először már működik.
Így még egyszer küldöm:Újra a szöveg:
Az alábbi feledat megoldásában szeretném a segítségeteket kérni:
Adott egy lista, több oszlopban lévő információkkal, mint jelölés, megnevezés, dátum, db-szám. >>lista1. A listában lévő különböző időpontban érkezett tételek fajta szerint csoportosítva, és összegezve vannak.
Egy adott időpontban, tetszőleges számú tételek érkeznek, megnevezéssel, jelöléssel, db-számmal. >>lista2
A feladat: Egy olyan makróra lenne szükségem, amelyik a következőket tudná. A lista1 táblázatban, minden tételfajtánál, az utolsó tétel alá egy sort beszúrni, majd a felette lévő megnevezést és jelölést az üres sorba bemásolni. Ezt addig folytatni, ahány tétel a lista2-ben szerepel. -
CHANNIS
csendes tag
válasz Delila_1 #14883 üzenetére
Minden tétel fajtánál a legfelső sor a kékkel színezett sorok összegző sorok. Most a második listában lévő tételek szerint kellene az adott fajtáknál az utolsó sorok alá egy-egy sort beszúrni. Tehát az alma sorokból lesz egy összegző sor + 2 sor. Később, ha kész lesz a frissített lista1, az almák összege 177 db lesz. A makró azért kell nekem, hogy beszúrja a sorokat, és bemásoljon minimum egy kiinduló adatot, azután a lista2-ből a többit már be tudom íratni.
Ez a mellékelt minta egyszerűsített. a valóságban több adat van egy sorban, és a 2. listában lévő tételek száma is sokkal több. Ebben a példában az alma sor a jelenlegi 4. sor alá kerül, a dió a jelenlegi 14. sor alá, a narancs a 28. alá.[ Szerkesztve ]
-
Gandalf80
csendes tag
válasz Delila_1 #14876 üzenetére
Szia!
Nem értek a makróhoz, ezért kellene még egy kis segítség.
Szóval, van egy Excelem, amely tartalmazza az osszevon nevű makrót. Ez benne van abban a mappában, ahol rajta kívül több is van, és ezekből fogja "átmásolni" a munkalapokat, ha megnyitom az összevon Excelt, és elindítom a makrót. Igaz?
Ha jól sejtem, akkor a "D:\valami\" helyére kell beírnom az új elérési útvonalat, ha egy másik mappából is szeretném kinyerni az adatokat (és persze, oda is bemásolni ezt az alapfájlt, és onnan indítva.).
A példa kedvéért a D meghajtón hoztam létre mindent. Elindítottam a makrót, de nem működött.
Csatoltam képeket, gondolom valamit elszúrtam"Az élet pókerjátszmájában a nőket elviszi a bank." http://mikrolimitpoker.blog.hu
-
-
Delila_1
Topikgazda
válasz CHANNIS #14882 üzenetére
Küldöm az ígért makrót. A lista1 nálam az első lapon van, a lista2 pedig a másodikon.
Ezt adom meg a két 'Set =' kezdetű sorban.Sub alma()
Dim sor%, tol%, ig%, usor%, nev$, aktual%
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Worksheets(1)
Set WS2 = Worksheets(2)
usor% = WS2.Range("J" & Rows.Count).End(xlUp).Row
For sor% = 3 To usor%
nev$ = WS2.Range("J" & sor%)
aktual% = Application.WorksheetFunction.Match(nev$, WS1.Columns(2), 0)
tol% = aktual%
Do While WS1.Cells(aktual%, 2) = nev$
aktual% = aktual% + 1
Loop
ig% = aktual% - 1
WS1.Rows(ig% + 1).EntireRow.Insert
WS1.Cells(ig% + 1, 1) = WS1.Cells(ig%, 1)
WS1.Cells(ig% + 1, 2) = WS1.Cells(ig%, 2)
WS1.Cells(ig% + 1, 4) = WS2.Cells(sor%, "K")
WS1.Rows(ig% + 2).EntireRow.Insert
WS1.Rows(ig% + 3).EntireRow.Insert
WS1.Cells(tol%, 4) = "=SUM(D" & tol% + 1 & ":D" & ig% + 3 & ")"
Next
End SubProgramozó: 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
válasz #05304832 #14888 üzenetére
Ha csak 1 lapról és 1 adatról van szó, elég ez:
Sub oszlop_torles()
Dim sor%, usor%, oszlop%, nev$
usor% = Application.WorksheetFunction.CountA(Columns(1))
For sor% = 1 To usor%
nev$ = "LEVEL"
For oszlop% = 36 To 1 Step -1
If Cells(2, oszlop%) <> nev$ Then Columns(oszlop%).Delete Shift:=xlToLeft
Next
Next
End SubProgramozó: 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
válasz #05304832 #14892 üzenetére
Sub oszlop_torles()
Dim oszlop%, nev$
nev$ = "LEVEL"
For oszlop% = 36 To 1 Step -1
If Cells(2, oszlop%) <> nev$ Then Columns(oszlop%).Delete Shift:=xlToLeft
Next
End SubEzzel már nagyon gyorsan lefut majd. Benne felejtettem egy nem oda való ciklust az előzőből, mikor több címszóra kellett rákeresni, bocsi. Mentségemre, hogy el kell mennem, ezért kapkodok.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bozsozso
őstag
Szia,
A kiindulásom excel tábla több munkalappal. Ezen táblázatból futtatom a makrót ami egy word doksit nyit meg és a táblázatból szedi ki a megfelelő adatokat és azt illeszti be a doksi megfelelő helyére (élőfej, élőláb megfelelő szöveget majd egy táblázatot). A szöveg beillesztésénél egy adott cellából kell beilleszteni egy dátumot a megfelelő sorba olyan formában, hogy a hónapot teljes névvel ki kell írni. Ez mind sikerül is, de a hónap nevét nem magyarul írja ki hiába magyar az office.
Nem tudom de remélem érthetően írtam le.
-
Gandalf80
csendes tag
válasz Delila_1 #14887 üzenetére
Szia!
Ma az osszevon fájlt kivettem, és letettem az asztalra, majd elindítottam az osszevon fájlt, illetve a makrót, de továbbra is hibaüzenetet kapok.
Feltöltöttem néhány képet, hátha segít. Valamit rosszul csinálok"Az élet pókerjátszmájában a nőket elviszi a bank." http://mikrolimitpoker.blog.hu
-
CHANNIS
csendes tag
válasz Delila_1 #14890 üzenetére
Szia! Elnézést még az újabb zavarásért, de megpróbáltam a mintákról a valós listákra aktualizálni de csak fél sikerrel. Az oszlopok másképpen vannak, és még egy adat oszlopból is be kellene másolni. Az összegzés nem szükséges, mert egy feltételes összegző képlet számol. Próbálkozásaimnál többször is hibakódokba ütköztem. Az alábbiakban a valós elrendezésű minták:
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Escape from Tarkov
- Milyen légkondit a lakásba?
- Kerékpárosok, bringások ide!
- PlayStation 5
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Autós topik
- Feltörték a PROHARDVER!-es regisztrációmat! (vagy elvesztettem a belépési emailcímemet)
- Autós topik látogatók beszélgetős, offolós topikja
- Kínai, és egyéb olcsó órák topikja
- További aktív témák...