Hirdetés
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- bambano: Bambanő háza tája
-
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
-
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) -
Delila_1
veterán
válasz
unravel
#50715
üzenetére
Javítom a hibát.
Sub Plusz_Masodperc()
Dim sor As Long, usor As Long
usor = Range("H" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
Cells(sor, "H") = Format(Cells(sor, "H") + (Cells(sor, "K") / 24 / 3600), "dd.mm.yyyy hh:mm:ss")
Next
End SubZárójelbe kell tenni a másodpercek kiszámítását.
-
Delila_1
veterán
válasz
unravel
#50715
üzenetére
Ha még nem kaptál volna választ, egy modulba másold az alábbi makrót.
Sub Plusz_Masodperc()
Dim sor As Long, usor As Long
usor = Range("H" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
Cells(sor, "H") = Format(Cells(sor, "H") + Cells(sor, "K") / 24 / 3600, "dd.mm.yyyy hh:mm:ss")
Next
End Sub -
Delila_1
veterán
Makróval lehet csak megoldani, hogy az eddigi lista végére beírja az új értéket.
A beviteli cella C3, az eddigi sorozatszámok az F oszlopban vannak.
A makrót a laphoz kell rendelned (lásd a Téma összefoglalót).Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$C$3" Then
Application.EnableEvents = False
If Application.WorksheetFunction.CountIf(Range("F:F"), Target.Value) = 1 Then
Cells(3, 4) = "NOK": Cells(3, 4).Interior.Color = RGB(255, 0, 0)
Else
Cells(3, 4) = "OK": Cells(3, 4).Interior.Color = RGB(0, 176, 80)
ide = Range("F" & Rows.Count).End(xlUp).Row + 1
Cells(ide, 6) = Target: Cells(ide, 7) = Format(Now, "yyyy.mm.dd")
End If
Application.EnableEvents = True
End If
End Sub -
Delila_1
veterán
válasz
eszgé100
#50665
üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
Dim b As Integer
If Target.Column >= 5 And Target.Column <= 8 And Target.Row = 25 Then
Application.EnableEvents = False
Cells(Target.Row, Target.Column).Font.ColorIndex = 1
For b = 1 To Len(Cells(Target.Row, Target.Column))
If Mid(Cells(Target.Row, Target.Column), b, 4) = "True" Then Cells(Target.Row, Target.Column).Characters(Start:=b, Length:=4).Font.ColorIndex = 4
If Mid(Cells(Target.Row, Target.Column), b, 5) = "False" Then Cells(Target.Row, Target.Column).Characters(Start:=b, Length:=5).Font.ColorIndex = 3
Next
Application.EnableEvents = True
End If
End Sub
Új hozzászólás Aktív témák
- Vírusirtó, Antivirus, VPN kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Keresem a Barkács Balázs Játékokat
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Tmactime MWS-001 elektromos rovarcsapda / 12 hó jótállás
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- Amazon Kindle 10th Generation ébresztős tok
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi








