- Argos: Szeretem az ecetfát
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- #95904256: Socket370 / 3DMark2001
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Parci: Milyen mosógépet vegyek?
- Fire/SOUL/CD: INGYENES Clone és Backup-Restore alkalmazások tesztje [2024]
- btz: Internet fejlesztés országosan!
-
LOGOUT
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
-
eszgé100
őstag
Sziasztok,
Eloszor is szeretnek Boldog Ujevet kivanni az egesz csoportnak
Valtozatossag kedveert most egy scatter plot charttal (szorasdiagram?) kinlodok.
x tengely datum, targyho 1-tol utolso napig
y tengely meresek eredmenyeegy nap tobb erteket is fel kellene vinni, es szeretnem, ha ezek szinkodolva lennenek, attol fuggoen, hogy melyik tipusu modellhez tartozik a meres. 4 kulonbozo tipus van plusz egy mesterdarab, amit mindennap ellenorzunk. Tablazatban, ahonnan az adatok jonnek Datum, Modell, Szeriaszam, Eredmeny, Min es Max tures (utobbi ketto csak a felteteles formazas miatt, de akar a diagramon is jol jonnenek, pl szaggatott vonalkent jelolve).
Kerdesem, hogy a fenti adatokbol lehetne olyan grafikont keszteni, ahol a tipusok szinkod szerint el vannak kulonitve, plusz ha az adott potty fole viszem az egeret, akkor megjelenitse a szeriaszamot es esetleg a turesek be legyenek jelolve?
Elore is koszonom
-
Pá
addikt
Kööszi szépen, tök jól működik. (közben nekem is sikerült megoldanom, egy nagyon favágó módszerrel, de ez mindenképp elegánsabb)
Delila_1 --> neked is köszi, így is működik. A tiédből kiloptam az ötletet, ha esetleg a user mégsem nyitna meg file-t (vagy rosszat nyitna meg), akkor álljon le a makró MsgBox-szal. Jó ötlet lefedni ezeket a lehetőségeket.
Egy nagyon picit szeretnék rajta finomítani még, ha lehet.
1. A file megnyitásánál le lehet valahogy lőni a különböző warningokat, hogy ne jöjjenek fel? (általában megkérdi, hogy updatelje-e a linkeket, engedje-e a makrókat, legyen-e read-only)
Láttam ezekre paramétereket, ha Open-nel nyitnám meg, de a DialogBox-szal nem jöttem rá, hogy lehet beállítani.2. Mielőtt átmásolom az adatokat szeretném lecsekkolni a tartományt, hogy van-e reference error rajta (és leállítani a makrót, ha esetleg lenne). Ennek van egyszerű módja?
-
Fferi50
Topikgazda
Szia!
Szerintem cella értékét lehet törölni makróval. Inkább az okozhat gondot, hogy ne törölje minden megnyitáskor, ezt pedig jelzőkkel és feltételekkel meg lehet oldani.
Továbbá az is kérdés, hogy milyen megosztást használnak. Ha "felhőset", akkor egyáltalán nem működnek a makrók úgy tudom. A közös használatú munkafüzetben viszont működnek.
Üdv. -
Gyufaaa
veterán
Sziasztok,
szeretnék létrehozni egy táblázatot, melyben többen is dolgozunk. A táblázat "A" oszlopa tartalmaz fix rendelési tételeket, melyekre minden héten "B" oszlopba új mennyiségeket kell beírnunk. A kérdésem az utóbbival lenne ("B" oszlop). Megoldható e, hogy a táblázat minden héten hétfőn csak a beírt mennyiségeket törölje automatikusan, mintha új táblázat lenne, hogy mindenki újra felrögzítse ebbe az oszlopba a mennyiséget? El szeretném kerülni, hogy minden héten új táblázatokat kezeljünk, így viszont minden héten be kell írni az adatokat kötelezően.
-
hentes555
senior tag
Sziasztok!
Melyik képlettel tudnám azt megoldani, hogy az Excel kiírja annak a tartománynak a tartalmát, ami megfelel 2 adott feltételnek? (Csak 1 ilyen cella van minden esetben, ami mindkettőnek megfelel)Tehát mondjuk egy táblázat 3 oszlopában vannak telefonszámok, nevek, telefon modellek és azt szeretném, hogy írja ki, hogy az xy készülék, ami xy-nál van, milyen telefonszámot takar.
-
gyga
senior tag
Üdv.
adott A7:A21 fix oszlopban meg kellene keresni az utolsó adatot.
tehát a7-től folyamatosan van valami szám de lehet hogy az utolsó a7ben vagy lentebb található. Ezt az utolsó adatot kellene az A6ba be másolni.
Hogy lehet kivitelezni? -
lappy
őstag
Sub Open_workbook_example2()
Dim Myfile_Name As Variant
Dim Myfile_Name_ex As Variant
Myfile_Name = Application.GetOpenFilename(FileFilter:="Excel Files(*.xl*),*.xl*)")
If Myfile_Name <> False Then
Workbooks.Open FileName:=Myfile_Name
End If
Myfile_Name = CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveWorkbook.Name)
Myfile_Name_ex = CreateObject("Scripting.FileSystemObject").GetExtensionName(ActiveWorkbook.Name)
ThisWorkbook.Sheets("Munka1").Range("A1") = Myfile_Name & "." & Myfile_Name_ex
End Sub
A Munka1 és A1 helyére mehet a saját munkafüzet neve és cella azonosítója -
Pá
addikt
válasz
Delila_1 #50171 üzenetére
Köszönöm szépen (neked és a többieknek is)! Sajnos ez még mindig nem az, amit szeretnék. Megpróbálom még egyszer leírni, csak nem tudom, hogy nagyon leegyszerűsítve lenne célravazető, vagy minden részletet megosztva?
Nagyon leegyszerűsítve arra lenne szükségem, hogy egy makró megnyisson egy user által kiválaszott file-t és aztán ne csináljon vele semmit. Azon túl, hogy a nevét(lehetőleg kiterjesztéssel, de az se világvége, ha nem) bemásolja annak a file-nak bármelyik cellájába, ahonnan indítottuk a makrót.
Ebben szeretnék segítséget vagy esetleg egy konfirmációt, hogy ez nem lehetséges és akkor tudok másik irányba is menni, csak azok mind macerásabbak és/vagy kevésbé elegánsak.Azért fontos, hogy a képletekkel "szívjam" be az adatokat a másik fileból, mert a másik fileban lévő adatoknak csak egy nagyon kis részére van szükségem. (10,000+ cellányi adatból kell ~100). Viszont az én cellámban folyó számolásoktól függ, hogy éppen mikor melyik 100 adat kell, szóval a lokáció dinamikusan változik. Ráadásul a képleteim már eleve a megfelelő sorrendben, formátumban, és helyre teszik be ,csak a szükséges adatokat, a további feldolgozásra.
Persze át lehetne tenni az egész sheetet az én fileomba és arra ugyanúgy ráereszthetném a képleteimet. Ezzel az a baj, hogy a másik fileban nem egy tabon vannak a szükséges adatok, hanem többön, ráadásul a számuk 2 - 15 között random módon változik. A "beszívó sheetem" ezt szépen le tudja követni. Nem szeretnék ennyi "szemetet" átpakolni az én fileomban, amikor valójában csak kb az 1%-ra van szükségem. (ezen a fileon kívül még 3 különböző adatbázisból is húz le adatokat a fileom és van 7-8 tab, amin a usereknek kell navigálni és ügyködni, szóval tényleg szeretném tisztán tartani, amennyire lehetséges).
Harmadrészt a forrás file felett semmi kontrollom nincs. Ha bármit változtatnak benne, akkor a makrót nem biztos, hogy tudom magamnak updatelni. Emiatt minél kevesebb munkát szeretnék a makróval elvégeztetni, tényleg csak, ami szükséges. Viszont a képleteimet nagyon modulárisan legózom össze. Szóval eleve olyan a design, hogy egy "kapcsolótáblában" lévő pár cella átírásával tudom frissíteni az egész sheetnyi képletet a változásoknak megfelelően, szóval így egyszerűbbnek látom a karbantartást. -
-
lappy
őstag
válasz
Fire/SOUL/CD #50174 üzenetére
-
-
Delila_1
veterán
válasz
Fire/SOUL/CD #50169 üzenetére
-
Delila_1
veterán
A lenti 3 makrót másold be egy modulba. Az elsőt indítod, az meghívja a másik kettőt.
Törli a Store lapot, majd feldob egy fájlválasztó ablakot.
Indítás előtt a harmadik makróban a Munka2 nevet írd át az Update füzeted másolandó lapja nevére.
Nem kell képletekkel "beszívni" az adatokat, mert az Update füzetből a teljes lapot másoljuk az Original-ba, majd az esetleges képletek helyére értékeket illesztünk be. Ez így gyorsabb, de az összevont cellák miatt mindenféle hiba állna elő nélküle.Option Explicit
Public WB
Sub Store_lap_torlese()
Dim FN
Application.DisplayAlerts = False
On Error Resume Next
Set FN = Sheets("Store")
If Err.Number = 0 Then Sheets("Store").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Fajl_Valasztas
End Sub
Sub Fajl_Valasztas()
Dim b As Integer
Set WB = Application.FileDialog(3)
With WB
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Nem választottál fájlt, befejezzük.", vbInformation, "Értesítés"
Exit Sub
Else
WB = .SelectedItems(1)
End If
End With
For b = Len(WB) To 1 Step -1
If Mid(WB, b, 1) = "\" Then
WB = Mid(WB, b + 1, 50)
Exit For
End If
Next
Sheets("Name").Cells(1) = WB
Workbooks.Open WB
Lapmasolas WB
End Sub
Sub Lapmasolas(WB)
Sheets("Munka2").Copy After:=Workbooks("Original.xlsm").Sheets(2)
Sheets("Munka2").Name = "Store"
Columns("A:Z").Copy
Range("A1").PasteSpecial xlPasteValues
Application.DisplayAlerts = False
Workbooks(WB).Close False
Application.DisplayAlerts = True
Sheets("Store").Cells(1).Select
End Sub -
VGYke
addikt
Sziasztok!
BÚÉK a csoport tagjainak!
Egy nem túl bonyolult kérdéssel indítanám az évet, amit nem tudok egyszerűen megoldani, de lehet egyszerű a megoldás!
Dátum függfények; Dátum, Óra, Perc:
Ha a dátum függfényeket használom, azok adott nap (Pl.2022.12.31) 0:00 percére vonatkoznak (hóanp első és utolsó napja, képletezve)
De ez így nem jó, mert a hónap utolsó napja nem 2022.12.31 00:00, hanem 2022.12.31 23:59:59, így az első nap: 2022.12.01. 0:00 csak hogy minden másodperc meglegyen!
Szóval, hogyan kellene képletezni A "Dátum Hónap első napja" és Dátum Hónap utolsó napja" képletet, hogy a későbbi számítások másodperc pontosak legyenek? -
BÚÉK mindenkinek...
-
Pá
addikt
Köszönöm szépen, hogy megnézted. Sajnos ez egyelőre nem pont az, amit akartam, viszont ad reményt, hogy megoldható lesz, szóval már ennek is örülök
Megpróbálom másképp elmondani, mit szeretnék elérni, mert belátom, hogy elsőre nem tűnik logikusnak. (de van mögötte logika, csak nem intuitiv a részletek ismerete nélkül)Van egy excel "Original" --> ez van nyitva és innen indul a makró. Ezen belül van 3 sheet. Legyenek, "Name", "Feed", "Store".
Van egy másik excel "Update". Ezzel csak annyit kell csináljon a makró, hogy megnyitja, majd a file nevét (lehetőleg kiterjesztéssel, de elérési útvonal nélkül) bemásolja az Original file Name sheetjére, mondjuk A1-be. Más dolog nincs a a frissen megnyitott file-lal. Szóval a makró nem mozgat adatokat a két file között.
Az Update fileból szükséges adatokat az Original file Feed sheetje beszívja, amint a file név bent van a Name sheeten. (ez be van képletezve). Ide esetleg be lehet tenni 1mp delay-t, hogy biztos frissüljön, illetve egy checket, hogy a formulák Feed!A1:Z200-ban hibára futottak-e.
Ez után a makró annyit kéne csináljon, hogy az Original fileon belül Feed!A1:Z200-ból a formulák eredményét valueként átmentse Store!A1:Z200-ba.
-
lappy
őstag
Sub Get_Data_From_File()
Dim FileToOpen As Variant
Dim OpenBook As Workbook
Application.ScreenUpdating = False
FileToOpen = Application.GetOpenFilename(Title:="Browse for your File & Import Range", FileFilter:="Excel Files (*.xls*),*xls*")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FileToOpen)
OpenBook.Sheets(1).Range("A1:Z200").Copy
ThisWorkbook.Worksheets("SelectFile").Range("A1").PasteSpecial xlPasteValues
OpenBook.Close False
End If
Application.ScreenUpdating = True
End Sub
A Sheet(1) -nél az 1 helyére adhatod meg hogy hányadik munkafüzet legyen
Még azt nem sikerült megcsinálnom hogy a munkafüzetek közül is lehessen választani
ezzel bemásolod az adatokat és innen veszed át az indirekt függvényekkel ami kell -
Pá
addikt
Igazából arra jutottam, hogy a jelenlegi INDIRECT-es megoldásom minden szempontból jó begyűjteni az adatokat, szóval megtartanám. (és elég macerás lenne felsetupolni egy új rendszert)
Az egyetlen hátránya, hogy minden adatot elvesztek, ahogy bezárom azt a file-t, ahonnan veszem az adatokat. Ezt úgy hidalnám át, hogy klónozom azt a sheetet ami begyűjti az adatokat.
Az eredeti lenne a Feed sheet. Továbbra is szépen beszippantaná az adatokat a megnyitott file-ból. A klón lenne a Store sheet, ide csak "Value"-ként tenném át az adatokat egy az egyben a Feed sheetről. Innentől a fileomban minden további cella csak a Store sheetre hivatkozna, ahol megmaradnának az adatok, egészen addig, amíg újra meg nem nyitom a másik file-t, ami a Feed sheeten keresztül beupdatelné a Store sheetemet.Viszont ehhez macro-t kéne használnom, amihez sajnos csak nagyon minimálisan értek, szóval ehhez kéne a segítségetek. Leírom, mi lenne a legideálisabb működés számomra, aztán max egyszerűsítünk rajta, ha valamelyik rész túl problémás.
Macro - Gombnyomásra indul
1. Felugrik a file megnyitás dialog box és user kiválasztja és megnyitja a másik file-t, amiből átszívjuk az adatokat. Innentől nevezzük Update.xls-nek. (A valóságban ennek a neve teljesen random módon változik, a kiterjesztése pedig lehet bármilyen excel formátum, szóval xls, xlsx, xlsm stb)2. Az újonnan megnyitott file nevét kiterjesztéssel együtt be kéne írni egy cellába az én fileomba, hogy táplálja az INDIRECT függvényeket a Feed sheeten. Szóval abba, a fileba ahonnan a macro-t indítottuk. Legyen mostantól Original.xlsx. Írja mondjuk a Sheet1!A1-be.
(Ezt a lépést nem tudtam megoldani egyáltalán, de remélem van rá valami okos mód. Azt talán ki lehet használni, hogy gondolom az Update.xls lesz az active.workbook, mivel épp most nyitottuk meg. De sajnos annyira nem értek vba-hoz, hogy ezt ki tudjam használni és át tudjam lopni a nevét a macrot futtató workbookomba. Legjobb lenne a file nevet kiterjesztéssel együtt, de elérési útvonal nélkül beírni. Ha nagyon nem megy másképp, akkor lehet kiterjesztés nélkül is. Egyébként az én fileom neve sem fix, de arra talán lehet hivatkozni úgy, hogy ahonnan fut a macro. Nehezítés, hogy a usereknek ezeken kívül még számos másik excele is lehet nyitva, amik nem kéne bezavarjanak)3. Ide esetleg be lehet tenni 1mp delay-t, hogy biztos frissüljön be minden adat a Feed sheeten. Nem tudom ez szükséges-e. Viszont mindenképp jó lenne egy check, hogy bármelyik formula errorra futott-e a Feed sheeten(elég az A1:Z200 range-t nézni). Ha igen, akkor le is állhat a macro egy hibaüzenettel.
4. Ha nincs error, akkor Feed!A1:Z200 range-ben a formulák eredményeit kéne áttenni valueként a Store!A1:Z200-ba. (nem tudom számít-e, de ebben a range-ben van néhány merged cella is. Illetve nem kizárólag formulák vannak, hanem néhány szöveges cella is, leginkább a táblázat headerjei)
5. Kész is, sikeres message box-szal zárulhat az update.
-
ny.janos
tag
Szia!
Akkor kezdem előröl az előbbi elveszett hozzászólás után.
A dátum átalakításához (a kérdésed alapján végzett) kísérletezgetésem alapján megfelelő megoldás lehet a szövegből oszlopok átalakítás, ha az utolsó lépésben megadod a dátum formátumát. Ha a dátumaid több formátumban vannak (ahogy írtad), akkor többször egymás után kell az átalakítást elvégezned. Az átalakítás a dátum formátumú cellákat nem fogja elrontani, a nem dátum formátumúakat ellenben megfelelő formátumra fogja alakítani. Az egyetlen (általam azonosított) probléma, ha a dátumok között NHÉ és HNÉ formátum egyaránt szerepel. Ez esetben összetettebb megoldást kellene keresni. Az átalakítás mikéntjéről Horváth Imre ebben a bejegyzésben írt részletesen.
Alkalmas lehet az átalakításra a Power Query is, de míg a szövegből oszlopok átalakítás a 202212.10 hibás formátummal is megbirkózik, addig előbbivel ezt nekem nem sikerült kezelnem (biztos lehet, csak az általam nem ismert megoldást igényelne).A megelőző hozzászólásod kapcsán (főként az alapján, hogy a bemeneti adataid több fájl több munkalapján találhatóak, de a struktúra azonos) szintén a Power Query alkalmazását javasom. A betöltés történhet akár az általad készített fájlba (ez esetben nem kell a bemeneti adatokat tartalmazó fájlokat megnyitnod) és azt is be tudod állatíni, hogy az adatfrissítés megtörténjen automatikusan, mikor a fájlodat megnyitod. A megoldásról itt találsz egy részletes, könnyen érthető, képernyőképekkel illusztrált leírást.
Sok sikert!
-
Pá
addikt
Kicsit az előzőhöz kapcsolódik, de inkább külön postba teszem, hogy ne keveredjen.
A másik táblázatban néha szövegként van megadva a dátum. PL, valami nagyokos így írja be:
'30/06/2023
Ezt hogy tudnám a legegyszerűbben bepattintani a DATE függvénybe? Vagy bármi más módon használható dátumot faragni belőle? Az a baj, hogy nem mindig pont így szar, néha másképp rontják el, szóval jó lenne egy valami általános dátumgyártó csodaszer, ha egyáltalán létezik ilyen.
(text-to-column annyira nem működik, mivel ez alapvetően egy formula eredménye és a formulát akarja szétbombázni)
szerk: sokszor viszont jól van megadva a dátum. Szóval arra is kéne egy függvény vagy valami, amivel először el tudom dönteni, hogy használható-e a dolog, vagy sem. Hogy aztán csak az utóbbira szabadítsam rá a csodaszert.
-
Pá
addikt
Sziasztok!
Van egy nagy táblázatom (enyém, én szerkesztem), amihez egy másik táblázatból (erre nincs befolyásom, készen kapom) kell adatokat áthúznom . Eddig egyszerű, de van néhány bonyolító tényező.
- Ez a másik táblázat valójában több táblázat. Ami itt lényeges, hogy a táblázat szerkezete ugyanaz, tehát a szükséges adatok pont ugyanazokon a tabokon és cellákban vannak. Viszont a táblázat neve teljesen random mód változik. Muszáj valahogy updatelnem.
- Az én táblázatomban dinamikusan kell tudnom változtatni, hogy a másikból épp melyik tabokról és cellákból milyen adatokat húzok ki.
- A másik táblázatból 10+ tabról kell több száz cellányi adat, szóval az nem opció, hogy kézzel összekötögetem és azzal elvagyok. Mindenképp formulával kell megadni, hogy honnan és miket frissítsen.
- Az én táblázatomat igazából én csak fejlesztem, mások használnák helyettem, így fontos, hogy minél inkább userfriendly és bolondbiztos legyen.Szóval a kérdésem, hogy mi a legoptimálisabb megoldás a fenti paramétereket figyelembe véve?
Jelenleg úgy oldottam meg, hogy az én táblázatomba egy cellába beírom a másik táblázat nevét (XY.xls) és onnantól INDIRECT fügvénnyel össze tudom legózni, hogy épp melyik tabjának melyik cellájából kell az adat.
Ez nagyon jól működik, szóval szívem szerint megtartanám az INDIRECTES megoldást. Viszont két hátránya van, amit szeretnék kiküszöbölni.
1. A másik táblázatot is meg kell nyitnom jelenleg, hogy áthúzza az adatokat. (ez a kisebbik baj).
2. Minden adatot azonnal elfelejt, ahogy bezárom a másik táblázatot.Ez így sajnos nem jó. Ideális esetben úgy kéne működjön, hogy amikor kijön a másik táblázat, akkor abból befrissítem az adatokat az enyémben. Utána a másik táblázatot elfelejtem és dolgozom az enyémben az így szerzett adatokkal. Aztán ha néhány nap vagy hét múlva megint frissül a másik táblázat, akkor megint befrissítem az enyémet és utána megint elvagyok csak azzal.
-
válasz
Dilikutya #50158 üzenetére
Esetleg ez? 1,2,3 közül
- ha 1-es, akkor számot ad vissza
- ha 2-es, akkor nagybetűt
- ha 3-as, akkor kisbetűt=KARAKTER(HA(VÉLETLEN.KÖZÖTT(1;3)=1;VÉLETLEN.KÖZÖTT(48;57);HA(VÉLETLEN.KÖZÖTT(2;3)=2;VÉLETLEN.KÖZÖTT(65;90);VÉLETLEN.KÖZÖTT(97;122))))
Ezt tetszőleges karakterrekkel is tudod módosítani (a 62-es értéket is módosítsd ha bővíted):
=KÖZÉP("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";VÉLETLEN.KÖZÖTT(1;62);1)
-
Dilikutya
félisten
Hello!
Hogy tudnám ebből a speciális karaktereket kidobni?
=KARAKTER(VÉLETLEN.KÖZÖTT(48;122))
Csak a számok, betűk kellenek, vagy ez egy lépésben nem megy? Jelszógenerátort barkácsolnék magamnak.
-
hódmaci
senior tag
Sziasztok!
Létezik olyan függvény amely figyeli az adott oszlopot és ha abban az oszlopban adott sorba meghatározott szöveg kerül akkor a Cellák kitöltése egyszínű színekkel kiválasztódik?
pl.:
B oszlopot és D oszlopot figyelemB1 mezőbe '1" írok akkor a Cella kitöltése zöld szín lesz de ha "2" akkor pedig piros ha "3" akkor meg kék.
B8 mezőbe '1" írok akkor a Cella kitöltése zöld szín lesz de ha "2" akkor pedig piros ha "3" akkor meg kék.
Ugyanakkor figyeli a D oszlopot is
és ugyan azok a szabályok érvényesek mint a B oszlopnál.És ugyan így tovább általam választott oszlopoknál.
-
Troy.
addikt
Sziasztok,
Mint makrózáshoz hozzá nem értő, felmerült bennem egy-két kérdés vele kapcsolatban.
1. Egy makró office verziótól függetlenül képes lefutni bármelyik verzión (Itt most a Microsoft 365 és Office 2019-re gondolok elsősorban)?
2. Lehet, hogy buta kérdés, de miképp tudom azt megcsinálni, hogy minden xlsx fájlban jelen legyen a makró (ezáltal a leggyorsabban futtatni)?
Röviden, hogy mire is használnék makrót: Adott egy program, amiből xlsx formátumban nyerek ki adatokat. Ezeket az adatokat makróval formáznám meg, hogy ne kelljen manuálisan minden egyes alkalommal, kézzel formázni. Lényegében ez meg is volna, bár tény, hogy nem kód írásával, hanem leginkább makró rögzítéssel készült.
Tehát leginkább azt szeretném, hogy ha van egy ilyen xlsx-em, akkor csak lefuttatom a makrót és mentem.
3. Amit még egyelőre nem oldottam meg, hogy ugyanabba az adott mappába mentse vissza a makrót, ahol az eredeti fájl van.üdv.
-
Vladek83
tag
Sziasztok,
esetleg van lehetőség webes felületen elérni/használni makrókkal telitűzdelt táblázatot..?
Nézegettem, de sajnos nem igazán jártam sikerrel..
Próbának néztem egy oldalt, de nem kicsit túlárazott..üdv,
-
csferke
senior tag
Sziasztok!
Egy kis segítséget kérnék tőletek.
Egy munkalapon létrehozott adatlapot makróból kiíratok egy meghatározott névvel ( a W3-as mező tartalma) és megadott címre (G:\valahova) PDF formában.
Egy újabb igény szerint kellene most ezt a pdf-et automatikusan elküldeni, Thunderbird-ben, egy e-mail címről (ami nem változik) egy a munkalap adott mezejében (W9) megadott e-mail címre.
Segítségetek kérem.
köszi -
Játékos
addikt
válasz
Delila_1 #50141 üzenetére
Szia!
Nagyon köszönöm a választ, kitaláltad a gondolatomat!Viszont a kérdés lényege, hogy miként lehet az, hogy pl. a cég nevét felajánlja (ha már volt az oszlopban feljebb), de pl. az adószámát soha, egyik cégnek sem. Köze lehet az adószám formátumához? (12345678-01-1)
Vagy alapvetően azért, mert szám? -
Játékos
addikt
Sziasztok!
Kérdezni szeretném, hogy minek a függvénye, hogy egy előzőleg beírt adatot a következőkben felkínáljon újra a program? Egyiket kínálja, másikat nem, és nem fedeztem fel benne semmi rendszert.
Előre is köszönöm a segítséget. -
Fferi50
Topikgazda
válasz
eszgé100 #50137 üzenetére
Szia!
Úgy tűnik, hogy a SaveCopyAs nem szereti, ha a fájlt a hálózatra szeretnénk felmásolni. Valószínűleg egy jó kis bug. Jelezni kellene Redmond felé.
Megkerülő megoldás:
Megjegyzed a fájl nevét és elérési útját egy változóban.
Ezután SaveAs a fájlt a hálózatra, majd ismét SaveAs a változóban eltárolt paraméterekkel. Így visszajutsz az eredeti fájlodhoz. Szomorú, tudom, de legalább működik.
Üdv. -
eszgé100
őstag
Sub saveweeklycopy()
Dim name As String
Dim sharepoint As String
Dim weekcom As Date
Dim weeknum As Integer
weekcom = Sheets("Sheet1").Range("B2")
weeknum = Sheets("Sheet1").Range("B3")
name = Format(weekcom, "YYYYMMDD") & ("_WK" & weeknum) & ".xlsm"
sharepoint = "https://companyname.sharepoint.com/sites/projectname/Shared%20Documents/ourfolders/myfolders/Trial/"
MsgBox sharepoint & name
ThisWorkbook.SaveCopyAs filename:=sharepoint & name
End SubSziasztok!
az alabbi kod remekul mukodik, ha SaveAs-t hasznalok, viszont annyi a gond vele, hogy nekem egy biztonsagi mentest kellene keszitenem az eredeti fajlon viszont szeretnek tovabb dolgozni. SaveCopyAs Runtime 1004-el elszall...
Sorry we couldn't find xy file. Is it possible it was moved, renamed or deleted?
SaveAs siman letrehozza az uj fajlt, nem ertem, hogy mi lehet a ketto kozt a kulonbseg?
Mi a pontos modja, hogy biztonsagi mentest csinaljak, majd folytathassam a munkat az eredetin? -
Fferi50
Topikgazda
válasz
friccccc #50135 üzenetére
Szia!
"Nekem az OK ra kellene az idő. De nem ismeri fel.... Ha kézzel beírom a cellába akkor jó....."
Meg tudnád mutatni azt a függvényt, ami az OK-t beírja az adott cellába?
Egyáltalán, bekerül a cellába az OK érték? Szövegként kerül be? Lépésenként futtatva ellenőrizted a cella tartalmát? Képet esetleg mutatnál róla?
Üdv. -
friccccc
tag
Sajnos nm ok.
Egyszerűsíteni akartam , de akkor leírom , hátha ez sem mind1.Dim i As Integer
Application.EnableEvents = False
For i = 1 To 200 Step 5
If Cells(i, 3).Value = "OK" And Cells(i, 10).Value = "ÉN" Then
Cells(i, 100).Value = Range("X3").Value
End If
Next
Application.EnableEvents = True
End Sub
Köszi a segítséget! -
friccccc
tag
Sziasztok!
Van egy fv em ami ha teljesülnek a feltételek A1 be kiadja, hogy "OK". Ekkor VBA val ki szeretném iratni B1-be, C1 értékét.
én így írtam , de sajnos nm ismeri fel ha OK jön A1 be...(gondolom a képlet miatt, mert ha csak simán képlet helyett kézzel beírom A1 be, hogy OK akkor szépen teszi a dolgát.).:
Private Sub Worksheet_Calculate()
If Range ("A1")="OK" Then
Range("C1")=Range("B1")
End if
Köszi előre is. -
Fferi50
Topikgazda
válasz
Melorin #50122 üzenetére
Szia!
Szerintem is makrós megoldás kell:
A rendelés táblád eseménykezelőjébe kell egy rövid makró, amelyik bemásolja az "adatbázisból" a képet.
Pl.Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If IsEmpty(Target) Then Exit Sub
Application.EnableEvents = False
Sheets("Adatbázis").Range("A1:A50000").Find(what:=Target.Row, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Copy Destination:=Target.Offset(0, 1)
Application.EnableEvents = True
End If
End Sub
Amikor a sor első cellájába érték kerül, megkeresi az adatbázisban és átmásolja a képet. A feltételezés itt az, hogy az adatbázisban az anyag azonosító az első oszlop és mellette van a kép továbbá a sor második cellájába kell másolni.
Nincs benne hibakezelés, tehát ha olyan érték kerülne be, ami nincs az adatbázisban, akkor hibával megáll. Természetesen ezt lehet kezelni.
Figyelem! Ebben az esetben makróbarátként kell mentened azt a fájlt, amivel dolgozol. A mások által nézett fájl már lehet makrómentes.
Üdv. -
Melorin
addikt
válasz
Fferi50 #50121 üzenetére
Havi átlag 200, de max 300 anyag rendelését kell kezelnem, amikhez kell egy mini kép, hogy tudja mindenki, hogy milyen anyagról van szó. Az adatokat, árakat stb cikkszám alapján tölti ki a táblázat fkeres-sel egy "adatbázisból" , ezt kéne megtoldani még egy oszloppal amiben egy mini kép lenne az anyagokhoz.
Mivel ez a lista folyton változik, nem akarom kézzel ki-be pakolgatni a képeket, automatizálni kellene. -
Fferi50
Topikgazda
válasz
Melorin #50114 üzenetére
Szia!
Megcsináltad ezeket a lépéseket:?
"1.Select any cell that has the logo. Make sure you have selected the cell, not the logo/image.
2.Copy the cell (use Control + C or right-click and select copy).
3.Right-click on the cell where you want to get the linked picture (it can be any cell as we can adjust this later).
4.Go to the Paste Special option and click on the small right-pointing arrow to get more options.
5.Click on the Paste Linked Picture icon.
"
Mert csak ezzel együtt működik a kép megjelenítése.
Üdv. -
Fferi50
Topikgazda
válasz
Melorin #50112 üzenetére
Szia!
A Refers to: nem a képlet része. Az a hivatkozás angol neve.
Írtam, hogy a képletben az Excelednek megfelelő függvényeket és formákat kell használnod.
Magyar Excelben a MATCH => HOL.VAN, a vessző helyett pedig általában pontosvesszőt kell használni.
Továbbá a képletet csak a névkezelő Hivatkozás részébe kell beírni. A cellákba a névkezelőben megadott nevet kell írni az egyenlőségjel után. Azt lehet lehúzni.
Üdv. -
Fferi50
Topikgazda
válasz
Melorin #50107 üzenetére
Szia!
" 300 bejegyzést kell létrehoznom a névkezelőben ehhez?!"
Egyáltalán nem!
A második verzió nekem jobban "tetszik".
Itt a névkezelő képlete:Refers to: =INDEX($C$3:$C$22,MATCH($E$3,$B$3:$B$22,0))
Ahol a $E$3 a nevet tartalmazó cella. Amennyiben a sor elől elhagyod a $ jelet, akkor a képletet lefelé húzva majd mindig az aktuális cella értékét fogja keresni.Refers to: =INDEX($C$3:$C$22,MATCH($E3,$B$3:$B$22,0))
Az első cellába beírod a nevet: =ClubLogoLookup
majd ezt lehúzod, ameddig neveid vannak.
Természetesen a képletet és a függvények neveit a saját Exceled követelményeinek megfelelően használd.
Üdv. -
Melorin
addikt
Köszi, ez majdnem jó. Viszont nekem nem 1 cella kell amiben a kép az alapján változik, hogy egy bizonyos cellában mi az érték. Látom ezt úgy oldják meg ezekben a példákban, hogy a névkezelőben definiálnak egy cellát amit figyel, és az alapján fog az a bizonyos kép megváltozni. De nekem kb 300 sornyi adat van amiknek külön képe van. 300 bejegyzést kell létrehoznom a névkezelőben ehhez?!
-
Melorin
addikt
Sziasztok!
Hogyan lehet megoldani azt, hogy fkeressel vagy hasonló megoldással egy képet hívjak meg egy cellába?
Tehát ha beírom az A1-be azt, hogy 'Alma' akkor a B1-ben jelenjen meg egy alma képe. Természetesen a táblázat egy másik lapján lenne egy adatbázik képekkel. Vagy a képeket eleve úgy nevezem el, hogy alma.jpg és azt behívni valahogy.
Nem tudom, segítsetek légyszi -
spect80
senior tag
sziasztok,
Van egy táblázatom, amiben van 6000 sor 2 oszloppal:
- kezdődátum
- végdátum- a dátum mezőben megadott adatok: éééé.hh.nn óó:pp:mm
Az a feladat, hogy adja össze és írja ki az összes sor azon óraszámait amik reggel 10:00 előtt vagy este 20:00 után szerepelnek a listában.
SZUMHATÖBB függvénnyel próbáltam megadni, de elakadok a kritériumnál, hogy milyen formában lehet beírni, hogy <10:00 vagy >20:00 óra. Egyáltalán ezt meg lehet így adni?
Új hozzászólás Aktív témák
Hirdetés
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Csere-Beszámítás! RTX Számítógép játékra! I5 13400F / 32GB DDR5 / RTX 4070 Super / 1TB SSD
- LG 27UL500-W - 27" IPS - 3840x2160 4K - 60Hz 5ms - HDR10 - AMD FreeSync - 300 Nits - sRGB 99%
- LG 48C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- Nintendo Switch bazár (Okosított Nintendo Switch konzolok, játékok, tartozékok)
- Honor 9X Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged