23. maj 2019 - 08:22
Der er
3 kommentarer og
1 løsning
Userform i Excel - Opdater sheets mens Userform er åben (VBA)
Hej,
Håber der er en der kan hjælpe.
Jeg har en Userform i Excel, hvor man kan skrive nogle kommentarer og klikke noget af i forskellige CheckBox.
Når brugeren trykker på knappen Opdater (efter at have skrevet kommentarer m.v.), så overføres data til et Sheet i filen. Men Brugeren kan først se at data er overført, når Userformen bliver lukket.
Er det muligt, at data overføres til sheet og brugeren kan se data i Sheet mens Userform er åben?
Vil gerne undgå at lave den kode, der lukke og åben Userform.
pft.
Hej Jan,
Tak for det - kan godt se at din userform fungere uden problemer og at data opdatere i Excel Sheet mens userformen er åben.
Mit problem er, at når jeg trykker på knappen (CommandButton), så bliver data overført til Excel, men jeg kan først se at data er overført til Excel, når jeg lukker UserFormen.
Jeg kunne godt tænke mig, at når jeg trykker på knappen (CommandButton), så vil jeg gerne se, at data bliver overført til Excel, så jeg ikke skal lukke Userformen.
Håber det giver mening og at du vil hjælpe.
pft.
KODE:
Private Sub AfPreClick_Click()
Application.ScreenUpdating = False
Application.Run "ModCode.UnprotectSheet"
Dim Cell As Range
Set Cell = ActiveCell
Cells.Find(What:="Afslutning", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
'----------------------INDSÆTTER INITIALER OG DATO I EXCEL FIL -----------------
For n = 1 To 2
Cellvalue = ActiveCell.Offset(n, 1).Range("A1").Value
CellAdress = ActiveCell.Offset(n, 1).Range("A1").Address
If Controls("AfCheck" & n).Value = True Then
If Cellvalue = "" Then
Range("A1").Value = Application.UserName
Range("B1").Formula = "=MID(A1,FIND(""-"",A1)+2,3)"
UserName = Range("B1").Value
GetDate = Date
ActiveCell.Offset(n, 1).Range("A1").Value = "" & UserName & ", " & GetDate & ""
Else
CellValue2 = ActiveCell.Offset(n, 1).Range("A1").Value
Range("A1").Value = Application.UserName
Range("B1").Formula = "=MID(A1,FIND(""-"",A1)+2,3)"
UserName = Range("B1").Value
GetDate = Date
ActiveCell.Offset(n, 1).Range("A1").Value = CellValue2 & Chr(10) & "" & UserName & ", " & GetDate & ""
End If
End If
Next n
'------- INDSÆTTER TEKST FRA TEXTBOC I EXCEL FIL ----------------------
For t = 1 To 2
CellAdress = ActiveCell.Offset(t, 3).Range("A1").Address
ActiveCell.Offset(t, 3).Range("A1").Value = Controls("AfTxt" & t).Value
Next t
'---------- INDSÆTTER TEKST FRA TEXTBOC I EXCEL FIL ------------------------
' Application.Run "ModCode.PlanlægningIndlæsTextBox"
AfTxt1.Text = Range("E29").Value
AfTxt2.Text = Range("E30").Value
Cell.Select
Application.Run "ModCode.ProtectSheet"
End Sub