Avatar billede sorents Nybegynder
16. marts 2010 - 19:15 Der er 1 løsning

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
_________________________________________
Avatar billede sorents Nybegynder
21. december 2010 - 12:50 #1
Har selv løst problemet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester