Gem data fra userform
Er det muligt at gemme data, der trækkes ind i en userform før der foretages ændringer til dataene, sådan at man har den originale linje liggende et nyt ark, så man kan se, hvad dataene var før ændringen - gerne med en datoangivelsen. Dvs.1. dataene trækkes ind i userformen og der ligges en kopi i et nyt ark på den næste frie linje med en datomarkering.
2. hvis der foretages ændringer til dataen skal linjen i det nye ark blive der, foretages der ingen ændringer i userformen eller userformen cleares, skal linjen slettes igen.
Jeg henter dataene til userformen med følgende kode:
Sub GetData()
If UserForm1.TextBox1.Value <> "" Then
i = 0
id = UserForm1.TextBox1.Value
Do While Cells(i + 1, 1).Value <> ""
If Cells(i + 1, 1).Value = id Then
For j = 2 To 6
UserForm1.Controls("TextBox" & j).Value = Cells(i + 1, j).Value
Next j
End If
i = i + 1
Loop
Else
ClearForm
End If
End Sub
------------------------
OG jeg gemmer eventuelle ændringer med følgende kode:
Sub EditAdd()
Dim emptyRow As Long, flag As Boolean
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
flag = False
i = 0
id = UserForm1.TextBox1.Value
Do While Cells(i + 1, 1).Value <> ""
If Cells(i + 1, 1).Value = id Then
flag = True
For j = 2 To 6
Cells(i + 1, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j
End If
i = i + 1
Loop
If flag = False Then
For j = 1 To 6
Cells(emptyRow, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j
End If
End Sub
