-
Fototrend
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
-szabi-
#51383
üzenetére
Szia!
Ha ezt egyszer kell összeszámolni, akkor szűrd az oszlopot színre, majd a másikat a szövegre. A RÉSZÖSSZEG függvény megadja a darabszámot.
Ha viszont állandó jellegű a feladat, akkor egy oszlopba a színnek megfelelően vigyél be 1; 2; vagy 3 értéket. Akkor a DARABHATÖBB függvénnyel oprálhatsz. -
Delila_1
veterán
Egy másik megoldás Fire-éhez képest, hogy a laphoz rendelsz egy kódot (lásd az Összefoglalóban).
Private Sub Worksheet_Change(ByVal Target As Range)Application.EnableEvents = FalseIf Target.Address = "$G$1" And Target = "" ThenRange("A1").AutoFilter: Range("A:E").AutoFilterRange("G1:K1").ClearContentsApplication.EnableEvents = TrueExit SubEnd IfIf Target.Row = 1 ThenSelect Case Target.ColumnCase 7ActiveSheet.Range("$A:$E").AutoFilter Field:=1, Criteria1:=Target.ValueCase 8ActiveSheet.Range("$A:$E").AutoFilter Field:=2, Criteria1:=Target.ValueCase 9ActiveSheet.Range("$A:$E").AutoFilter Field:=3, Criteria1:=Target.ValueCase 10ActiveSheet.Range("$A:$E").AutoFilter Field:=4, Criteria1:=Target.ValueCase 11ActiveSheet.Range("$A:$E").AutoFilter Field:=5, Criteria1:=Target.ValueEnd SelectEnd IfApplication.EnableEvents = TrueEnd Sub
G1-be beviszed az A oszlop egyik értékét, mire az autoszűrő szűri erre az állományt. A H1-be a szűrt állomány B oszlopából veszed a következő értéket, ekkor folytatódik a szűrés a B oszlopra is. És így tovább a K oszlopig, amikor A-tól E-ig minden oszlop szűrve van.
Mikor törlöd a G1 cella értékét, a szűrő "kinyit", a G1: K1 tartományból törlődnek az értékek.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
littleNorbi
#51184
üzenetére
-
Delila_1
veterán
válasz
littleNorbi
#51182
üzenetére
A két, *-gal jelölt sornál az 1-et írd át. A makró itt az első, A oszlopban keresi a megadott keresendő szót, ami fölé oldaltörést kell bevinni. Az 1 helyett azt az oszlopszámot add meg, ahol a keresendő szó szerepel.
Az utolsó sor kikeresésénél most az A oszlop utolsó kitöltött cellájának a sorszáma szerepel.Sub Oldaltores()Dim sor As Long, usor As Long, szoveg As Stringusor = Cells(Rows.Count, 1).End(xlUp).Rowszoveg = Application.InputBox("Melyik sorok fölött legyen oldaltörés?", Type:=2)For sor = usor To 1 Step -1If Cells(sor, 1) = szoveg Then '*Cells(sor, 1).Select '*ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCellEnd IfNextEnd Sub -
Delila_1
veterán
Nevet adsz a tartománynak, ami az A1=ben megjelenítendő neveket tartalmazza. Legyen ez a név most Nevek.
Az A1-be érvényesítést teszel (Adatok | Érvényesítés, majd lista, a Forrás mezőben állva F3-ra megjelennek a névvel ellátott tartományok, jelenleg a Nevek.Felveszed a Józsinál megjelenítendő adatokat egymás alá, a tartomány neve legyen Józsi.
Így jársz el a Bélához tartozó adatokkal is.Most a B1-be adsz egy érvényesítést. A forráshoz beírod: =indirekt(A1)
Ezzel kész is vagy, próbáld ki! -
-
Delila_1
veterán
válasz
lacipapi
#51147
üzenetére
A lapodhoz kell rendelned a makrót, lásd a Téma összefoglaló leírásában.
Private Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 3 ThenApplication.EnableEvents = FalseCells(Target.Row, 1) = Format(Now, "yyyy.mm.dd hh:mm:ss")Application.EnableEvents = TrueEnd IfEnd SubEz a C oszlopba [Target.Column = 3] bevitt érték esetén az azonos sor A oszlopába [Cells(Target.Row,1)] írja be a pillanatnyi időt.
-
Delila_1
veterán
válasz
Cyborg
#51136
üzenetére
Ha 1 évnél kisebb a dátum, akkor nem látszik beírás (az én példámban a Régen lejárt szöveg kerül a képletbe.
Ha a képlet melletti egyik oszlopban van végig adat, akkor az első, képletet tartalmazó cellára állsz, és a jobb alsó sarkában lévő kis fekete négyzeten a dupla katt végig viszi a képletet.
Ha nincs adat a szomszéd oszlopban, a kis négyzetet megfogod, és lehúzod a másoláshoz. -
-
Delila_1
veterán
válasz
föccer
#51071
üzenetére
Jó ötlet.
Esetleg a kötelező 3 lap nyomtatása után egy for-next ciklust indíthatnál.Db = Sheets("Kezelő").Range("D23")For lap = 5 To 24If Mid(Sheets(lap).Name, 4, 2) * 1 <= Db Then'nyomtatásElse'exit forEnd IfNextBiztosan van ennél egyszerűbb VBA-s megoldás az együttes lapok kijelölésére.
-
Delila_1
veterán
válasz
föccer
#51068
üzenetére
Kicsit tovább vittem az előzőt, de megállt a tudományom. Addig jutottam, hogy összeáll az együttesen kijelölendő lapok listája. Hátha valaki tovább jut, esetleg egészen más úton.
Sub arr()Dim lapszam As Integer, lap As Integer, lapok As String, tomb(29)For lap = 2 To 4tomb(lap - 2) = Sheets(lap).NameNextlapszam = Sheets("Kezelő").Range("D23")For lap = 5 To lapszam + 4If Mid(Sheets(lap).Name, 4, 2) * 1 <= lapszam Thentomb(lap - 2) = Sheets(lap).NameEnd IfNextFor lap = 0 To 29If tomb(lap) = "" Then Exit Forlapok = lapok & """" & tomb(lap) & """"lapok = lapok & ","Nextlapok = Left(lapok, Len(lapok) - 1)lapok = """" & lapoklapok = Right(lapok, Len(lapok) - 1)Debug.Print lapokEnd Sub -
Delila_1
veterán
válasz
föccer
#51068
üzenetére
Eddig jutottam el:Sub arr()Dim lapszam As Integer, lap As IntegerDim tomb(29)For lap = 2 To 4tomb(lap - 2) = Sheets(lap).NameNextlapszam = Sheets("Kezelő").Range("D23")For lap = 5 To lapszam + 4If Mid(Sheets(lap).Name, 4, 2) * 1 <= lapszam Thentomb(lap - 2) = Sheets(lap).NameEnd IfNextEnd SubInnen valahogy be kell olvasnod az array-ba a tomb neveit, de most el kell rohannom, késésben vagyok.
-
Delila_1
veterán
válasz
TillaT
#51000
üzenetére
Egy megoldás:
Private Sub Worksheet_Change(ByVal Target As Range)If Len(Target.Value) = 3 ThenApplication.EnableEvents = FalseTarget = Target & ""Range(Target.Address).Characters(2, 1).Font.ColorIndex = 3Application.EnableEvents = TrueEnd IfEnd SubSzám esetén az Excel azonnal dátummá alakítja a beírt értéket, ezért kell szöveggé alakítani.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
Fferi50
#50947
üzenetére
Nem számoltam össze, hányan hány megoldással próbálkoztunk.
Ímé a legújabb, ha már lehet figyeltetni a bevitelt.Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(Target.Value, "X") > 0 Then
Range(Target.Address).NumberFormat = ";;;""X"""
Else
Range(Target.Address).NumberFormat = ";;;"
End If
End Sub -
Delila_1
veterán
Két megoldás:
1.
=SZORZATÖSSZEG((tartomány<>"")/DARABTELI(tartomány;tartomány))
2. {=SZUM(1/DARABTELI(tartomány;tartomány))}A tartomány a teljes, neveket tartalmazó terület.
A második tömbfüggvény, Shift+Control+Enterrel kell bevinni, akkor kapja meg a nyitó és záró kapcsos zárójelet. -
Delila_1
veterán
válasz
joocek
#50895
üzenetére
Két lapon legyen a két táblázat. Elég az egyikre beírni a hónapokat és a tételeket, miután bemásoltad a két makrót.
Az egyik lap neve Függőleges. Ehhez ezt a makrót másold be:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Vízszintes").Cells(Target.Column, Target.Row) = Target.Value
End SubA másik lap a Vízszintes, ehhez ez a kód jön:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Függőleges").Cells(Target.Column, Target.Row) = Target.Value
End SubMakróbarátként kell mentened.
A Téma összefoglalóban megtalálod, hogyan kell a laphoz rendelni a makrókat. -
Delila_1
veterán
válasz
botond2225
#50885
üzenetére
-
Delila_1
veterán
válasz
botond2225
#50882
üzenetére
-
Delila_1
veterán
válasz
Lasersailing
#50880
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
Lasersailing
#50878
üzenetére
Beszúrás, kiválasztasz egy alakzatot. Alakzat formázása, kitöltés, kép, ahol választhatsz, hogy 3 közül melyik helyről szeretnél képet csatolni.
Az alakzat formázásánál több dolgot is beállíthatsz. -
Delila_1
veterán
válasz
szürke
#50855
üzenetére
Van rá mód, hogy a rövidítést bevíve azonnal a teljes neveket kapd meg. Ehhez az Automatikus javítás (Beállítások | Nyelvi ellenőrzés) Módosítandó szöveghez írd be a gj-t, a Jó szöveghez pedig a Gipsz Jakabot.
Egy időben sokszor kellett kb. 30 nevet leírnom, ezzel a módszerrel gyorsítottam a munkát.
Máskor a zöld/sárga vezeték ismétlődött egy több oldalas mérési jegyzőkönyvben, erre a zs rövidítést vittem be. Vigyázat! Ezt a jegyzőkönyvet átadtam másnak. Az illető kétségbeesve jött tanácsért, mert mikor be akart vinni egy nevet, Molnár Zsoltot – Molnár Zs formában – , az Excel átírta Molnár zöld/sárga vezeték-re.
Az ő gépén ki kellett törölnöm az általam megadott automatikus javításokat. -
Delila_1
veterán
válasz
botond2225
#50788
üzenetére
Nézd meg ezt.
-
Delila_1
veterán
válasz
botond2225
#50786
üzenetére
Feltételes formázással is meg lehet oldani, egy halom oszlopot és képletet elhagyva.
-
Delila_1
veterán
válasz
pentium4
#50771
üzenetére
Nem jól használható a táblád mostani elrendezése. Oszloponként azonos jellegű adatokat érdemes bevinni, ne legyen 1 oszlopban váltakozva név, és termék.
A mintán egy beszúrt oszlopban van a név (minden sorban!). A G oszlopba átmásoltam az A neveit, majd az Ismétlődések eltávolítása funkciót alkalmaztam, így csak a táblában szereplő két név maradt.
H1-től L1-ig vannak a kategóriák. H2-be írtam a képletet, amit jobbra-, és lefelé másoltam.=SZUMHATÖBB($D:$D;$A:$A;$G2;$B:$B;H$1&"*") -
Delila_1
veterán
válasz
botond2225
#50768
üzenetére
Próbáld ezt:
=HA(VAGY($Q77="nincs";ÉS(J77>0;$Q77=1));0;1)
Új hozzászólás Aktív témák
- Elektromos autók - motorok
- Eredeti játékok OFF topik
- Okosóra és okoskiegészítő topik
- Kerékpárosok, bringások ide!
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Autós topik
- Samsung Galaxy Felhasználók OFF topicja
- OpenMediaVault
- Okos Otthon / Smart Home
- Milyen légkondit a lakásba?
- További aktív témák...
- Részletfizetés. BankMentes. Kamatmentes. Új noblechairs EPIC műbőr FEKETE - KÉK 3 év garancia!
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- Eladó Apple iPhone 12 64GB / 12 hó jótállás
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- Apple iPhone 14 Pro 128GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





