Hirdetés
- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- bkercso: Tápszűrő-5 SMPS-hez
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
- Luck Dragon: MárkaLánc
- sziku69: Szólánc.
- Hieronymus: Az igaz barátság kezdete
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- MasterDeeJay: Intel Optane M10: mire lehet használni?
-
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
-
Mutt
senior tag
válasz
lacid90
#15981
üzenetére
Hello,
A megadott adatok alapján faragtam a kódon és felraktam egy mintát ide.
A kód pedig így néz ki, továbbra is egy Backup munkalapra menti a módosításokat:
Option Explicit
Public vEredeti 'ez tartalmazza majd az eredeti értéket
Private Sub Worksheet_Activate()
'ha megnyitjuk a lapot akkor egyből jegyezzük meg hogy mi van a B1 cellában
vEredeti = ActiveSheet.Range("B1").Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Const vBackupSheet As String = "Backup"
Dim vLastRow
Dim wsNew As Worksheet
Dim wsCurrent As String
'ha a C1 cella értéke 0 vagy üres
If ActiveSheet.Range("C1").Value = 0 Or ActiveSheet.Range("C1").Value = "" Then
'megnézzük hogy létezik-e a munkalap ahova a korábbi értékeket mentjük
On Error Resume Next
Set wsNew = Worksheets(vBackupSheet)
If Err Then
wsCurrent = ActiveSheet.Name
Set wsNew = Sheets.Add
With wsNew
.Name = vBackupSheet
'ha akarod akkor a lenti sorral rejtetté tudod tenni a lapot
'.Visible = xlSheetHidden
End With
Sheets(wsCurrent).Activate
End If
'megnézzük hogy melyik az utolsó sor a backup munkalapon
vLastRow = Application.WorksheetFunction.CountA(ThisWorkbook.Sheets(vBackupSheet).Range("A:A")) + 1
'ha már nincs a munkalapon több üres sor akkor leállunk a naplózással
If vLastRow > ThisWorkbook.Sheets(vBackupSheet).Rows.Count Then
MsgBox "Nincs több hely a mentésre!", vbOKOnly, "Hiba"
Exit Sub
End If
'adunk egy fejlécet a backup munkalapnak
If vLastRow = 1 Then
ThisWorkbook.Sheets(vBackupSheet).Range("A" & vLastRow) = "Eredeti érték"
vLastRow = vLastRow + 1
End If
'mentjük az eredeti értéket és hogy melyik cellából jött
ThisWorkbook.Sheets(vBackupSheet).Range("A" & vLastRow) = vEredeti
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ha az A1 cellára lépünk, csak akkor jegyezzük meg a B1 értékét
If Target.Address = "$A$1" Then
vEredeti = ActiveSheet.Range("B1").Value
End If
End SubAmi pluszt beletetettem, hogy a munkalap megnyitásakor már megjegyzi az eredeti értéket, mivel előfordulhat az az esete hogy éppen az A1 cellában állsz és az értéket felülírod mozgás nélkül.
Fontos, hogy a makró csak akkor műkődik ha az A1 cellába mindig visszamész, vagyis ha mindig a szerkesztősorban változtatod a cella értékét akkor nem fog műkődni mert a cellából nem mész el.üdv.
Új hozzászólás Aktív témák
- Xbox Series X|S
- Iqos cigaretta
- Allegro vélemények - tapasztalatok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Premier dátumot kapott a Call of Duty mozifilm
- Milyen billentyűzetet vegyek?
- iPhone topik
- Villanyszerelés
- Milyen TV-t vegyek?
- Mától Huawei okosórákkal is lehet érintésmentesen fizetni
- További aktív témák...
- PC Game Pass előfizetés
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- MS SQL Server 2016, 2017, 2019
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Dell Precision 5570! 4K Touch / i7-12800H / RTX A2000 / 32GB DDR5 / 512GB NVMe! BeszámítOK
- GYÖNYÖRŰ iPhone 12 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4567
- 27% - ASUS ROG Strix XG27ACS Monitor! 2560x1440 / 1ms / 180Hz / G-Sync / FreeSync
- Azonnali készpénzes AMD Radeon RX 6000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- Ryzen 7 5800X3D // számla // garancia //
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50