Hirdetés
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Márkaváltás sok-sok év után
- eBay-es kütyük kis pénzért
- N€T0X|N: 4070 Super -> 5070ti
-
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
-
Delila_1
veterán
válasz
Brandynew
#30819
üzenetére
Feltettem ide a füzetet.
Miért hagysz a címsor után egy üres sort?
Az Értékesítés lapra képet tettem be, ami megmutatja, hogyan szűrtem az egyedi értékeket a J oszlopba.
Az Irányított szűrést az Adatok | Rendezés és szűrés csoport | Speciális menüvel csalhatod elő.
A K oszlop képlete összegzi a napi eladásokat. -
Delila_1
veterán
válasz
thomas50.000
#30814
üzenetére
A másik fórumon, ahol először tetted fel a kérdést, ott a válasz.

-
Delila_1
veterán
válasz
Anonymus23
#30810
üzenetére
Nagyon szívesen.

-
Delila_1
veterán
válasz
Anonymus23
#30808
üzenetére
Ha a menük között nem szerepel a Fejlesztőeszközök, a Beállításoknál a Menüszalag testreszabása részben a jobb oldali táblában jelöld be.
Visszalépve a füzetbe a Fejlesztőeszközök | Vezérlők csoportban kattints a Tervező módra. Ekkor Ctrl+g-re bejön az Ugrás menü. Ott az Irányított, majd az Objektumok kiválasztásával az összes gombod ki lesz jelölve. A Delete gombbal egyszerre törölheted mindet.
-
Delila_1
veterán
válasz
tgumis
#30768
üzenetére
Úgy látom, itt nem az oszlopok elrejtéséről van szó, hanem arról, hogy nem fér el az utolsó oszlop a lapon.
A Nyomtatási kép menüben hívd be az Oldalbeállítást, ott az Oldal fülön a nagyítás vedd le az eredeti méret 80%-ára. Próbálkozhatsz kisebb-nagyobb átállítással. A Margók fülön módosíthatod a margók szélességét, és az igazítást is beállíthatod, hogy a lap közepén legyen a kinyomtatott szöveg.
A 3. fülön bevihetsz élőfejet, élőlábat, a 4. fülön megadhatod például a fent ismétlődő sorokat ( az esetedben 1:4).
-
Delila_1
veterán
válasz
Delila_1
#30756
üzenetére
A soroknál addig futott az oldaltörések beszúrása, míg az A oszlop n-edik sorában volt adat. Kiegészítettem a függőleges oldaltörésekkel. Ennél azt figyeli, van-e valamilyen adat az oszlopban, és hogy rejtett-e az oszlop.
Sub Oldaltores()
Dim sor As Long, Sdarab As Integer, Sny As Long
Dim oszlop As Integer, Odarab As Integer, Ony As Integer
Sdarab = Application.InputBox("Hány soronként legyen oldaltörés?", "Szám bekérése", , , , , , 2)
Odarab = Application.InputBox("Hány oszloponként legyen oldaltörés?", "Szám bekérése", , , , , , 2)
sor = 1
Do While Cells(sor, "A") <> ""
If Rows(sor).Hidden = False Then Sny = Sny + 1
If Sny Mod Sdarab = 0 Then
Cells(sor + 1, 1).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Sny = 0
End If
sor = sor + 1
Loop
oszlop = 1
Do While Application.WorksheetFunction.CountA(Columns(oszlop)) <> 0
If Columns(oszlop).Hidden = False Then Ony = Ony + 1
If Ony Mod Odarab = 0 Then
Cells(1, oszlop + 1).Select
ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=ActiveCell
Ony = 0
End If
oszlop = oszlop + 1
Loop
End Sub -
Delila_1
veterán
válasz
trippla
#30752
üzenetére
Ha jól értem, a sok lapod mindegyikén van két cella, azonos helyen.
Vegyük, hogy ezek címe az A2 és B2. Ha az egyes lapok A2-inek összegét akarod szorozni a B2-k összegével, akkor a képlet
=SZORZATÖSSZEG(SZUM('Munka1:Munka3'!A2);SZUM('Munka1:Munka3'!B2))
A Munka1 helyére az első lap nevét írd be, a Munka3 helyére pedig az utolsóét.
Új lapok beszúrásánál át kell írnod a képletben a két szélső lap nevét, de ha a szélsők közé szúrod be az új lapot, semmit nem kell módosítanod.
-
Delila_1
veterán
válasz
Pityke78
#30742
üzenetére
Sub Szamformatum()
Selection.NumberFormat = "#,##0.0_L"
End SubEbből a _L azt csinálja, hogy a szám és a cella jobb széle között hagy egy L betűnyi széles sávot, nem írja rá a számot csúnyán a szegélyre. Elhagyhatod, ha nem tetszik.
Ha a personalba viszed be a makrót (lásd a téma összefoglalót), akkor minden füzetben rendelkezésedre áll a makró, a gyorselérési eszköztárra kitehetsz hozzá egy ikont.
-
Delila_1
veterán
válasz
tgumis
#30739
üzenetére
Próbáld meg ezzel
Sub Oldaltores()
Dim sor As Long, darab As Integer, ny As Long
darab = Application.InputBox("Hány soronként legyen oldaltörés?", "Szám bekérése", , , , , , 2)
sor = 1
Do While Cells(sor, "A") <> ""
If Rows(sor).Hidden = False Then ny = ny + 1
If ny Mod darab = 0 Then
Cells(sor + 1, 1).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
ny = 0
End If
sor = sor + 1
Loop
End Sub -
Delila_1
veterán
válasz
tgumis
#30721
üzenetére
Modulba tedd a makrót. Állj arra a lapra, ahol be akarod állítani, onnan kell indítanod. Bekéri, hány sort akarsz egy lapra tenni, majd beszúrja az oldaltöréseket.
Sub Oldaltores()
Dim sor As Long, darab As Integer
darab = Application.InputBox("Hány soronként legyen oldaltörés?", "Szám bekérése", , , , , , 2)
sor = darab
Do While Cells(sor, "A") <> ""
Cells(sor + 1, 1).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
sor = sor + darab
Loop
End Sub -
Delila_1
veterán
válasz
Morphy
#30698
üzenetére
A laphoz rendeld:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$A$1" Then
ide = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets(2).Range("A" & ide) = Target
End If
End SubHa még üres a második lap A oszlopa, A2-től kezdve írja be egymás alá az első lap A1-be bevitt adatait.
-
Delila_1
veterán
válasz
EmberXY
#30652
üzenetére
Legegyszerűbb az utolsó bekezdésedben leírt forma.
Lehetne az INDIREKT függvény bevezetésével olyan képletet összehozni, amit nem kell módosítani a sorok számának a megadott határon túli növekedésekor, de lehetőség szerint érdemes elkerülni az INDIREKT-et. Ez a függvény minden esetben, mikor a füzetben változik valami, újraszámol.
-
Delila_1
veterán
Az eredeti kérdésedben a C oszlop értéke az A és B oszlopétól függött. A laphoz rendelt makróban azt az oszlopo(ka)t figyeld, amelyik(ek) befolyásolják az X értékét. Ha pl. az E és G oszlopok adják az X értékét, akkor:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column =5 Or Target.Column =7 Then Masolas
End SubModulba:
Sub Masolas()
Dim usor As Long
Sheets("Munka2").Range("A:X").ClearContents
ActiveSheet.Range("$A:$X").AutoFilter Field:=24, Criteria1:="<>0"
usor = Range("X" & Rows.Count).End(xlUp).Row
Range("A1:X" & usor).Copy
Sheets("Munka2").Range("A1").PasteSpecial xlpaste.Values
ActiveSheet.Range("$A:$X").AutoFilter Field:=24
End Sub -
Delila_1
veterán
válasz
Geryson
#30627
üzenetére
Mégis baj lehet a B oszlop adataival.
Újra tedd a teljes oszlopot dátum formátumúvá, majd lépkedj végig azokon a cellákon a B oszlopban, ahol nem hozta az M oszlop képlete a jó értéket.
Cellán F2, majd Enter. Az F2 hatására szerkesztő módba kerül a cella, a kurzor az adat végén lesz, az Enter fixálja az értéket. Ha az van beállítva, hogy az Enter után lefelé lép a kurzor (ez az alapérték), akkor már adhatod is a következő F2-t, Entert. -
Delila_1
veterán
Laphoz rendeld:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 3 Then Masolas
End SubModulba másold:
Sub Masolas()
Dim usor As Long
Sheets("Munka2").Range("A:C").ClearContents
ActiveSheet.Range("$A:$C").AutoFilter Field:=3, Criteria1:="<>0"
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:C" & usor).Copy Sheets("Munka2").Range("A1")
ActiveSheet.Range("$A:$C").AutoFilter Field:=3
End Sub -
Delila_1
veterán
válasz
DeFranco
#30612
üzenetére
A kimutatásban a sorcímkékhez a C (hét száma) oszlopot tedd be, az értékekhez pedig a 3 adatot (E:G).
Szűrj a hétre, akkor mindegy, melyik hónapban van az adott hét. Például márciusra az idén 5 hét is jut. 9–13. Gomb sem szükséges, a kimutatásban ott a legördülő a választási lehetőségekkel.
-
Delila_1
veterán
válasz
DeFranco
#30597
üzenetére
A súgóból:

A kép fölött találod az 1. és 2. forma meghatározását, elég idétlen fogalmazásban. Azt jelenti, hogy ha egy év első napja <csütörtök, ez a hét az első az évben, vagyis a hét száma 1.
Ha viszont >= csütörtök, akkor 53 lesz a függvény értéke. Ebből az következik, hogy érdemes a 21-et megadni utolsó paraméterként. -
Delila_1
veterán
válasz
huliganboy
#30581
üzenetére
Fel kellene tenned elérhető helyre 2-3 összefésülendő lapot néhány adattal. Természetesen a nem publikus adatok helyett írj mást, de az egyes cellák jellemzői (szöveg, dátum, hivatkozás, képlet) egyezzenek meg a valós lapokéval.
-
Delila_1
veterán
válasz
huliganboy
#30575
üzenetére
Van egy gyűjtő lapod, aminek a végére mindig bemásolod az újonnan kapott adatokat (fejléc nélkül)?
Teljes sorok egyeznek meg, vagy csak 1-1 adat az egyes sorokban?
-
Delila_1
veterán
A laphoz kell rendelned a makrót, aminek a módját megtalálod a téma összefoglalóban..
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$9" Then
Application.EnableEvents = False
Range("B" & Target + 2).Validation.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=Jel" '*******************
Application.EnableEvents = True
End If
End SubJel-nek neveztem el a területet, ahonnan az érvényesítés az adatokat veszi. Az erre hivatkozó sor végére tettem egy halom csillagot, azt írd át a saját elnevezésedre.
-
-
Delila_1
veterán
Nyitnod kellene egy új topicot PowerPivot, a PQuery, PView, PMap címmel. Bele vehetnéd az SQL, ODBC kezelését. Ezekhez – jobbára – új telepítések szükségesek, nem tartoznak szorosan az Excel topic témaköréhez. Szerencséd van, ha olyan munkahelyen dolgozol, ahol ezek a rendelkezésedre állnak.
A jó eredmények eléréséhez a legfontosabb dolog, hogy értelemszerűen, feldolgozhatóan vigyük be az adatokat.
-
Delila_1
veterán
válasz
#26467072
#30562
üzenetére
A szövegnek és a dátumnak azonos sorban kell lennie. Ha 1 dátumhoz több szöveg (üzenet) is tartozik, mindegyik szöveg mellett legyen ott a dátum. Nem szükséges, hogy a dátumok valamilyen sorrendben legyenek. A táblázatodnak legyen címsora.
Innen már csak egy kimutatást kell összehoznod pár kattintással, amit a legrégebbi Excel verziók is tudnak. A sorcímkékhez teszed a dátumot, az értékekhez a szöveget.

-
Delila_1
veterán
válasz
alfa20
#30525
üzenetére
Sub Masolas()
Dim WSInnen As Worksheet, WSIde As Worksheet, usor As Long
Set WSInnen = Workbooks("Innen.xlsm").Sheets("Munka1")
Set WSIde = Workbooks("Ide.xlsx").Sheets("Munka1")
usor = WSInnen.Range("A" & Rows.Count).End(xlUp).Row
WSInnen.Range("A2:B" & usor).Copy WSIde.Range("A2")
End SubLátod, véletlenül sem találsz Active... hivatkozást. Bármelyik füzeten állva indíthatod a makrót.
-
Delila_1
veterán
válasz
Fferi50
#30477
üzenetére
FFeri ötlete alapján a bevitelkor szövegdoboz kerül az aktuális cella fölé, ami a bevitt érték 0,95-szörösét mutatja. Ezután simán hivatkozhatsz a cellára, mert a textbox alatt a bevitt érték marad meg.
Ennek az a hátránya, hogy sok textbox esetén szépen meghízik a fájl.Azért nem megjegyzést szúrtam be, mert annak az árnyékolását nem lehet (vagy csak én nem tudom) megszüntetni.
A laphoz rendelt makró, ami a 3. oszlopba bevitt adatok fölé szúrja be a textboxot:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim l As Single, t As Single, w As Single, h As Single
If Target.Column = 3 Then
With Range(Target.Address)
w = .Width - 1: t = .Top + 0.5: h = .Height - 1: l = .Left + 0.5
End With
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, l, t, w, h).Select
With Selection
.Characters.Text = Target * 0.95 & ""
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
End With
Selection.ShapeRange.Line.Visible = msoFalse
Range(Target.Address).Offset(1).Select
End If
End Sub -
Delila_1
veterán
válasz
Kal-El
#30471
üzenetére
Egy laphoz rendelt makróval átíratjuk a bevitt értéket annak a 0,95-szörösére. A lenti makró a C oszlopba bevitt értékeket alakítja át (If Target.Column = 3).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
Application.EnableEvents = False
Target = Target * 0.95
Application.EnableEvents = True
End If
End SubMivel 10 helyett 9,5; 150 helyett 142,5 lesz a cellában, a lap többi képletében az =C5 helyett =C5/0,95 módon hivatkozz rá.
-
Delila_1
veterán
Nálam az első táblázatod a Munka1 lapon van, az alatta lévő a Munka2-n.
A Munka2 lap D2 cellájának a képlete
=INDEX(Munka1!$A$1:$AY$20;HOL.VAN($A2;Munka1!A:A;0);HOL.VAN($B2;Munka1!$2:$2;0))
Az INDEX függvényben a tartomány (Munka1!$A$1:$AY$20) mérete az igazi tartományod legyen.
-
Delila_1
veterán
válasz
EmberXY
#30444
üzenetére
Állandóan, de bármikor odébb húzhatod. Ez egy kép, ami az eszközzel készül. Ki kell tenni hozzá a Testreszabás menüben a Fényképezőgép ikonját. A választható parancsok helye a Minden parancs legyen. Ekkor a felsorolásban állva nyomj F-et, majd lépegess lentebb, míg megtalálod.
-
Delila_1
veterán
Azért tettem be képeket, hogy emészthető legyen. Azt írtam, hogy nem ovisoknak való, de nem is túl nehéz.
Azt biztosan megtaláltad, hogy a bővítménykezelőben be kell jelölnöd, hogy használni tudd, utána már nem nagy bűvészet.Szerk: a feltételeket a Hozzáadás gombbal tudod megadni.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
m.zmrzlina
#30401
üzenetére
Egyszer mégis előfordulhatott, hogy range nevet adtál egy változónak.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Delila_1
veterán
válasz
m.zmrzlina
#30392
üzenetére
Változóként soha ne adj olyan nevet, ami VBA kulcsszó (for, with, range, on, else, string, not, do, loop ...).
A kulcsszavakat a VBE – ha az eredeti színbeállításodat tartottad meg – sötétkéken jeleníti meg. -
Delila_1
veterán
válasz
EmberXY
#30395
üzenetére
Eddig észre sem vettem ezt a státuszsori kiírást.
Különböző adatok lekérdezése a Munka1 lapra:
Sub adatok()
With Munka1.Range("A1")
.Offset(0, 0).Value = Environ("username") 'F felhasználó neve
.Offset(1, 0).Value = Environ("computername") 'PC neve
.Offset(2, 0).Value = Environ("userdomain") 'felh. domain
.Offset(3, 0).Value = Environ("sessionname") 'berendezés
.Offset(4, 0).Value = Environ("PROCESSOR_ARCHITECTURE") 'proci tip.
.Offset(5, 0).Value = Environ("PROCESSOR_IDENTIFIER") 'proci azonosító
.Offset(6, 0).Value = Environ("NUMBER_OF_PROCESSORS") 'procik száma
End With
End Sub
Új hozzászólás Aktív témák
- Konteó topic
- Formula-1
- A fociról könnyedén, egy baráti társaságban
- Teclast Tablet Topic
- Milyen okostelefont vegyek?
- Itt a Valve GŐZGÉP — Steam Machine, mi vagy te? 🧐
- Kerékpárosok, bringások ide!
- Szívós, szép és kitartó az új OnePlus óra
- EAFC 26
- Akadozásmentesítő csúcskiterjesztést kapott a Vulkan API
- További aktív témák...
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- BESZÁMÍTÁS! Asus H410M i5 10500 16GB DDR4 500GB SSD GTX 1660Ti 6GB Zalman S2 TG N-Base 500W
- Razer gamer szék
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Acer KG251QF 24 144Hz FHD TN 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest












![;]](http://cdn.rios.hu/dl/s/v1.gif)

