Hozzászólások
-
SzerzőBejegyzés
-
Nem tudom, miért nincsenek ott a makrók. Bemásolom ide.
Alt+F11-re bejön a VB szerkesztő. Bal oldalon kiválasztod a füzetedet (ha van több is megnyitva), az Insert-Module kiválasztására kapsz egy új modult bal oldalon, Module1 névvel. A jobb oldali nagy üres mezőbe másold be ezeket:Sub Osszesites() Dim lap As Integer, uoszlop As Integer, usorR As Long, lapnev As String Sheets("Riport_2").Cells.Delete Sheets(2).Range("A1:E1").Copy Sheets("Riport_2").Range("A1") For lap = 2 To Worksheets.Count If Left(Sheets(lap).Name, 6) <> "Riport" Then uoszlop = Sheets("Riport_2").Cells(1, Columns.Count).End(xlToLeft).Column + 1 usorR = Sheets("Riport_2").Range("A" & Rows.Count).End(xlUp).Row + 1 With Sheets(lap) Sheets(1).Cells(1, uoszlop) = "Hátralék " & .Name usor = .Range("A" & Rows.Count).End(xlUp).Row .Range("A2:E" & usor).Copy Sheets(1).Range("A" & usorR) .Range("F2:F" & usor).Copy Sheets(1).Cells(usorR, uoszlop) End With End If Next Rendez uoszlop End Sub Sub Rendez(uoszlop) Sheets("Riport_2").Select usor = Range("A" & Rows.Count).End(xlUp).Row ActiveWorkbook.Worksheets("Riport_2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Riport_2").Sort.SortFields.Add2 Key:=Range("B1:B" & usor), _ SortOn:=xlSortOnValues, Order:=xlAscending ActiveWorkbook.Worksheets("Riport_2").Sort.SortFields.Add2 Key:=Range("D1:D" & usor), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Riport_2").Sort.SortFields.Add2 Key:=Range("A1:A" & usor), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Riport_2").Sort .SetRange Range(Cells(2, 1), Cells(usor, uoszlop)) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Egyesites uoszlop End Sub Sub Egyesites(uoszlop) Dim oszlop As Integer Sheets("Riport_2").Select usor = Range("A" & Rows.Count).End(xlUp).Row uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column For sor = usor To 3 Step -1 If Cells(sor, 1) = Cells(sor - 1, 1) And Cells(sor, 2) = Cells(sor - 1, 2) _ And Cells(sor, 4) = Cells(sor - 1, 4) Then For oszlop = 6 To uoszlop Cells(sor - 1, oszlop) = Cells(sor, oszlop) + Cells(sor - 1, oszlop) Next Rows(sor).Delete End If Next Cells.EntireColumn.AutoFit End Sub
A felsőt kell indítanod, az meghívja a másik kettőt.
Szia!
Írtam egy makrót, ami elkészíti az összesítést.
A csatolt füzetben az Osszesites makrót kell indítanod.Üdv,
DelilaAttachments:
You must be logged in to view attached files.Szia!
Az Alap lapra bevittem, amit az Eredmény lapon összeállítottál.
Nem tudom, miért akarod beszúrni a hiányzó dátumokat, de írtam hozzá egy kis makrót – ezért makróbarát a fájl. Az „Alap (2)” lapon indítva beszúrja a sorokat, és beírja a hiányzó dátumokat.
Üdv,
Delila-
A hozzászólás módosításra került: 2 years, 8 months telt el-
delila.
Attachments:
You must be logged in to view attached files.Ahogy a videón láttad:
=INDEX(A1:A6,MODE(MATCH(A1:A6,A1:A6,0)))
Szia!
Magyar Excelnél a képlet
=INDEX(A1:A6;MÓDUSZ(HOL.VAN(A1:A6;A1:A6;0)))
Delila
Beírod az adatokat. Formázás táblázatként, kiválasztod a stílust, Fejléceket tartalmazó táblázat. Adja a Táblázatn nevet, amit felülírhatsz, de ilyen mennyiségnél egyszerűbb a sorszámmal hivatkozni az egyes táblázatokra.
Jó reggelt!
Csatolom az INDEX függvényes megoldást.
Delila
Attachments:
You must be logged in to view attached files.Szia!
Nem vagyok Imre, de azért megpróbálok segíteni.
Az A1:A10 feltételes formázási képlete legyen=SZUM($B1:$H1)>0
Üdv,
DelilaSzia!
A makró elején add ki a parancsot, ami a makrónak engedélyezi a zárolt cellákba írást:
ActiveSheet.Protect Password:="SzuperTitkosJelszó", UserInterfaceOnly:=True
Üdv,
DelilaHurrá!
Szia!
Nézd meg az FKERES függvényt, erre való.
Delila
Most már sokkal jobb a formázás.
A szűrőt a helyedben az 5. sorba tenném az első helyett, akkor még hasznát is vehetnéd.Szia!
Imre fájlján a feltételes formázást átírtam 1 szabályra. Szerintem nem kell a zöld háttér, elég, ha a hibás cellák pirosak.
Nézd meg az X15-ös cellát, ott van egy hibás érték.Delila
Attachments:
You must be logged in to view attached files.Szia!
Próbáld így:
If Cells(i, j).FormatConditions(1).Interior.ColorIndex = 3 Then Cells(i, j).FormatConditions(1).Interior.ColorIndex = 5
A lényeg a FormatConditions.Delila
Örülök, hogy haladsz a feladattal.
Nem sikerült időben kijavítani.
A C2 képlete rövidebben:
=HA(VAGY(ÜRES(B2);TÍPUS(B2)<>1);"Nincs számadat";HA(B2=MEDIÁN(B2;$J$2;$J$3);"OK";"Nem OK"))
Szívesen. Remélem, sikerrel átalakítottad a saját igényedhez.
Szia!
Az Index és a HOL.VAN függvényekkel tudod megoldani.
A 2 fájlt becsomagoltam, az Ország Kalkuláció.xlsx Munka1 lapján, az A1 cellában találod a képletet. Nem írtam melyik fájlban milyen oszlopok vannak, de a képletet átírhatod a minta alapján.Delila
Attachments:
You must be logged in to view attached files.A csatolt füzeted C oszlopa jól van formázva, de be kell vinned egy új feltételt a 0 alatti értékekre:
=C15<0
Nézd meg a névkezelőt, van egy halom érvénytelen tartományod.A sárga formázást ki kell egészítened.
=ÉS(VAGY(C2<5;C2>7);HOSSZ(C2)>0;C2<>"")
Ehhez azt kell tudni, hogy a képletet tartalmazó cella hosszát az Excel 0-ként értelmezi.Az előző verziódat vettem figyelembe. A mostani számokhoz nyilván át tudod alakítani a képletek számértékeit.
A sárgánál a <5 feltétel tartalmazza az üres értéket is, azért kell betenni feltételként, hogy erre ne vonatkozzon. A zöldnél fix az 5 és 7 között nem lehet üres cellaérték.
Szia Sándor!
Két képlet kell a C oszlopba.
=ÉS(VAGY($C2<5;C2>7);C2<>"")
– sárga, és=ÉS(C2>=5;C2<=7)
– zöld. Az össze többi felesleges.
Ugyanez megy az A oszlopra is, csak ott a képletekben C helyett A szerepeljen.-
A hozzászólás módosításra került: 3 years, 2 months telt el-
delila.
Szívesen. 🙂
Szia!
Ha nevet adtál a tartománynak, a RowSource =Lapnév!Tartománynév.
Ha nem adtál nevet, akkor =Lapnév!Tartomány_első_tagja:Tartomány_utolsó_tagja.
A form indításaUserForm1.ListBox1.ListIndex = (0) UserForm1.Show
Ide csak tömörítve tudod becsatolni a makrót tartalmazó fájlodat.
Delila
Szia!
A ThisWorkbook laphoz rendeld a makrót. A csillagozott sorban állíthatod be, hogy melyik napon másoljon.
Private Sub Workbook_Open() If Day(Date) = 10 Then '********* Columns(4).Copy Range("E1").PasteSpecial xlPasteValues End If End Sub
Azt biztosan meg tudod adni, hogy ha a hónap megadott napja hétvégére esik [WeekDay(Date,2]>5, akkor a következő hétfőn másoljon.
Szívesen.
Küldöm módosított verziót, megint mesével.Attachments:
You must be logged in to view attached files.Addig ügyeskedtem, míg sikerült innen kitörölnöm a tömörített fájlt. Azt hittem, lehet több csatolmány, de nem.
Attachments:
You must be logged in to view attached files.Elírtam a „mese” szövegében egy szót, csatolok a javítottról egy képet.
Attachments:
You must be logged in to view attached files.Szia!
Makróval nagyon gyorsan létre lehet hozni a sok jelölőnégyzetet.
Csatoltam a makróbarát füzetet, tömörítve, mert csak így fogadja el a fórum.
Mese a fájlban.Delila
Szia!
Alapállásban adj valami háttérszínt a kitöltendő celláknak, majd adj rájuk feltételes formázást.
=A1<>""
– ha A1 a kötelezően kitöltendő cella.
A formátum megadásánál a kitöltés legyen Nincs kitöltés.Delila
Szívesen. 🙂
Szia!
A képlet
=HA(ÉS(C3>=0;C3<=2);C3*A$1;HA(ÉS(C3>2;C3<=5);C3*A$2;C3*A$3))Delila
Szia Imre!
Mivel az időpontok (feltehetően) emelkedő sorrendben vannak, egyszerűbben is meghatározható a Max és Min érték.
Delila
Attachments:
You must be logged in to view attached files.Örülök, hogy végül összejött.
Szia!
Eszerint nem 1, hanem több oszlop tartalma szerint kell szűrnöd a táblát.
A képen látod a G2 cella képletét, amit a többi sorra is lemásolhatsz. Ezután a G oszlopra kell szűrni azokat a sorokat, ahol az érték nagyobb, mint nulla.
A makró így módosul:
ActiveSheet.Range("$A$1:$G$20").AutoFilter Field:=7, Criteria1:=">0"
Attachments:
You must be logged in to view attached files.Jó reggelt!
Lehet, hogy az F oszlop számokat tartalmaz, a H1 pedig számként ábrázolt szöveget (vagy fordítva).
Próbáld meg, hogy a H1-be áthúzol egy cellát az F oszlopból.Az ActiveSheet.Unprotect helyett olyan utasítást javaslok, ami a makrónak engedi a lapon a módosítást az amúgy zárolt cellákban, de a billentyűzetről nem.
A Select utasítások sem kellenek.Sub Felt_Szures() ActiveSheet.Protect Password:="SzuperTitkosJelszó", UserInterfaceOnly:=True ActiveSheet.Range("$A$1:$F$20").AutoFilter Field:=6, Criteria1:=Range("$H$1") End Sub
Szia!
Igen, lehet.
ActiveSheet.Range("$A$1:$F$6").AutoFilter Field:=5, Criteria1:=Range("N1")
Itt az A1:F6 tartomány E oszlopát szűrjük az N1 cella tartalma szerint. Ide írhatsz relációs jeles értéket is, pl. <=500,
vagy a T* tartalomnál a T-vel kezdődő adatokra kapsz szűrést.Üdv,
DelilaNincs mit.
Szia Ákos!
Tudja a szorzatösszeg, ha megmondod neki.
=SZORZATÖSSZEG(KEREKÍTÉS(B2:B5;0);KEREKÍTÉS(C2:C5;0))
Kati
Szia!
Ha csak ez a 4 sor lenne, egy megoldás, hogy a G7-be beírsz egy függvényt: =HAHIBA(G2*1;3)
Ezt le-, és jobbra másolod, majd az eredeti helyére beilleszted értékként.
Amíg nem kapsz jobb tippet, talán ez is megteszi.Delila
Nagyszerű!
Eddig nem vettem észre a MAXHA függvényt.Szia!
Egy másik megoldás a tömbfüggvény.
Szintén elneveztem a két oszlopot. Az A Termék, a B Beérkezett névre hallgat.
Csatolom a képet.Kati
Attachments:
You must be logged in to view attached files.Szia Imi!
Valóban a kérdezőnek dinamikus képletre van szüksége.
Azért nem bánom, hogy feltettem ide a lapok egyes celláinak összegzését, mert nem sokan ismerik ezt a megoldást. Ha ide nem is stimmel, máshol (pl. 1 évhez 12 lap, majd ehhez egy összegző lap) alkalmazható.Kati
Jó reggelt!
Egy másik megoldás lehet, hogy minden lapon egy üres cellába (nálam D1) beírom az A oszlop maximumát. Az összegző lapon a képlet
=SZUM(Munka1:Munka3!D1)
A Munka1:Munka3 helyén a képletben az első, és az utolsó lapok neve szerepeljen.Üdv,
delilaSzia!
Nálam az érvényesítés (amiben ki lehet választani az egyes cégeket), a C3 cellában van. Az a lap, amit el kell rejteni, ill. fel kell fedni, RejtettLap névre hallgat.
Ha a listából az Összetett-et választod, a RejtettLap láthatóvá válik, ellenkező esetben rejtett lesz.
A makrót ahhoz a laphoz kell rendelned, amelyiken a választási lehetőség van.Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$3" Then If Target = "Összetett" Then Sheets("RejtettLap").Visible = xlSheetVisible Else Sheets("RejtettLap").Visible = xlSheetVeryHidden End If End If End Sub
Örülök, hogy összejött.
A képlet beírása előtt szűréssel kiválasztanám a negatív értékeket, és áthelyezném a segédoszlopba (E), majd az A oszlopból szintén szűréssel kitörölném az üres cellákat.
Szia!
A példámban az adatok a 2. sorban kezdődnek, és az első oszlopban vannak. Biztosan át tudod alakítani a saját tábládhoz.
Sub Kezdobetu() Dim sor As Long sor = 2 Do While Cells(sor, 1) <> "" Cells(sor, 1) = Application.WorksheetFunction.Proper(Cells(sor, 1)) sor = sor + 1 Loop End Sub
Delila
Horváth Imi szavával: örülünk.
Szia!
A nyomtatási területet a PrintArea tulajdonságnál adhatod meg, pl.
PrintArea = "$A$1:$E$76"
, ahol a tól- és ig tartományt változóval is helyettesítheted.
Az F50-ben az utolsó nyomtatandó sort add meg, akkorPrintArea = "$A$1:$E$" & Range("F50").Value
szerepelhet a makródban.Szia!
3 lépésben át lehet alakítani mindet 26 karakteresre. Valószínű, hogy a képleteket össze lehet vonni, csak lusta vagyok hozzá.
Delila
Attachments:
You must be logged in to view attached files.Sajnos nem. Mikor jártál a másik fórumon?
Ha tartalmaz makrót, zip-be tömörítve tudod ide feltölteni.
-
A hozzászólás módosításra került: 4 years telt el-
delila.
Ezt bizony nem tudom követni. 🙁
Javaslom, hogy első lépésként rögzíts egy makrót, ami az összes cikkszámból kigyomlálja az azonosakat – Adatok menü, Ismétlődések eltávolítása. Ha ez megvan, ennek az oszlopnak az értékei szerepelhetnek a SZUMHA függvényben kritériumként.Ciklus nélkül is meg lehet oldani. Az F2 képlete látszik a szerkesztőlécen. Ezt a makró írta be, addig, ameddig az A oszlopban van adat.
Sub Szumha() Dim usor As Long usor = Range("A" & Rows.Count).End(xlUp).Row Range("F2:F" & usor) = "=SUMIF(D:D,D2,E:E)" End Sub
Attachments:
You must be logged in to view attached files.Szia!
Speciális szűrést alkalmazz, ahol a kritérium címe Node, az érték pl. 01H02401. A szűrésben elég a Sor oszlopot megjeleníteni.
Üdv, Delila
Szia!
Egy egyszerű feltételes formázással megoldható, mint a csatolt képen láthatod. A sárgával kiemelt részben az A1 helyett azt a cellát add meg, ahol a kijelölésed kezdődik.
Üdv,
DelilaAttachments:
You must be logged in to view attached files.Köszönöm, hogy utána jártál. Egyszer kipróbálom.
Kati
Bevallom, még most sem értem, honnan veszed a 100, 202, 1, 196, stb. értékeket.
Transzponáltam a 2. sorba ezeket, a D3 képletét pedig másoltam jobbra és le.
Fogalmam sincs, hogy jó-e így.Attachments:
You must be logged in to view attached files.Szia!
Úgy tűnik, azért nem kapsz választ, mert rajtam kívül más sem érti a feladat lényegét.
Próbáld meg újra, részletesebb magyarázattal.Delila
Szia!
Nem saját készítésű, Krizsák László követte el évekkel ezelőtt.
Kipróbáltam, tudja a 10M-t.Function Szam_kiiras(szam As Long) As String Dim j1, j10, j10a, j100 j1 = Array("", "egy", "kettő", "három", "négy", "öt", "hat", "hét", "nyolc", "kilenc") j10 = Array("", "tíz", "húsz", "harminc", "negyven", "ötven", "hatvan", "hetven", "nyolcvan", "kilencven") j10a = Array("", "tizen", "huszon", "harminc", "negyven", "ötven", "hatvan", "hetven", "nyolcvan", "kilencven") j100 = Array("száz", "", "ezer", "millió", "milliárd") betu = "" If szam = 0 Then Szam_kiiras = "Nulla" Exit Function End If s = Format(szam, "0") j = 1 While s <> "" i = Len(s) - 2 If i < 1 Then i = 1 s2 = Mid(s, i, 3) s = Left(s, i - 1) s3 = "" If Len(s2) = 3 Then s3 = s3 + j1(Asc(Mid(s2, 1, 1)) - 48) If Mid(s2, 1, 1) <> "0" Then s3 = s3 + j100(0) s2 = Right(s2, Len(s2) - 1) End If If Len(s2) = 2 Then If Mid(s2, 2, 1) = "0" Then s3 = s3 + j10(Asc(Mid(s2, 1, 1)) - 48) Else s3 = s3 + j10a(Asc(Mid(s2, 1, 1)) - 48) End If s2 = Right(s2, Len(s2) - 1) End If s3 = s3 + j1(Asc(Mid(s2, 1, 1)) - 48) If s3 <> "" Then s3 = s3 + j100(j) If (betu <> "") And (szam > 2000) And (s3 <> "") Then kot = "-" Else kot = "" betu = s3 + kot + betu j = j + 1 Wend betu = UCase(Left(betu, 1)) & Right(betu, Len(betu) - 1) Szam_kiiras = betu End Function
Delila
Nem sikerült bevinni a módosítást.
Szerintem a druszámnak arra van szüksége, hogy 1 év adatait mutassák az értékek. Ha ez igaz, a kérdés felvetése pontatlan.Igen. Az eredményekben az április is szerepel, pedig csak márciusig kellene.
Jó reggelt!
Az ELTOLÁS képlet magába foglalja a B1-et, a címsort is. Nem kellene levonni még 1-et a DARAB2 függvénynél emiatt?
D.
Bocsi, csak most vettem észre.
https://forum.index.hu/Article/showArticle?la=148718083&t=9009340
Ezen a fórumon eléggé nehézkes a keresés,a 35466-os hsz-t kell nézni.Szia!
2 perccel ezelőtt megkaptad a választ egy másik fórumon.
D.
Szia!
Egy nem látható karakter, pl. szóköz lehet benne. A KÓD függvény visszaadja a hivatkozott cella első karakterének a ASCII kódját, ami szóköz esetén 32.
A HOSSZ függvényt is alkalmazhatod.Delila
Szia!
Tegnap egy másik fórumon megkaptad a választ.
AzIf Not Intersect(Target, [B2:B8]) Is Nothing Then
sorban írd át a figyelendő területet, [B2:B8] helyett legyen [B2:D4] – a mostani felállás szerint.Delila
Szia!
A remek Villámkitöltés funkcióval oldanám meg.
A1-ben van a Julcsás szöveged. B1-be beírod a nevet. B2-re állva Kezdőlap, Szerkesztés, Kitöltés, Villámkitöltés.
Ennyi.Delila
Szívesen. 🙂
Látom, új kérdésként is feltetted, ott válaszoltam rá.
Szia,
Talán ezzel:Sub ID() Dim sor As Integer, ertek As Integer ertek = 10 For sor = 2 To 101 Step 10 Sheets("osszefuz").Range("B" & sor & ":B" & sor + 9) = ertek ertek = ertek + 10 Next End Sub
Üdv, Delila
Szia!
Próbáld így:
Sub Masol_Torol() Dim ide As Long ide = Sheets("osszefuz").Range("A" & Rows.Count).End(xlUp).Row + 1 Sheets("C").Range("b2:J11").Copy Sheets("osszefuz").Range("A" & ide).PasteSpecial xlPasteValues Sheets("betolto").Range("D1,J1,C4:D8,G4:H8").ClearContents End Sub
Delila
Szia!
A csatolt képen látod a G2 cella képletét, ami tömbfüggvény. A H2-é annyiban különbözik ettől, hogy a MIN helyett Max függvényt kell megadnod.
Delila
Attachments:
You must be logged in to view attached files.Szia Attila!
Most csak 2007-es verzióm van egy „katasztrófa” miatt, Ebben a RANDBETWEEN függvényben adhatod meg a két szélső értéket a véletlenszámoknál.
Magasabb verziókban a VÉLETLEN.KÖZÖTT adja, de nem vagyok benne biztos.Delila
Szia Bence!
zip-ben csatolok egy megoldást. Mese a füzetben.
Delila
Attachments:
You must be logged in to view attached files.Szia!
Tömbök, területek változóba tétele nélkül is meg lehet oldani.
2 makrót írtam, mert nem derült ki, hogy a másik lapon egymás mellé, vagy alá akarod másolni az adatokat.Sub Masol_Munka1_re() 'egymás alá Dim oszlop As Integer, usor As Long, uoszlop As Integer, ide As Long usor = ActiveSheet.UsedRange.Rows.Count uoszlop = ActiveSheet.UsedRange.Columns.Count ide = 2 For oszlop = 2 To uoszlop - 1 Step 2 Range(Cells(2, oszlop), Cells(4, oszlop)).Copy Sheets("Munka1").Cells(ide, 1) Range(Cells(3, oszlop + 1), Cells(usor, oszlop + 1)).Copy Sheets("Munka1").Cells(ide + 1, 2) ide = Sheets("Munka1").Range("B" & Rows.Count).End(xlUp).Row + 1 Next End Sub Sub Masol_Munka2_re() 'egymás mellé Dim oszlop As Integer, usor As Integer, uoszlop As Integer usor = ActiveSheet.UsedRange.Rows.Count uoszlop = ActiveSheet.UsedRange.Columns.Count For oszlop = 2 To uoszlop - 1 Step 2 Range(Cells(2, oszlop), Cells(4, oszlop)).Copy Sheets("Munka2").Cells(2, oszlop - 1) Range(Cells(3, oszlop + 1), Cells(usor, oszlop + 1)).Copy Sheets("Munka2").Cells(3, oszlop) Next End Sub
Delila
🙂
Megvan!
ElsoSor=Range("A2:A10000").SpecialCells(xlCellTypeVisible).Row
A 10000 helyett lehet másik szám.
2020-12-05-07:06 Hozzászólás: [Resolved] Dinamikus sorba rendezés szűrési feltétellel excel 2016-ban #8008Jó reggelt!
Feltétlenül eseményhez kell rendelni? Lehet egy gombot kitenni a lapra, és ahhoz rendelve indulna a modulba másolt makró.
Üdv,
DelilaVan egy régi makróm, ami tartalomjegyzéket készít a lapokról, ahol a lapnevek linkek, a megfelelő lap A1 cellájára ugranak.
Mód van rá, hogy egyúttal minden lapra tegyen egy linket, amivel a tartalomjegyzék lapjára ugrorhatsz vissza.Magyarázatokkal együtt küldöm a makrót.
Sub Tartalomjegyzek() 'A makró egy tetszőleges nevű munkalapot szúr be a meglévőek elé. 'Erre a munkalapra egy tartalomjegyzéket készít a többi munkalapot listázva, 'hivatkozást is elhelyezve, amik az egyes munkalapok egy megadott cellájára mutatnak. 'A lapokra vissza logikájú linket helyez el kérésre, egy megadott cellába. Dim TartalomLapnev As String, VisszaSzovege As String, VisszaHelye As String Dim aktiv As Integer, Vissza As Integer 'Megkérdezi a felhasználótól, mi legyen a tartalomjegyzék munkalapjának a neve TartalomLapnev = InputBox("Mi legyen a tartalomjegyzék munkalapjának neve?", "Tartalomjegyzék munkalapjának neve") 'Megkérdezi, szeretnénk-e vissza gombot elhelyezni a munkalapokon? Vissza = MsgBox("Legyen-e egy vissza logikájú link a munkalapokon?", 4, "Vissza logikájú link") 'Ha igen, kérdezze meg, mi legyen a szöveg? pl. Alt+0171:« 'és hol legyen az egyes lapokon If Vissza = 6 Then VisszaHelye = InputBox("Hova kerüljön a vissza logikájú link a lapokon?" & vbLf & "Pl.: A1", "Vissza logikájú link helye") VisszaSzovege = InputBox("Mi legyen a vissza logikájú link felirata?" & vbLf & "Pl. « (bal Alt+0171)", "Vissza logikájú link felirata") End If 'Szúrjon be egy új munkalapot a meglévők elé a legelső helyre. ActiveWorkbook.Sheets.Add Before:=Worksheets(1) 'Adja az új munkalapnak a felhasználó által megadott nevet Worksheets(1).Name = TartalomLapnev 'Menjen végig a munkalapokon ... For aktiv = 2 To ActiveWorkbook.Sheets.Count '... és írja ezeknek a nevét sorszámmal ellátva az újonnan létrehozott lapra. Worksheets(1).Cells(aktiv, 1).Value = aktiv - 1 'sorszám Worksheets(1).Cells(aktiv, 2).Value = Worksheets(aktiv).Name 'lapnév 'A munkalapok neveit tegye linkké With Worksheets(1) 'itt adhatjuk meg, hogy az egyes lapokon melyik cellára mutasson a link .Hyperlinks.Add Anchor:=.Cells(aktiv, 2), Address:="", _ SubAddress:="'" & Worksheets(aktiv).Name & "'!A1", TextToDisplay:=Worksheets(aktiv).Name End With 'Ha kértünk Vissza linket, hozza létre a vissza logikájú linket a megadott cellába If Vissza = 6 Then Worksheets(aktiv).Range(VisszaHelye).Value = VisszaSzovege With Worksheets(aktiv) 'itt adhatjuk meg, hogy a Vissza link melyik cellára álljon az első lapon .Hyperlinks.Add Anchor:=.Range(VisszaHelye), Address:="", _ SubAddress:="'" & TartalomLapnev & "'!B2", TextToDisplay:=VisszaSzovege .Range(VisszaHelye).Font.Bold = True End With End If Next aktiv End Sub
Szia Krisztián!
Küldök egy kis primitív makrót.
Sub Lapokra() Dim sor As Integer, nev As String For sor = 2 To 10 nev = Sheets("Nevek").Cells(sor, 1) Sheets.Add.Name = nev Sheets(nev).Range("B3") = nev Sheets(nev).Range("B4") = Sheets("Nevek").Cells(sor, 2) Next Sheets("Nevek").Move before:=Sheets(1) End Sub
Üdv,
KatiSzerk.: a makró a Nevek lap 2. sorától a 10. sorig végzi el a feladatot. A For kezdetű sorban írd át a számokat a saját igényed szerint.
-
A hozzászólás módosításra került: 4 years, 7 months telt el-
delila.
:((
Szia Babakitti!
Sokkal jobb ötleteket kaptál, de hogy tudj róla, leírom a lapod eredeti felépítéséhez alkalmazható nézetek egyszerű létrehozását.
A november hónap megjelenítéséhez az A:D és az AJ:BM oszlopoknak kell látszaniuk, a többit elrejted. A Nézet menüben az Egyéni nézetek menüpontban Hozzáadás, a neve legyen November. A többi hónappal is elvégzed ezt.
Mikor ki akarsz választani egy hónapot, a Nézet, Egyéni nézetek ablakban csak rákattintasz a hónap nevére.Üdv,
KatiSzia Norbi!
A csatolt fájl nem egészen olyan, mint amit kértél, de talán ez is megteszi, míg nem kapsz másikat.
A cikkszámoknak emelkedő sorrendben kell lenniük, ahogy most is vannak.
A két HOL.VAN függvényt, és a névkezelőt nézd meg, azok alapján kapsz érvényesítési listát az I2 cellában.Üdv,
KatiAttachments:
You must be logged in to view attached files.Köszi, hogy lezártad ezt az értelmetlen vitát.
Szia verax!
Először csak szövegesen írtam le a szerintem jó megoldást, még 19-én, 6:28-kor, amit a kérdező, kopisb
11:27-kor megköszönt, jónak minősített.
Másnap jöttél Te a kopisb.xlsx, majd a kopisb-1.xlsx fájlokkal. Az utóbbi harmadik lapja után szúrtam be a Munka4 lapot, és ezt az egyetlen Excel fájlt tettem fel kopisb-2.xlsx néven. Ott az E oszlop képletében a pontszámokat a B oszlopból veszem, ahol egész számok szerepelnek
=INDEX($A$1:$D$15;HOL.VAN(D2;A:A;0);2)
nem a formázás láttatja egészeknek.
Ezután már csak képeket linkeltem be ebből a fájlból, mert nem láttam értelmét újra és újra elküldeni a teljes fájlt.Ennyit a fjordokról. Üdv,
KatiJó reggelt!
Az eltérő felfogásunk abban áll, hogy egyik megoldás szerint az első 5 db legnagyobb érték-, ill. az első 5 legnagyobb érték szerint listázunk.
Az eredeti kérdés szerint az utóbbira van szükség, legalábbis az én felfogásom szerint: „készítek egy olyan összegző kis táblát, ahol a top 5 értékkel rendelkező cellához tarrtozó nevet listázom”.Részemről befejezettnek tekintem ezt a feladatot, üdv:
DelilaA képleteket elég 2-től 7 sorig lemásolni.
Látod, nálam az E oszlopban egész számok szerepelnek.Szerk.: beteszek egy újabb képet. A pontszámok feltehetően jobban eltérnek majd, mint a példában, nem lesz sok azonos helyezés.
-
A hozzászólás módosításra került: 4 years, 7 months telt el-
delila.
Attachments:
You must be logged in to view attached files.Az első sorba beírtam a képleteket.
Fent mm-ben, a táblázatban cm-ben adod meg az adatokat. Az utóbbit módosítottam.Attachments:
You must be logged in to view attached files.Szia Péter!
A képlet (24,27-int(24,27))*400. Természetesen nem közvetlenül a számokat kell beírnod, hanem a megfelelő cellákra kell hivatkoznod.
Üdv,
DelilaSzia verax!
Tényleg elbeszélünk egymás mellett.
Nézd meg a képet. Balra a tiéd, jobbra az enyém látható.
Mindegyiknél az első helyezett F 6 ponttal, második E és G 5-5 ponttal, harmadik D, H és N 4-4 ponttal.
Nem értem, mi a gond.Üdv,
KatiAttachments:
You must be logged in to view attached files.A Munka4 lapra felvittem a fentebb javasolt megoldást, működik pontazonosság esetén is.
Attachments:
You must be logged in to view attached files.Örülök neki, szívesen. 🙂
Szia!
Egy segédoszlopban az EA értékeihez adj hozzá egy nagyon kicsi értéket, ami a sorszámtól függ.
=EA3+SOR()*0,0001. Ez a harmadik sorban 0,0003-mal, az ötödikben 0,0005-tel növeli az értéket. A NAGY függvény erre az oszlopra hivatkozzon.
Nem tudom, mekkora értékeid vannak az EA oszlopban. A szorzót úgy kell meghatároznod, hogy sokkal kisebb legyen, mint az eredeti érték.Üdv,
DelilaAz instrukciód alapján kiválóan működik a változóval is.
alap = 13 Columns(alap - 1).Resize(, 5).Delete Shift:=xlToLeft
Köszönöm! 🙂
-
A hozzászólás módosításra került: 2 years, 8 months telt el-
-
SzerzőBejegyzés