-
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
-
GoZoL
senior tag
Sziasztok!
Lehetséges e olyan makrót készíteni amely megnyitja egy mappában az összes xls fájlt, majd az excelben lévő össze lapot megnézve egy adott oszlopot(mindig az utolsót) átmásolna egy másik excel táblázatba? Minden munkalap utolsó oszlopát egymás mellé másolgatná.
Köszi előre is a segítséget! -
AtHoS
nagyúr
Sziasztok!
Keresnék egy olyan megoldást, amivel egy munkalap néhány oszlopát ugyanazon munkafüzet másik munkalapjára tudnék másolni úgy, hogy ha a forrás munkalapon beszúrnak egy sort, akkor a cél munkalapon is ugyanúgy bekerüljön a beszúrás tartalma.
Jelenleg ilyen képlet végezi a műveletet:
=HA('forrás munkalap'!D1047="";"";'forrás munkalap'!D1047)Sajnos ennél a cellaszám (fenti esetben a 1047-es érték) sor beszúrásakor/törlésekor automatikusan változik.
Jelenleg a fenti képlettel, ha pl. 1043-ra beszúrás történik, a 1047-es a 1048-ra hivatkozik.Nekem az kellene, hogy a forrás munkalap változtatásaitól függetlenül pl. az 1047-es sor a 1047 sorba másolódjon.
Nem tudom ez egyszerű képlettel megvalósítható-e avagy függvényt kellene hozzá kitalálnom?
read-only mode on the forum
-
bugizozi
őstag
Sziasztok!
Egy cella megjegyzésébe szeretném beleszúrni egy másik cella értékét.
ActiveCell.AddComment.Text Text:=Cells(1, 1).Value
Ha az A1 mezőben betűk vagy betűk+szám van akkor tökéletesen lefut, viszont ha szám, akkor Run-time error '1004' Application-defined or object-defined error Az A1 cellát mindegy hogy formázom, gugliztam de nem találtam semmi értelmeset számomra
Valaki esetleg?
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
Delila_1
Topikgazda
Az útvonalat, és a füzet nevét kell átírnod.
Sub Osszevon()
Const utvonal = "E:\Eadat\Excel fórumok\Próba\" 'Itt írd át az útvonalat
Dim FN As String, WB As Workbook, WBGy As Workbook
Dim lap As Integer, oszlop As Integer, oszlop_gy As Integer
oszlop_gy = 1
Set WBGy = Workbooks("Gyűjtő.xls") 'Itt írd át a gyűjtő füzeted nevét
ChDir utvonal
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=FN
For lap = 1 To Worksheets.Count
Sheets(lap).Select
oszlop = Cells(1, Columns.Count).End(xlToLeft).Column
Columns(oszlop).Copy WBGy.Sheets(1).Cells(1, oszlop_gy)
oszlop_gy = oszlop_gy + 1
Next
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""
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
=HA(INDIREKT("Munka3!D"&SOR())="";"";INDIREKT("Munka3!D"&SOR()))
Elég lenne az =INDIREKT("Munka3!D"&SOR()) függvény is, de akkor a beszúrt sorra történő hivatkozáshoz nulla értéket ad.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Spet
addikt
Nos át lettem irányíta ide így itt is megkérdezem:
Exelben lenne egy jócskán pár ezres adatsorom, amiből ki kéne szűrnöm és eltávolítanom a többszörös bejegyzéseket (persze egyet meghagyva), ezt hogy tudnám megoldani? Jelenleg manuálisan végzem és nem valami gyors és szembarát. 2007-es excel-ről lenne szó.
Válaszokat ötleteket előre is köszönöm.
Eladó Seiko 7016-5000 Seiko Monaco
-
Delila_1
Topikgazda
Adatok, Rendezés és szűrés, Speciális.
Itt megadhatod, hogy más helyre másolja. A listatartomány az oszlopod. Szűrőtartományt nem kell megadnod, a Hova másolja rovatba azt a cellát írd, ahol el akarod kezdetni a kigyűjtést. Tegyél pipát a Csak az egyedi rekordok megjelenítése nevű négyszögbe.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Spet
addikt
válasz Delila_1 #11908 üzenetére
Én is köszönöm viszont lenne még egy kérésem.
Az előbb leszűrt adat állományt össze kell vetnem egy másik adatállománnyal. Igent vagy nemet kell írnom az oszlopok után, ha a leszűrt változatban az adott sorban két adat (méret és mintázat) megegyezik. Ha jól gondolkozok akkor egy ha fv.-t és egy fkeres fv.-t kéne összefűznöm, viszont ebben nem vagyok igazán jó. Ha megkérnélek segítenél ebben?
Eladó Seiko 7016-5000 Seiko Monaco
-
AtHoS
nagyúr
válasz Delila_1 #11906 üzenetére
"Elég lenne az =INDIREKT("Munka3!D"&SOR()) függvény is, de akkor a beszúrt sorra történő hivatkozáshoz nulla értéket ad"
Na ez a tökéletes megoldás, mivel vannak olyan cellák a tartományban (ezek vannak többségben amúgy), melyek csak számot tartalmaznak, ha van értékük a forrás lapon. Ha nincs értékük, akkor jó lesz a nulla érték visszaadása számomra az alábbiak miatt:
Az eddig használt képletet (amit linkeltem fentebb) a számokat tartalmazó területen módosítani kellett ilyenre:
=HA('forrás munkalap'!D1047="";[B]0[/B];'forrás munkalap'!D1047) , mivel ha nem nulla értéket kap a cella, akkor problémás a kérdéses tartomány (jelen esetben éppen oszlop) összegzése (gyakorlatilag hibaüzenet lesz a végeredmény). Egy sorban csak egyetlen oszlopban van érték, így a többi oszlop celláinak értéke nulla. A sok nulla pedig rontja a tábla átláthatóságát, így feltételes betűszín van a kérdéses területen a cella értékének függvényében.Szóval többet segítettél, mint amire számítottam.
Nagyon szépen köszönöm
read-only mode on the forum
-
Delila_1
Topikgazda
Szívesen.
Többet segítettem, mint ahogy szándékoztam.
Nem kell feltételes formázás, a nullák mutatását ki lehet kapcsolni. Ennek a helye a verziótól függ, de mindenképp a beállításoknál, zéró mint érték mutatása.[ 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
-
AtHoS
nagyúr
Viszont újabb probléma merült fel:
van olyan oszlop, ami dátumot tartalmaz. Ezekből ilyen alakot varázsol: Z1060872, de némelyik (ugyanazon dátumot tartalmazó) cella esetén: 597713Sajnos cellaformázásnál kategória megadásával nem sikerült helyrehozni
read-only mode on the forum
-
Delila_1
Topikgazda
Itt valami nagy disznóság van! Dátumból nem csinálhat Z-vel kezdődő értéket, az 597713 pedig 3536. június 24-nek felel meg.
Próbáld meg dátum formátumra állítani a hivatkozós oszlopodat.[ 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.
-
Spet
addikt
válasz Delila_1 #11914 üzenetére
A két táblázat két külön munkafüzetben található, de egy exel fájlon belül. A két oszlop ami alapján el kéne dönteni, hogy igen vagy nem az a méret illetve mintázat (abroncsokról van szó). A két munkafüzet legyen eladás és raktár illetve az adatok oszlopai legyenek az A és B oszlopban.
Eladó Seiko 7016-5000 Seiko Monaco
-
Delila_1
Topikgazda
Kicsit zavarod a fogalmakat. Az Excelben egy fájl (akármi.xls) egy munkafüzet, amiben több lap lehet. Alapállásban 3 lap szokott lenni egy füzetben (fájlban).
A raktár nevű lap C2 cellájába írd be a képletet:
=HA(INDIREKT("eladás!B" & HOL.VAN(A2;eladás!A:A;0))=B2;"igen";"nem")
Azért a 2. sorba, mert feltételezem, hogy az első a címsor.
A képletet tartalmazó cellán állva a jobb alsó sarkán látsz egy kis fekete négyzetet. Erre duplán klikkelve lemásolódik a képlet a többi sorba, ameddig értékeket talál a B oszlopban.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Spet
addikt
válasz Delila_1 #11918 üzenetére
Viszont lenne még egy kérdésem. A raktár munkalapon be van kapcsolva a speciális szűrő, amiben fentebb segítettél, ez nem befolyásolja az igen nem válaszokat? Csak azért kérdem mert vissza felé is el kell végeznem az alábbi válaszadást. (azaz az eladás munkalapon is ugyanezt a képletet használnám a raktárra levetítve).
Eladó Seiko 7016-5000 Seiko Monaco
-
GoZoL
senior tag
-
Delila_1
Topikgazda
Az lehet a baj, hogy a lapokon az első sorban nincs adat. Az
oszlop = Cells(1, Columns.Count).End(xlToLeft).Column
sorban a kiemelt 1-es adja, hogy az első sorba írt adatok alapján nézze meg a makró, melyik az utolsó oszlop. Ezt a számot írd át akkorára, ahol már biztosan van minden lapodon adat.
[ 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
A speciális szűrő nem kapcsolható ki-be, mint az autoszűrő, csak abban az esetben, mikor nem más helyre másolod az adatokat, hanem helyben szűröd.
A képletben az eladás lapra való hivatkozásokat írd át raktárra.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Badb0y
addikt
válasz Fire/SOUL/CD #11805 üzenetére
Köszönöm a rengeteg segítséget
Minőségi laptopok https://notebookokhu.business.site/
-
GoZoL
senior tag
válasz Delila_1 #11921 üzenetére
Nem tudom beparaméterezni. Pontosítok, a kimásolandó fájlokban (minden fájlban itt van) a H28 : H80 tartományt másolja a gyüjtő.xls C9 : C61 tartományába, a következő pedig a D9 : D61-es tartományába másolódjon értékként és így tovább. A végén kb. 250 oszlopom lesz
[ Szerkesztve ]
-
Delila_1
Topikgazda
Sub Osszevon()
Const utvonal = "E:\Eadat\Excel fórumok\Próba\" 'Itt írd át az útvonalat
Dim FN As String, WB As Workbook, WBGy As Workbook
Dim lap As Integer, oszlop As Integer, oszlop_gy As Integer
oszlop_gy = 3
Set WBGy = Workbooks("Gyűjtő.xls") 'Itt írd át a gyűjtő füzeted nevét
ChDir utvonal
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=FN
For lap = 1 To Worksheets.Count
Sheets(lap).Select
Range("H28:H80").Copy WBGy.Sheets(1).Cells(9, oszlop_gy)
oszlop_gy = oszlop_gy + 1
Next
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""
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.
-
Zomb€€
őstag
Üdv!
Van arra valamilyen megoldás, hogy egy felugró DiplayAlertet automatikusan leokézzon a program? Nem elrejteni akarom, hanem pozitív ágon folytatni a műveletet.
Konkrétan egy excelből hívok meg egy word körlevélsablont, és a word megnyitásakor felugrik, hogy SQL kapolcsolatot akar létesíteni a megadott adatbázissal, és ezt kéne folytatni."Egyszer fent...egyszer fent!"
-
Delila_1
Topikgazda
Jó, hogy így apránként csepegteted az óhajokat, nem hagysz ellustulni.
Az új kívánságaid alkalmával mindig létre kell hoznom 3 füzetet, különböző lapszámmal, és különböző adatokkal a makró próbájához.Sub Osszevon_()
Const utvonal = "E:\Eadat\Excel fórumok\Próba\"
Dim FN As String, WB As Workbook, WBGy As Workbook
Dim lap As Integer, oszlop As Integer, oszlop_gy As Integer
Application.ScreenUpdating = False
oszlop_gy = 3
Set WBGy = Workbooks("Gyűjtő_FrostyBoy84.xls")
ChDir utvonal
FN = Dir(utvonal & "*.xls", vbNormal)
Do
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=FN
For lap = 1 To Worksheets.Count
Sheets(lap).Select
Range("H28:H80").Copy
ActiveWindow.ActivatePrevious
Cells(9, oszlop_gy).Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
oszlop_gy = oszlop_gy + 1
Next
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""
Application.ScreenUpdating = True
End SubBugizozi
Lehet, hogy a képletek külső hivatkozásokat tartalmaznak, új füzetbe való másoláskor felborulnak.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
m.zmrzlina
senior tag
Makróból szeretném meghatározni a B oszlopban szereplő értékek maximumát.
Miért van az, hogy ez:
maxpont = Application.WorksheetFunction.Max(B:B)
nem működik, ez:
Set eredmenyek = Worksheets("Munka1").Range("B:B")
maxpont = Application.WorksheetFunction.Max(eredmenyek)viszont igen?
-
félisten
válasz m.zmrzlina #11936 üzenetére
Végül is meg is válaszoltad magadnak a 2 módszerrel....
Nyilván a MAX tartományt vár, VB-ben a B:B az nem tartomány, sima hiba.maxpont = Application.WorksheetFunction.Max(Range("B:B"))
vagy (bár ez nem biztos, hogy működni fog)
maxpont = Application.WorksheetFunction.Max([B:B])
[ Szerkesztve ]
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)
-
m.zmrzlina
senior tag
válasz Fire/SOUL/CD #11937 üzenetére
Mindkettő működik. Köszönöm.
Az első verzió egészen pontosan így nézett ki :
maxpont = Application.WorksheetFunction.Max("B:B")
de az sem működött.
[ Szerkesztve ]
-
Delila_1
Topikgazda
Nem a sok kérdéssel van baj, hanem azzal, hogy nem gondoltad át a kérdés feltevése előtt, mit is szeretnél elérni.
Először a lapok teljes utolsó oszlopának a másolását kérted, utána egy-egy meghatározott tartományét más helyre, végül azt, hogy ezek értékét vigyük be az új füzetbe. Az utolsó verziót már az első alkalommal is tudhattad.
Nyugodtan tedd fel a más témára vonatkozó további kérdéseidet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bugizozi
őstag
válasz Zomb€€ #11928 üzenetére
Hát nekem elsőre ez a megoldás jutott eszembe:
Application.DisplayAlerts = False
igaz hogy azt mondtad hogy nem elrejteni akarod, de ha ezt még nem próbáltad akkor hátha...
Esetleg a google találatai között hátha van olyan ami hasznos lehet számodra.VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
Zomb€€
őstag
válasz bugizozi #11941 üzenetére
Ezzel az a gondom, hogy hiába rejti el, attól még nem a pozitív ágon folytatja, csak nem jelenik meg.
Amúgy már szétgugliztam az agyam, de mindenhol csak a DisplayAlerts = False-ra bukkantamHopp, idő közben ki is találtam a megoldást:
Meghívom a körleveles Wordöt DA = False értékkel, majd a wordben behúzom az adatbázist. Yee[ Szerkesztve ]
"Egyszer fent...egyszer fent!"
-
Sir Pocok
őstag
A segítségeteket szeretném kérni:
Adott egy táblázat amiben élelmiszerek szerepelnek. Az első oszlopban van a termék megnevezése, a másodikban a szavatossági idő lejárata, a harmadikban pedig a mennyiség.
Azt szeretném tudni a táblázatból, hogy adott termékből mennyi van bizonyos lejárat után.
Tehát a makró vagy függvény megmondaná hogy mekkora mennyiség van olyan termékből amelynek a szavatossági ideje lejárt mondjuk 60 napja.
Remélem érthető voltam, köszönöm előre is!
Az erős embernek nincs szüksége hatalomra, a gyönge jelleműt pedig tönkreteszi.
-
Delila_1
Topikgazda
válasz Sir Pocok #11943 üzenetére
A függvény attól függ, melyik verziót használod.
2007-es és 2010-es verzióban a D2 képlete (címsort feltételezve)
=SZUMHATÖBB(C:C;A:A;A2;B:B;"<="&MA()-60)Régebbi verziókban
=SZORZATÖSSZEG((A2:A1000=A2)*(B2:B1000<=MA()-60);C2:C1000)Az utóbbinál a tartományok utolsó sorát 1000-ről írd át a saját utolsó sorodra. Írhatsz jóval nagyobb számot is.
Akkor még eladjátok, ha csak 50 napja járt le a szavatossága?!
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 Sir Pocok #11947 üzenetére
Szívesen.
Na és melyik verziót használod? Mindig azzal kezdd a kérdést! Lehet, hogy a többi válaszadónak elég, ha egyszer beírod, nekem nem.
Már a felhasználói lapodat is megnéztem remélve, hogy nem az én lakhelyemen van ez a csodás üzlet a 60 napja lejárt szavatosságú tejfellel.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Sir Pocok
őstag
válasz Delila_1 #11948 üzenetére
2010 Office-t használom majd csak később tudom lepróbálni.
"Már a felhasználói lapodat is megnéztem remélve, hogy nem az én lakhelyemen van ez a csodás üzlet a 60 napja lejárt szavatosságú tejfellel."
Az erős embernek nincs szüksége hatalomra, a gyönge jelleműt pedig tönkreteszi.
-
Delila_1
Topikgazda
válasz Sir Pocok #11949 üzenetére
Akkor a szumhatöbb képlet lesz jó. Abban az a jó, hogy a paraméterek lehetnek teljes oszlopok, nem kell a sorok számát megadni. A szorzatösszeges is működik a magasabb verziókban.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Milyen billentyűzetet vegyek?
- Synology NAS
- Kés topik
- Internet Rádió építése (hardver), és programozása
- OLED TV topic
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Vigneau interaktív lokálblogja
- Okosóra és okoskiegészítő topik
- Call of Duty: Modern Warfare III (2023)
- Politika
- További aktív témák...
- Eredeti Windows, telepítéssel! Digital Doctor Számítógép Szerviz
- Steam kulcsok - UTALÁS/REVOLUT
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest