Avatar billede soeren_soelv Novice
21. april 2008 - 15:42 Der er 5 kommentarer og
1 løsning

Problemer med at excel lukkes ned når jeg benytte en userform.

Jeg har problemer med at nedenstående kode lukker excel ned når den bliver eksikveret. Det er koden til en userform.

Har testet koden på 3 computere og ved den ene lukker excel ned. Kan det have noget med versionen af excel at gøre eller er der problemer i koden?

Koden:

Option Base 1

Private Sub txtKasserede_Change()
    If cboKasserede = 0 Then
        cboFejltype.Visible = True
        cboFejltype.Value = "Forkert plade"
    Else
        cboFejltype.Visible = False
        cboFejltype.Value = ""
    End If
End Sub

Private Sub cmdCancel_Click()
    Unload Me
End Sub

Private Sub cmdClearForm_Click()
    Call UserForm_Initialize
End Sub


Private Sub cmdOK_Click()
   
    ' Tjekker at feltern er udfyldt
    If Trim(txtVarenummer.Value) = "" Then
        txtVarenummer.SetFocus
        MsgBox "Påfør varenummer", 48, "Alarm"
        Exit Sub
    End If
       
If Trim(txtPlade.Value) = "" Then
        txtPlade.SetFocus
        MsgBox "Påfør Plade ID", 48, "Alarm"
        Exit Sub
    End If
       
If Trim(txtPladeordre.Value) = "" Then
        txtPladeordre.SetFocus
        MsgBox "Påfør pladeordre", 48, "Alarm"
        Exit Sub
    End If
       
If Trim(txtOrdrenummer.Value) = "" Then
        txtOrdrenummer.SetFocus
        MsgBox "Påfør ordrenummer", 48, "Alarm"
        Exit Sub
    End If

If Trim(txtArbejdsnr.Value) = "" Then
        txtArbejdsnr.SetFocus
        MsgBox "Påfør arbejdsnummer under opstartet", 48, "Alarm"
        Exit Sub
    End If
   
    If Trim(txtArbejdsnr2.Value) = "" Then
        txtArbejdsnr2.SetFocus
        MsgBox "Påfør arbejdsnummer under afsluttet", 48, "Alarm"
        Exit Sub
    End If
       
   
   
    Const kildeSti = "W:\Stansegruppen\Kontrolkort_samlet.xls"      'HUSK at tilpasse


    Dim Data(16) As Variant
    Data(1) = txtDato.Value
    Data(2) = txtRegTidspunkt.Value
    Data(3) = cboKlok.Value
    Data(4) = cboMaskine.Value
    Data(5) = txtVarenummer.Value
    Data(6) = txtPlade.Value
    Data(7) = txtPladeordre.Value
    Data(8) = txtOrdrenummer.Value
    Data(9) = txtArbejdsnr.Value
    Data(10) = txtArbejdsnr2.Value
    Data(11) = txtEmner.Value
    Data(12) = txtKasserede.Value
    Data(13) = cboFejltype.Value
    Data(14) = txtBemaerkning.Value
    Data(15) = "Mekanik"
    Data(16) = "PC XX"
   
   
   
    ' skriver lokal (låser først arket op og låser det efterfølgende)
    Sheets("Data").Unprotect Password:="XXX"
    Sheets("Data").Range(Sheets("Data").Range("A65536").End(xlUp).Offset(1, 0), Sheets("Data").Range("A65536").End(xlUp).Offset(1, 15)) = Data
    Sheets("Data").Protect Password:="XXX"
     

    Set kXLS = CreateObject("Excel.application")
    With kXLS
        .Workbooks.Open kildeSti
        ' skriver ekstern
        .Sheets("Data").Unprotect Password:="XXX"
        .Sheets("Data").Range(.Sheets("Data").Range("A65536").End(xlUp).Offset(1, 0), .Sheets("Data").Range("A65536").End(xlUp).Offset(1, 15)) = Data
        .Sheets("Data").Protect Password:="XXX"
       
        .ActiveWorkbook.Close SaveChanges:=True    ' gemmer og lukker
        .Application.Quit
    End With
    Set kXLS = Nothing

    ThisWorkbook.Save
   
   
    MsgBox "Registreringen er udført", 64, "Registrering"
   
    Call UserForm_Initialize

End Sub

Private Sub UserForm_Initialize()
   
    ' Definerer felterne i formen
    txtVarenummer.Value = ""
    txtPlade.Value = ""
    txtPladeordre.Value = ""
    txtOrdrenummer.Value = ""
    txtArbejdsnr.Value = ""
    txtArbejdsnr2.Value = ""
    txtEmner.Value = 0
    txtKasserede.Value = 0
    txtBemaerkning.Value = ""
    txtDato.Value = Format(Date, "Long Date")
    txtRegTidspunkt = Format(Time, "HH:MM:SS")
    With cboMaskine
        .AddItem "1"
        .AddItem "2"
        .AddItem "3"
        .AddItem "5"
    End With
    cboMaskine.Value = "1"
    With cboKlok
        .AddItem "00:00"
        .AddItem "01:00"
        .AddItem "02:00"
        .AddItem "03:00"
        .AddItem "04:00"
        .AddItem "05:00"
        .AddItem "06:00"
        .AddItem "07:00"
        .AddItem "08:00"
        .AddItem "09:00"
        .AddItem "10:00"
        .AddItem "11:00"
        .AddItem "12:00"
        .AddItem "13:00"
        .AddItem "14:00"
        .AddItem "15:00"
        .AddItem "16:00"
        .AddItem "17:00"
        .AddItem "18:00"
        .AddItem "19:00"
        .AddItem "20:00"
        .AddItem "21:00"
        .AddItem "22:00"
        .AddItem "23:00"
        .AddItem "24:00"
    End With
    cboKlok.Value = "00:00"
   
    With cboFejltype
        .AddItem "Forkert plade"
        .AddItem "Forkert revision"
        .AddItem "Programfejl"
        .AddItem "Opstillingsfejl"
        .AddItem "Afvigelser i forhold til tegninger"
        .AddItem "Emner rykket i forhold til pladen"
        .AddItem "Defekt værktøj"
        .AddItem "Skæve emner"
        .AddItem "Fejl buk/undersænkninger"
        .AddItem "Dårlig plade"
        .AddItem "Grater"
        .AddItem "Stansemærker/ridser"
        .AddItem "Andet"
    End With
    cboFejltype.Value = "Ingen"
    cboFejltype.Visible = False
    cboMaskine.SetFocus
End Sub
Avatar billede kabbak Professor
21. april 2008 - 15:53 #1
prøv at rette

.Application.Quit

til
If ActiveWorkbook.Name <> ThisWorkbook.Name Then .Application.Quit

nb. er ikke testet
Avatar billede kabbak Professor
21. april 2008 - 16:02 #2
Normalt gør

Set kXLS = CreateObject("Excel.application")
    With kXLS
        .Workbooks.Open kildeSti

at der åbnes en ny kopi af Excel , som man så lukker med

    prøv at rette

.Application.Quit


Men det kan måske være at den ene computer, ikke åbner en ny, men åbner i den der er aktiv, så har du problemet
Avatar billede soeren_soelv Novice
21. april 2008 - 21:20 #3
Nu skrev jeg nok at excel lukkede, men den går ned og spørger om man vil sende en fejlmeddelelse til ms.
Avatar billede soeren_soelv Novice
21. april 2008 - 21:22 #4
Tester lige din rettelse i morgen, Kabbak.
Avatar billede kabbak Professor
22. april 2008 - 00:02 #5
efter hvad du skriver 21/04-2008 21:20:52, er det nok office pakken på den pågældende computer, det er galt med, prøv at reparere/geninstallere det.
Avatar billede soeren_soelv Novice
20. maj 2008 - 10:05 #6
Problemet var software på computeren. Efter en opdatering virkede programmet unden problemer.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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