-
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
MCGaiwer #29065 üzenetére
A "B" lap A2 cellájának a képlete =HA(A!A2="";"";A!A2). Azért nem simán =A!A2, hogy ne rajzolja tele a lapot nullákkal üres A!cella esetén. A képletet másold jobbra és le, ameddig kell.
Az "A" lapon 1 gomb van a vezérlők eszköztárából, ami nálam Elozo névre hallgat. Ehhez a laphoz 2 makrót rendelj. Mindkettő csak a saját lapján dolgozik, mert a "B" lapon a képletek adják a mindenkori "A" lap értékekeit. Az első eseményvezérelt,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oszlop As Integer, uoszlop As Integer
Application.EnableEvents = False
If Target.Row = 1 Then Exit Sub
If Cells(Target.Row, Target.Column + 20) = "" Then
uoszlop = Cells(Target.Row, 20).End(xlToLeft).Column
Range(Cells(Target.Row, 1), Cells(Target.Row, uoszlop)).Copy
Range("U" & Target.Row).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Cells(Target.Row, 1) = Date
Range(Target.Address).Activate
End If
Application.EnableEvents = True
End SubEz a makró másolatot készít az aktuális sor adatairól, az U oszloptól kezdődően. Ha sok oszlopod van, teheted hátrább is. Az aktuális dátumot beírja az A oszlopba.
A második makró a gombhoz rendelt.
Private Sub Elozo_Click()
Dim sor As Long, oszlop As Integer, uoszlop As Integer
sor = Selection.Row: oszlop = Selection.Column
uoszlop = Cells(sor, Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
Range(Cells(sor, "V"), Cells(sor, uoszlop)).Copy
Range("B" & sor).PasteSpecial xlPasteValues
Range("A" & sor) = Date
Cells(sor, oszlop).Activate
Application.CutCopyMode = False
Application.EnableEvents = True
End SubMűködése: állj a sorra, ahol vissza akarod csalni az előző adatokat, majd klikkelj a gombra. A V oszloptól kezdve az első makró által beírt utolsó adatig másol a B oszlopba, az A-ba beírja az aktuális dátumot.
Ha a régi dátumot is vissza akarod állítani, akkor a másolás az U-tól kezdődjön, a célcella pedig range("A" & sor) legyen. Ekkor nem kell a range("A" & sor)=date sor.
Új hozzászólás Aktív témák
- OLED TV topic
- BestBuy ruhás topik
- Bittorrent topik
- Okos Otthon / Smart Home
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Yettel topik
- Luck Dragon: Asszociációs játék. :)
- Milyen program, ami...?
- Apple iPhone 16 Pro - rutinvizsga
- További aktív témák...
- Csere-Beszámítás! Olcsó számítógép játékra is akár! I3 12100 / GTX 1050Ti / 8GB DDR5
- iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3660
- Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
- Gamer PC-Számítógép! Csere-Beszámítás! I5 10500T / RTX 3050 / 32GB DDR4 / 512 SSD!
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő