Simpel VBA form får excel til at fryse fra tid til anden. Here er koden
Kort beskrivelse af formålet med formen:- Indtastning af data i en liste (arket modedata) vha. en form
- Sortering af en anden liste (efter den opdateres med ny data fra en excel-formel der tæller i "modedata!"
- Visning af en dialogbox efter at data er lagret, der viser tekst fra en celle i excel, som igen er bestemt ud fra en excel formel.
Sig til hvis mere info er krævet. Dette er min første vba kode, så den er nok lidt rodet og hellere ikke dokumenteret.
Problem:
Efter "submit" sker det fra tid til anden at excel fryser med en hvid skikkelse af formen i midten af billedet. Eneste løsning er ctrl+alt+del....
Jeg sætter pris på hurtigt svar, og jeg svarer hurtigt på spørgsmål.
Dette er makroen der åbner formen
_________________________________________
Sub knap_bookmode()
Worksheets("variabler").Range("B2").Value =
Worksheets("modedata").Range("A65536").End(xlUp).Row
Dim today As String
today = Format(Now, "MM-dd-yyyy hh:mm:ss")
Date = Format(Now, "dd-MM-yyyy")
Worksheets("variabler").Range("B3").Value = today
Worksheets("variabler").Range("B7").Value = Date
FormScor.Show
FormScor.SetDefaultTabOrder
FormScor.txtAss.SetFocus
End Sub
_________________________________________
Her er formen:
_________________________________________
Private Sub btCancel_Click()
Unload Me
End Sub
Private Sub btScor_Click()
Dim NewRow As Integer
NewRow = Worksheets("variabler").Range("B2").Value + 1
If Len(FormScor.txtInit.Value) = 0 Then
MsgBox "Du skal angive dine initialer!", vbOKOnly, "Fejl i indtastning"
FormScor.txtInit.SetFocus
Exit Sub
End If
If Len(FormScor.txtAss.Value) = 0 Then
MsgBox "Du skal angive assurandørens initialer! Erhverv og landbrug angives
med ERH", vbOKOnly, "Fejl i indtastning"
FormScor.txtAss.SetFocus
Exit Sub
End If
If Len(FormScor.txtUge.Value) = 0 Then
MsgBox "Du skal angive ugenummeret for hvornår mødet blev lagt!", vbOKOnly,
"Fejl i indtastning"
FormScor.txtUge.SetFocus
Exit Sub
End If
team = Application.WorksheetFunction.Lookup(FormScor.txtInit.Value,
Worksheets("medarbejdere").Range("A:A"),
Worksheets("medarbejdere").Range("C:C"))
Worksheets("modedata").Cells(NewRow, 1).Value = FormScor.txtInit.Value
Worksheets("modedata").Cells(NewRow, 2).Value =
Worksheets("variabler").Range("B3").Value
Worksheets("modedata").Cells(NewRow, 3).Value = FormScor.txtAss.Value
Worksheets("modedata").Cells(NewRow, 5).Value = FormScor.txtUge.Value
Worksheets("modedata").Cells(NewRow, 6).Value =
Worksheets("variabler").Range("B7").Value
Worksheets("modedata").Cells(NewRow, 7).Value = FormScor.formiddag.Value
'
' sorter_medarb Makro
'
'
ActiveWorkbook.Worksheets("screendata").ListObjects("Table2").Sort.SortFields.
_
Clear
ActiveWorkbook.Worksheets("screendata").ListObjects("Table2").Sort.SortFields.
_
Add Key:=Range("Table2[[#All],[Mål i dag]]"),
SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("screendata").ListObjects("Table2").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("variabler").Range("B9").Value =
Worksheets("variabler").Range("B9").Value + 1
Worksheets("variabler").Range("B4").Value = ""
Worksheets("variabler").Range("B5").Value = ""
Worksheets("variabler").Range("B6").Value = 12
msg = Worksheets("Optalling").Range("I6").Value
MsgBox msg, vbOKOnly, "Du har scoret!"
Unload Me
End Sub
_________________________________________