Kezdőlap › Fórumok › Excel témák › [Resolved] Választógomb szerinti adatmegjelenítés
- This topic has 30 hozzászólás, 2 résztvevő, and was last updated 5 years telt el by delila.
-
SzerzőBejegyzés
-
2019-10-23-23:37 #6363
Sziasztok
Van egy táblázat amiben egy adott termék gyártási paramétereit rögzítjük napi bontásban, majd kinyomtatva archiváljuk.
A papírfelhasználás csökkentése érdekében szeretnénk ezt elhagyni, és digitális aláírással PDF formátumban menteni.
A csatolt táblázatban az „adatok” fülön visszük fel az értékeket, és ha rákattintok a „checklist” fülre akkor szeretném ha megjelenne az adott nap mérési eredményei amit a mellette lévő választógombbal szeretnék megjeleníteni, majd ezt a lapfület menteni.
A táblázat eredetileg egy havi mérési eredményt tartalmazna, de a példaként remélem elég a csatolt fájl.Az alapötletem az volt, hogy a választógombhoz cellacsatolásnak megjelent egy szám az A1-es cellában amit ha váltogattam a gombok között vele együtt változott. A „HA” függvénnyel szerettem volna megcsinálni, pl ha 2-es gomb esetén A1 cella = 2 akkor cellahivatkozással listázza ki a zöld sorban lévő adatokat.
Sajnos nem sikerült lehet a alapötlettől kezdve rossz úton jártam, természetesen ha egyéb lehetőség is van rá, szívesen fogadom az ötleteket.
Köszönöm a segítséget!
2019-10-24-14:59 #6364Hol maradt a csatolás?
2019-10-24-15:09 #6365Bocsánat pedig konkrétan emlékszem rá mikor betallóztam.
Attachments:
You must be logged in to view attached files.2019-10-24-17:23 #6368Szia!
2 makrót írtam a füzetedbe. Az első az adatok laphoz van rendelve, ami meghívja a másikat (Masolas nevűt), ami egy modulban van.
A laphoz rendelt eseményvezérelt makró azt teszi, hogy mikor egy új sor utolsó adatát – a C mérést – beviszed, átadja az aktuális sor számát a Masolas-nak. Ez beírja a B oszlop dátumát, és a 3 mérési eredményt a megfelelő helyekre, majd menti a lapot termek_meres aktuális-dátum.pdf néven abba a mappába, ahonnan megnyitottad a füzetet. Adhatsz más útvonalat a modulban lévő makró utvonal= … sorban. Az útvonal végződjön „\”-re.
Mivel minden dátumhoz külön sor tartozik, folyamatosan vezetheted a méréseket ebbe a füzetbe akárhány sorban, nem kell választani 3 sor közül.Sajnos itt nem lehet makrót tartalmazó, xlsm kiterjesztésű fájlt csatolni, ezért beírom a két makrót. Az elsőt rendeld az adatok laphoz. Lapfülön jobb klikk, Kód megjelenítése. Ezzel bejutsz a VB szerkesztőbe. A jobb oldalon lévő nagy üres területre másold.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 5 And Target.Row > 2 Then Masolas Target.Row End If End Sub
A másodikhoz modult kell beszúrnod. A VB szerkesztőben Insert menü, Module. Kapsz egy Module1 nevű modult, amit bal oldalon látsz, jobb oldalon újabb üres felület lesz, ide kell másolnod az újabb makrót.
Sub Masolas(sor) Dim utvonal As String utvonal = ActiveWorkbook.Path & "\" With Sheets("checklist") .Range("B2") = Cells(sor, 2) .Range("B3") = Cells(sor, 3) .Range("B4") = Cells(sor, 4) .Range("B5") = Cells(sor, 5) .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ utvonal & "termek_meres " & Format(Date, "yyyy_mm_dd") & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False End With End Sub
Sok sikert, üdv Kati
2019-10-24-18:36 #6371Szia Kati!
Először is szeretném megköszönni a segítséget.
Sajnos makróval soha nem dolgoztam, nem ismerem ennek a működését, pedig próbáltam még a válaszod után keresgélni.
A leírásod szerint csináltam mindent, lementve ugyanazon néven makróbarát verzióként, de a táblázatban nem történik semmi. Olvasgattam, keresgéltem, sok helyen látom, amikor megnyomják az F5 gombot akkor elindítható az a makró. Jó helyen keresgélek?Nem tartottam tegnap fontosnak, gondolván majd átalakítom, de egy nap 4-szer történik a mérés, tehát egy dátumhoz 4 sornyi adatsorra lenne szükségem.
Tegnap azt gondoltam ez képletekkel megoldható, de ilyet nem használtam. Segítenél benne?
2019-10-24-19:36 #6372Közben eszembe jutott még más is.
A napi 4 mérés körülbelül egyenként 30 mérési paramétert foglal magában.
Ebből változó okokból nem mindegyik mérést tudjuk elvégezni, ezért van olyan hogy csak kettőt lehet.
Tehát ha pont az utolsó mérés adatát nem tudom mérni, akkor a táblázat már nem adja át ezeket az adatokat a checklist fülre.
Ha jól értem akkor a választógombok ebben a makróban nem is funkcionálnak semmit ugye?2019-10-25-07:27 #6373Jó reggelt!
Azt írtam, hogy mikor egy új sor utolsó adatát – a C mérést – beviszed, akkor végzi el a makró a feladatot.
Átalakítottam a füzetet makrók nélkülire. Ezzel csak az a baj, hogy nem végzi el a pdf-be mentést, de legalább tudom csatolni.Attachments:
You must be logged in to view attached files.2019-10-25-15:40 #6375Köszönöm szépen örülök, hogy meg lehet oldani képletekkel is, és a táblázat működik.
Sajnos 3 órája időzök azzal, hogyan tudnám ezt kiterjeszteni, több napra és mérési paraméterre, az én excel tudásom szerint rengeteg idő lenne, és ha később változtatni kellene rajta ami elég gyakori akkor szintén.
Ha jól látom egyszerre több HA függvény feltételéhez van kötve, és azt olvastam, hogy egy képletnél ez is csak korlátozott mennyiségig használható.
Csatoltam a táblázatot 2 újabb lapfüllel, körülbelül így nézne ki a valóságban, mert a mentendő oldalon is nem egymás mellett vannak az értékek.
Van erre valamilyen lehetőség, hogy a leendő kb 120 választógombra legyen valamilyen képlet?Attachments:
You must be logged in to view attached files.2019-10-26-09:26 #6377Csatolom az új füzetet, benne a hozzá tartozó mesével.
Attachments:
You must be logged in to view attached files.2019-10-28-09:40 #6379Nagyon jó lett a táblázat, nem tudom eléggé megköszönni neked.
Sajnos a mesét még egy utolsó fejezettel szeretném ha kiegészítenéd.
Én az alap függvényeken kívül ilyen bonyolultságút nem használtam soha, le sem merem írni hány órát szántam rá amióta megkaptam tőled a táblázatot, hogy utánaolvassak melyik függvényt mire használjuk úgy általában.
A leírásod teljesen érthető, átlátható, és logikus viszont 1 dolgot nem értek, mégpedig ha a Munka2 lapon meg szeretném változtatni a pozíciókat.
Az első amit kiemeltem a -1 ezt ha átírtam mondjuk -2-re akkor fentebb ugrott egy sorral. De ez mit funkcionál a táblázatban?
A nagyobb kérdőjel pedig a második kiemelés a +2. Nem értem mi a 0 pont ahonnan ezt számolja. Illetve csak sejtésem van, mert ha az OSZLOP() függvénybe nem írok számot akkor azt az oszlop számot adja vissza amelyikbe írtam, de ha a cellát „elhúzom” oldalra a függvény a mellette lévőben is ugyanezzel a képlettel dolgozik és szépen adja a mellette lévő értékeket.3 sor van 3 ugyanolyan függvény amiben csak annyi a különbség hogy a +5 és +9
Ha ez nekem tiszta, ebből már meg tudom csinálni a rendes táblázatot is de ez egy elég fontos része ami még ködös.
=HAHIBA(INDEX(Táblázat1;HOL.VAN($H$1;Munka1!$L:$L;0)-1;OSZLOP()+2);””)
2019-10-28-13:23 #6380Nagyon jó, hogy foglalkoztál vele, mert amiket a kutatásod közben megtanultál, az fixen megmarad az emlékezetedben.
Két képlethez újabb magyarázatot írtam, remélem, érthetően.Attachments:
You must be logged in to view attached files.2019-11-01-14:12 #6382Az a baj hogy hosszú távon nem marad meg mert nem minden nap használom. 3 éve horvimi videóiból nagyon sokat tanultam, de nem használom napi szinten így manapság, sokszor az alap dolgokon is gondolkodni kell.
Most megint megjött a kedvem, úgyhogy már egy excel makró könyvet is beszereztem.Igen teljesen érthető, elkezdtem csinálni nulláról a leendő táblázatot és sikerült is minden képletet szinte „puskázás” nélkül megírni.
Szeretném megcsinálni a dátum oszlopot úgy, hogy minden hónapban előre ki legyen töltve, de a gyorskitöltés nem tudja értelmezni azt hogy, 4 ugyanaz napi dátum utána egyel több, újra 4 nap ugyanaz és egyel több. Ez kb. 120 sor lenne minden hónapban.
Meg tudom csinálni úgy hogy az egyik oszlopban a hónap első napja végig kitöltve, egy másik oszlopban az 1,1,1,1,2,2,2,2 stb. majd ezeket összeadom, de ha lenne erre valami spécibb megoldás akkor érdekelne.Van még egy másik dolog, amit te tettél bele extraként a táblázatba, és nagyon tetszett az pedig, hogy mentéskor automatikusan pdf-be és az aznapi dátummal menti.
Ez azért nem működne nekem, mert ugye napi 4 pdf készül majd különböző időpontokban. Ez már tudom, hogy inkább makró programozás, úgyhogy kifejtsem egy új fórumban? Talán másoknak is segítség lehet, a kezdeti fórum témától már így is teljesen elkanyarodtunk.- A hozzászólás módosításra került: 5 years, 1 month telt el-tasmatta.
2019-11-01-17:18 #6384Az első, dátumot tartalmazó cella az A2. Ide írod a kezdő dátumot. Az A3 képlete
=HA(MARADÉK(SOR()+2;4)=0;A2+1;A2)
Ezt már másolhatod.A pdf-es makróban a
Format(Date, "yyyy_mm_dd") & ".pdf"
-t írd át így
Format(Now, "yyyy_mm_dd hh-mm") & ".pdf"
mert itt az időpont is kell, ha több mentést készítesz naponta.
Ehhez a makróhoz tehetsz ki egy gombot.Sub Mentes() Dim utvonal As String utvonal = ActiveWorkbook.Path & "\" Sheets("checklist").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ utvonal & "termek_meres " & Format(Now, "yyyy_mm_dd hh_mm") & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False End Sub
2019-11-01-20:46 #6387Te egy varázsló vagy a szó legjobb értelmében 🙂
Igen a tervem ez lenne, hogy egy gomb által mentse.
Sajnos ez a napi 4 időpont elég kötött tehát a fájlnévben muszáj, hogy benne legyen ez a makró pedig a mentés időpontját adja hozzá. (Napi apró sikerélményem, de a múltkori makrót nem tudtam elindítani, most ezt igen, és a gombbal is össze tudtam kapcsolni)
Keresgéltem én is sokat, és láttam, hogy táblázatból lehet egy adott cella tartalmát is beírni. Nekem erre tökéletes lenne a Munka2 H1-es cellája (2019.10.28 2:00), ez új adatkor mindig változtatja az időt is, csak az a probléma vele, hogy ugye fájlnevet nem tudok kettősponttal menteni. Erre van valamilyen lehetőség?Amiket láttam videós tutorialokat azok mindig egy meghatározott mappába mentik amit én nem szeretnék.
A ötlet az lenne hogy a mentés helyét én választhassam ki, tehát rákattintok a gombra és akkor már egy adott mappáig (pl.2019 mérések) tallózza és azon belül én választom már ki melyik hónap mappájába mentse. Borzasztó hosszú a mappaszerkezetünk ezért érdekelne van-e ilyen lehetőség. Amint a mentés megtörtént, ezt a pdf fájlt meg is nyissa, mert a digitális aláírást utólag lehet rátenni.A fájl nevének pedig szeretnék más nevet adni mint az eredeti pl Csekklista_+dátum+idő
Tehát 1 nap fájlnevei így néznének ki:
Csekklista_2019.11.01_02_00.pdf
Csekklista_2019.11.01_10_00.pdf
Csekklista_2019.11.01_14_00.pdf
Csekklista_2019.11.01_22_00.pdf
Ha ez a H1-es cella alapján történő azonosítás járható út, itt ugye a nap és az óra között van egy szóköz amit itt kicseréltem alsóvonalra, de ha erre nincs opció különösképpen nem zavar.2019-11-02-10:11 #6388A kettőspontot nem lehet a fájlnévbe írni, marad az alsó kötőjel.
Csatolom az újabb verziót.2019-11-02-10:16 #6389Ördög vigye a más macskáját! Nem lehet makrót tartalmazó fájlt csatolni.
Lementem xlsx-ként, és bemásolom ide a modulba írt makrót.Sub Pdf_mentes() Dim utvonal As String, FD, FN As String Sheets("Munka2").Select Set FD = Application.FileDialog(4) 'mappa választás With FD .AllowMultiSelect = False .Show If .SelectedItems.Count = 0 Then MsgBox "Nem választottál útvonalat, befejezzük.", vbInformation, "Értesítés" Exit Sub Else utvonal = .SelectedItems(1) End If End With utvonal = utvonal & "\" FN = "Csekklista " & Format(Range("L1"), "yyyy.mm.dd hh_mm") & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=utvonal & FN, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
Attachments:
You must be logged in to view attached files.2019-11-03-01:53 #6391Köszönöm az új képletezést, ezt már annyira nem zavart össze mint a makrók 🙂 Gondolom az első verzió képletei is működnének vele, csak lehet így is? Nincs összefüggésben ezzel a makróval?
Ez a makró működik benne csak nem minden fent leírt folyamattal, amit nem tudom keresnem kell-e a makróban.
Az első, hogy nem egy meghatározott mappáig ugrik.
Bemásoltam az elérési utat ebbe a sorba: utvonal = utvonal & „ide szúrtam be\” de nem oda ugrik.
A másik pedig hogy amint menti a pdf fájlt, azt meg is nyitja.Szóval megelőzve az újabb kérdezősködést próbáltam magamtól megcsinálni, egy tutorial segítségével, ami sikerült is, csak ebben a videóban nem a pdf mentésen volt a fókusz amit pedig nem tudom, hogy tudok a te makróddal összegyúrni.
Ez volt a videós segítség. Ezt egy teljesen új munkafüzetben csináltam.
https://www.youtube.com/watch?v=V-TBTZvdDkUA makrója:
Option Explicit Sub SaveAsDialog() With Application.FileDialog(msoFileDialogSaveAs) .Title = " Válaszd ki a mappát " .ButtonName = "Product mentése" .InitialFileName = "C:\Users\Otthoni\Desktop\makros\" & Range("C5").Value & "_Checklista" If .Show = 0 Then MsgBox " A mérés nem lett PDF-ben mentve! ", vbCritical Exit Sub End If .Execute End With End Sub
Szóval a folyamat szerint:
– Kattintok a gombra
– Felugrik a mentés másként ablak, ami tartalmazza a mentendő fájl nevét
– Egy meghatározott mappaszerkezetig ugrik
– Onnan én választom ki a végleges helyét
– Mentés PDF-ben majd a mentett fájl automatikusan megnyílikPróbáltam úgy megírni hogy csak a PDF választásig mert makró nélkül normál esetben automatikusan megnyitja, ha ki van pipálva, de az én tutorialos makrómmal el sem menti, mert gondolom nem határoztam meg a pdf paramétereit, amit a tiédből másoltam volna, valószínű még valamit hozzá kellett volna írni.
2019-11-03-13:07 #6392Délelőtt sikerült „megvilágosodnom” ahhoz hogy megnyissa a PDF fájlt egyszerűen csak át kell írnom a OpenAfterPublish:=False-ról True-ra 🙂
2019-11-03-14:50 #6393Nálam a makrót tartalmazó fájl az F:\Otthoni\macros mappában van. A makró indításakor az a mappa nyílik meg, amit az Excel beállításakor a Mentés menüpontban a Helyi fájlok alapértelmezett helye rovatban megadtam. Az adataimat, fájljaimat soha nem mentem a C meghajtóra. A Te feladatodhoz F:\Otthoni\macros\Checklista fát készítettem, ezen belül vannak az évek – jelenleg csak egy, 2019.
Megnyílik a FileDialog, kiválasztom a megfelelőt, ezzel el is mentettem.Sub Pdf_mentes() Dim utvonal As String, FD, FN As String Sheets("Munka2").Select Set FD = Application.FileDialog(4) 'mappa választás With FD .AllowMultiSelect = False .Show If .SelectedItems.Count = 0 Then MsgBox "Nem választottál útvonalat, befejezzük.", vbInformation, "Értesítés" Exit Sub Else utvonal = .SelectedItems(1) & "\" End If End With FN = "Csekklista " & Format(Range("L1"), "yyyy.mm.dd hh_mm") & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=utvonal & FN, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
2019-11-03-15:33 #6394Azt hiszem megtaláltam azt a makrót ami nekem tökéletes lenne, átalakítottam az én verziómra, szeretném ha pár dologban segítenél kiegészíteni, és elmagyarázni mit takar.
Ebben nem tudom, hogyan lehet továbbra is egy meghatározott mappáig ugrani. Ezt gondolom ki kell egészíteni.
A MsgBox („A dokumentumot nem mentetted”) üzenet mikor jön elő? Ha a mentést kihagyom a A mérés nem lett PDF-ben mentve! üzenetet kapom ami pont jó.
Az excel fáj mentése után egy üzenetet kapok mindig hogy: Legyen óvatos! A dokumentum egyes részei, olyan személyes információkat tartalmazhatnak, amelyeket a Dokumentumfelügyelő nem tud eltávolítani.
Ezt ki lehet kapcsolni benne?Sub gombPDF_Click() Dim sPath As String Dim sFile As Variant Dim ws As Worksheet On Error GoTo ErrHandle sPath = ThisWorkbook.Path & "\" & "Meres_" & Me.Range("g7") sFile = Application.GetSaveAsFilename _ (InitialFileName:=sPath, _ FileFilter:="PDF Files (*.pdf), *.pdf", _ Title:="Válaszd ki a mentés helyét") If sFile = "False" Then MsgBox ("A mérés nem lett PDF-ben mentve!") Exit Sub End If Me.ExportAsFixedFormat _ Type:=xlTypePDF, _ Quality:=xplQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True Exit Sub ErrHandle: MsgBox ("A dokumentumot nem mentetted") End Sub
2019-11-03-15:35 #6395Jaj úgy látom pont egyszerre írtuk a hozzászólást 🙂
2019-11-04-07:00 #6401Horváth Imi írta, hogy tömörítve, zip-ként fel lehet tenni a makrót tartalmazó fájlt, kipróbálom.
Az új képletek csak a lapra érvényesek, a makróhoz semmi közük. Csak példa arra, hogy minden feladatra több megoldás létezik.
Próbáltam az utvonal változóban megadott helyen megnyitni a mappa választót, de nem jött össze, hátha valaki…Set FD = Application.FileDialog(4) utvonal = "F:\Otthoni\macros\Checklista\" ChDir utvonal With FD ...
Attachments:
You must be logged in to view attached files.2019-11-11-13:36 #6452Egyenlőre hanyagolom a makró részét, mert ahogy haladok előre folyamatosan jönnek az ötletek, és minimális makró tudás hiányában elég nehéz, és sosem jutnék a végére.
A táblázattal képletezésében szeretnék újabb segítséget kérni, itt az lenne a gond, ha a cella üres, akkor nullát ír be ami a méréses adatoknál elég problémás, pedig a HAHIBA függvénynél be van állíva, hogy „-” karakter jelenjen meg.
Próbáltam HA illetve ÜRES függvényt használni, egyenlőre nem sok sikerrel.
Ha kivettem belőle a HAHIBA függvényt akkor sem írja ki a #hiányzik értéket, pedig ezekbe a sorokba még soha nem vittem fel adatokat.Ez a képlet már nem az itteni táblázatból van hanem a készülőben lévőből:
=HAHIBA(INDEX(adatok;HOL.VAN(results!$A$7;results!$A$9:$A$132;0);OSZLOP()-7);”-„)
2019-11-11-13:56 #6453Közben rájöttem akkor adná ki a #HIÁNYZIK értéket ha a Dátum mező üres ami jó is, de arra van megoldás, hogy ha a dátum is ki van töltve, de nincs mindegyik cellában adat akkor is kitöltse „-” karakterrel?
2019-11-11-14:11 #6454Több változat készült, és közben az idő is szépen telt.
Fel kellene tenned a jelenlegi változatot, hogy kiderüljön, hol állsz most.2019-11-11-14:27 #6455A jelenlegi táblázatban már sajnos olyan adatok és információk vannak amit nyilvánosan nem oszthatok meg, csatoltam egy korábbit ami erre megfelel, mert ugyanezt a képletet használtam itt is.
Attachments:
You must be logged in to view attached files.2019-11-11-14:44 #64572019-11-11-15:21 #6459Első reakció: Úristen!
Második reakció jobban megnézve: Ez nekem miért nem jutott eszembe? 😀Tökéletesen működik.
Ezzel a függvénnyel már szinte késznek mondható, és használhatóvá vált a táblázatom.
Nem mondom, hogy végleg eltűnök innen, főleg ha elkezdem tanulni a makró programozást, de valószínűleg már új topikban folytatom.Nélküled ez nem sikerült volna, szeretném megköszönni a türelmedet, és minden eddigi segítséged.
További szép napot, és minden jót kívánok!
2019-11-11-15:26 #6460Az ÜRES függvényt Te juttattad eszembe.
Elég kacifántosra sikerült, hátha kapsz egyszerűbb megoldást. Az ilyen tengerikígyó képlettel az a baj, hogy egy újabb igény esetén nehéz követni.
Sok szerencsét hozzá!2019-11-12-08:39 #6468Kicsit rövidebbre vettem a Munka2!A4 cella képletét, ami alapján a többit is módosíthatod. A feltételnél nincs szükség a HAHIBA függvényre.
=HA(INDEX(Táblázat1;HOL.VAN($H$1;Munka1!$L:$L;0)-1;OSZLOP()+2)=0;"";HAHIBA(INDEX(Táblázat1;HOL.VAN($H$1;Munka1!$L:$L;0)-1;OSZLOP()+2);""))
2019-11-12-08:48 #6470Előbb írtam, mint gondolkoztam. Mégis szükség van a feltételnél is a HAHIBA függvényre, mint a próbánál kiderült nem létező dátum és időpont kiválasztásánál.
Szánom-bánom. 🙁 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.