2017-12-21 2 views
-2

イブニング人々を引き起こしは、エラー

私はExcelのユーザーフォームにESCを襲ったとき、私は非常に奇妙なエラーを取得しています:-2147417848(80010108)、「オートメーションエラー:呼び出されたオブジェクトから切断されましたそのクライアント "。 On Error Resume Nextなどを使用してエラーをスキップすることはできますが、私はいつも同じ奇妙な問題が残っています.Excelはシャットダウンを拒否します。 私はワークブックを閉じたり、新しいワークブックを開くことができます。しかし、プログラム自体は、TMを除いて終了を拒否します。誰にも解決策がありますか?

これは私の多くのユーザーフォームの1つでのみ発生します。

Option Explicit 
Dim TabCheck As Boolean 
Dim LastRowA As Long 
Dim TitleArr() As Variant 
Dim LinkArr() As Variant 
Dim LastRowOldA As Long 
Dim LastRowNewA As Long 
Dim LastRowNewB As Long 
Dim rngA As String 
Dim rngB As String 


'Page 1 



Private Sub CommandButtonCanc_Click() 

Me.Hide 

End Sub 

Private Sub CommandButtonOK_Click() 

Call NewRow 

Me.Hide 

End Sub 

Private Sub ListBoxOwn_Change() 

Call OKEnable 

End Sub 

Private Sub OptionButton1_Click() 

Call OKEnable 

End Sub 

Private Sub OptionButton2_Click() 

Call OKEnable 

End Sub 

Private Sub OptionButton3_Click() 

Call OKEnable 

End Sub 



Private Sub P2_ComboBoxID_Change() 

If EnableEvents = False Then Exit Sub 

Call ComboBoxIDChange(P2_ComboBoxID, P2_ComboBoxID.ListIndex) 

End Sub 

Private Sub P2_ListBoxOwn_Change() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 

Private Sub P2_TextBoxCust_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P2_TextBoxCust.Text, X, Y, P2_TextBoxCust) 
    End If 
End Sub 

Private Sub P2_TextBoxDesc_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P2_TextBoxDesc.Text, X, Y, P2_TextBoxDesc) 
    End If 
End Sub 

Private Sub P3_ComboBoxID_Change() 

If EnableEvents = False Then Exit Sub 

Call ComboBoxIDChange(P3_ComboBoxID, P3_ComboBoxID.ListIndex) 

End Sub 

Private Sub P3_CommandButtonRelDocMan_Click() 

RelDocMan.Show 

Call AcceptID 

End Sub 

Private Sub P3_TextBoxRelDocLink1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P3_TextBoxRelDocLink1.Text, X, Y, P3_TextBoxRelDocLink1) 
    End If 
End Sub 

Private Sub P3_TextBoxRelDocLink2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P3_TextBoxRelDocLink2.Text, X, Y, P3_TextBoxRelDocLink2) 
    End If 
End Sub 

Private Sub P3_TextBoxRelDocName1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 

    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P3_TextBoxRelDocName1.Text, X, Y, P3_TextBoxRelDocName1) 
    End If 

End Sub 

Private Sub P3_TextBoxRelDocName2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P3_TextBoxRelDocName2.Text, X, Y, P3_TextBoxRelDocName2) 
    End If 
End Sub 

Private Sub P4_ComboBoxID_Change() 

If EnableEvents = False Then Exit Sub 

Call ComboBoxIDChange(P4_ComboBoxID, P4_ComboBoxID.ListIndex) 

End Sub 

Private Sub P4_CommandButtonCM_Click() 

CM.Show 

Call AcceptID 

End Sub 

Private Sub P4_TextBoxCom_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, P4_TextBoxCom.Text, X, Y, P4_TextBoxCom) 
    End If 
End Sub 

Private Sub P5_ComboBoxID_Change() 

If EnableEvents = False Then Exit Sub 

Call ComboBoxIDChange(P5_ComboBoxID, P5_ComboBoxID.ListIndex) 

End Sub 

Private Sub P6_ComboBoxID_Change() 

If EnableEvents = False Then Exit Sub 

Call ComboBoxIDChange(P6_ComboBoxID, P6_ComboBoxID.ListIndex) 

End Sub 

Private Sub P6_CommandButtonCanc_Click() 

Me.Hide 

End Sub 

Private Sub P6_CommandButtonDel_Click() 

Answer = MsgBox("Are you sure you want to delete task no. " & ID & "?", vbYesNo + vbQuestion, "Delete Task") 
If Answer = vbNo Then Exit Sub 

Call DeleteRow 

Me.Hide 

End Sub 

Private Sub TextBoxCust_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, TextBoxCust.Text, X, Y, TextBoxCust) 
    End If 
End Sub 

Private Sub TextBoxDesc_Change() 

Call OKEnable 

End Sub 




'Page 2 

Private Sub P2_CommandButtonCanc_Click() 

If EnableEvents = False Then Exit Sub 

Me.Hide 

End Sub 

Private Sub P2_CommandButtonOK_Click() 

If EnableEvents = False Then Exit Sub 

Call P2_OK 

Call AcceptID 

End Sub 


Private Sub P2_OptionButton1_Click() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 

Private Sub P2_OptionButton2_Change() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 

Private Sub P2_OptionButton3_Change() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 


Private Sub P2_TextBoxCust_Change() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 

Private Sub P2_TextBoxDesc_Change() 

If EnableEvents = False Then Exit Sub 

Call P2_OKEnable 

End Sub 






'Page 3 



Private Sub P3_CommandButtonCanc_Click() 

Me.Hide 

End Sub 

Private Sub P3_TextBoxRelDocName1_Change() 

If EnableEvents = False Then Exit Sub 

If P3_TextBoxRelDocName1 = "" Or P3_TextBoxRelDocName1 = "Name" Then 
    P3_TextBoxRelDocName2.Visible = False 
    P3_TextBoxRelDocLink2.Visible = False 
    Exit Sub 
Else 
    P3_TextBoxRelDocName2.Visible = True 
    P3_TextBoxRelDocLink2.Visible = True 

End If 

If P3_OkEnable = False Then P3_CommandButtonOK.Enabled = False 
If P3_OkEnable = True Then P3_CommandButtonOK.Enabled = True 

End Sub 

Private Sub P3_TextBoxRelDocLink1_Change() 

If EnableEvents = False Then Exit Sub 

If P3_OkEnable = False Then 
    P3_CommandButtonOK.Enabled = False 
    P3_CommandButtonCanc.Default = True 
Else 
    P3_CommandButtonOK.Enabled = True 
    P3_CommandButtonOK.Default = True 
End If 

End Sub 

Private Sub P3_TextBoxRelDocName1_Enter() 

If P3_TextBoxRelDocName1 <> "Name" Then 
    Exit Sub 
Else 
    P3_TextBoxRelDocName1.Value = "" 
    P3_TextBoxRelDocName1.ForeColor = RGB(0, 0, 0) 
End If 

End Sub 

Private Sub P3_TextBoxRelDocName1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 

If P3_TextBoxRelDocName1.Value <> "" And P3_TextBoxRelDocName1 <> "Name" Then 
    Sheet3.Cells(RelDoc1Counter, 1) = P3_TextBoxRelDocName1 
Exit Sub 
Else 
    P3_TextBoxRelDocName1.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName1 = "Name" 
End If 

End Sub 

Private Sub P3_TextBoxRelDocLink1_Enter() 

If Not P3_TextBoxRelDocLink1 = "Link" Then 
Exit Sub 
Else 

P3_TextBoxRelDocLink1.Value = "" 
P3_TextBoxRelDocLink1.ForeColor = RGB(0, 0, 0) 

End If 

End Sub 

Private Sub P3_TextBoxRelDocLink1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 

If P3_TextBoxRelDocLink1.Value <> "" And P3_TextBoxRelDocLink1 <> "Link" Then 

Sheet3.Cells(RelDoc1Counter, 2) = P3_TextBoxRelDocLink1 

Else 
P3_TextBoxRelDocLink1.ForeColor = RGB(160, 160, 160) 
P3_TextBoxRelDocLink1 = "Link" 

End If 

End Sub 

Private Sub P3_TextBoxRelDocName2_Enter() 

If P3_TextBoxRelDocName2 <> "Name" Then 
    Exit Sub 
Else 
    P3_TextBoxRelDocName2.Value = "" 
    P3_TextBoxRelDocName2.ForeColor = RGB(0, 0, 0) 
End If 

TabCheck = True 

End Sub 

Private Sub P3_TextBoxRelDocName2_Exit(ByVal Cancel As MSForms.ReturnBoolean) 

If P3_TextBoxRelDocName2.Value <> "" And P3_TextBoxRelDocName2 <> "Name" Then 
    Sheet3.Cells(RelDoc2Counter, 1) = P3_TextBoxRelDocName2 
    Exit Sub 
Else 
    P3_TextBoxRelDocName2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName2 = "Name" 
End If 

End Sub 

Private Sub P3_TextBoxRelDocLink2_Enter() 

If P3_TextBoxRelDocLink2 <> "Link" Then 
    Exit Sub 
Else 
    P3_TextBoxRelDocLink2.Value = "" 
    P3_TextBoxRelDocLink2.ForeColor = RGB(0, 0, 0) 
End If 

End Sub 

Private Sub P3_TextBoxRelDocLink2_Exit(ByVal Cancel As MSForms.ReturnBoolean) 

If P3_TextBoxRelDocLink2.Value <> "" And P3_TextBoxRelDocLink2 <> "Link" Then 
    Sheet3.Cells(RelDoc2Counter, 2) = P3_TextBoxRelDocLink2 
    Call P3_FilledChecker 
    Exit Sub 
Else 
    P3_TextBoxRelDocLink2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocLink2 = "Link" 
End If 

End Sub 

Private Sub P3_TextBoxRelDocLink2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

If TabCheck = False Then Exit Sub 

If KeyCode = vbKeyTab And P3_TextBoxRelDocName2 <> "Name" Then 
    P3_TextBoxRelDocName2.SetFocus 
    SendKeys "{BS}", True 
End If 

End Sub 

Private Sub P3_CommandButtonRelDocUp_Click() 

P3_TextBoxRelDocName1 = Sheet3.Cells(RelDoc1Counter - 1, 1) 
P3_TextBoxRelDocLink1 = Sheet3.Cells(RelDoc1Counter - 1, 2) 
P3_TextBoxRelDocName2 = Sheet3.Cells(RelDoc2Counter - 1, 1) 
P3_TextBoxRelDocLink2 = Sheet3.Cells(RelDoc2Counter - 1, 2) 

RelDoc1Counter = RelDoc1Counter - 1 
RelDoc2Counter = RelDoc2Counter - 1 

If P3ComButUp = True Then 
    P3_CommandButtonRelDocUp.Visible = True 
Else 
    P3_CommandButtonRelDocUp.Visible = False 
End If 

If P3ComButDown = True Then 
    P3_CommandButtonRelDocDown.Visible = True 
Else 
    P3_CommandButtonRelDocDown.Visible = False 
End If 

If P3_TextBoxRelDocName1 = "" Or P3_TextBoxRelDocName1 = "Name" Then 
    P3_TextBoxRelDocName1.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName1 = "Name" 
Else 
    P3_TextBoxRelDocName1.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocLink1 = "" Or P3_TextBoxRelDocLink1 = "Link" Then 
    P3_TextBoxRelDocLink1.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocLink1 = "Link" 
Else 
    P3_TextBoxRelDocLink1.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocName2 = "" Or P3_TextBoxRelDocName2 = "Name" Then 
    P3_TextBoxRelDocName2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName2 = "Name" 
Else 
    P3_TextBoxRelDocName2.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocLink2 = "" Or P3_TextBoxRelDocLink2 = "Link" Then 
    P3_TextBoxRelDocLink2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocLink2 = "Link" 
Else 
    P3_TextBoxRelDocLink2.ForeColor = RGB(0, 0, 0) 
End If 

End Sub 

Private Sub P3_CommandButtonRelDocDown_Click() 

P3_TextBoxRelDocName1 = Sheet3.Cells(RelDoc1Counter + 1, 1) 
P3_TextBoxRelDocLink1 = Sheet3.Cells(RelDoc1Counter + 1, 2) 
P3_TextBoxRelDocName2 = Sheet3.Cells(RelDoc2Counter + 1, 1) 
P3_TextBoxRelDocLink2 = Sheet3.Cells(RelDoc2Counter + 1, 2) 

RelDoc1Counter = RelDoc1Counter + 1 
RelDoc2Counter = RelDoc2Counter + 1 

If P3ComButUp = True Then 
    P3_CommandButtonRelDocUp.Visible = True 
Else 
    P3_CommandButtonRelDocUp.Visible = False 
End If 

If P3ComButDown = True Then 
    P3_CommandButtonRelDocDown.Visible = True 
Else 
    P3_CommandButtonRelDocDown.Visible = False 
End If 

If P3_TextBoxRelDocName1 = "" Or P3_TextBoxRelDocName1 = "Name" Then 
    P3_TextBoxRelDocName1.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName1 = "Name" 
Else 
    P3_TextBoxRelDocName1.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocLink1 = "" Or P3_TextBoxRelDocLink1 = "Link" Then 
    P3_TextBoxRelDocLink1.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocLink1 = "Link" 
Else 
    P3_TextBoxRelDocLink1.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocName2 = "" Or P3_TextBoxRelDocName2 = "Name" Then 
    P3_TextBoxRelDocName2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocName2 = "Name" 
Else 
    P3_TextBoxRelDocName2.ForeColor = RGB(0, 0, 0) 
End If 

If P3_TextBoxRelDocLink2 = "" Or P3_TextBoxRelDocLink2 = "Link" Then 
    P3_TextBoxRelDocLink2.ForeColor = RGB(160, 160, 160) 
    P3_TextBoxRelDocLink2 = "Link" 
Else 
    P3_TextBoxRelDocLink2.ForeColor = RGB(0, 0, 0) 
End If 

End Sub 


Private Sub P3_CommandButtonOK_Click() 

LastRowA = LastRow(Sheet3, 1) 

If Sheets(IDstr).Cells(1, 1) = "" Then 
    LastRowOldA = 0 
Else 
    LastRowOldA = LastRow(Sheets(IDstr), 1) 
End If 

TitleArr = Sheet3.Range("A1:A1000") 
LinkArr = Sheet3.Range("B1:B1000") 

rngA = "A" & LastRowOldA + 1 & ":A1000" 
rngB = "B" & LastRowOldA + 1 & ":B1000" 

Sheets(IDstr).Range(rngA) = TitleArr 
Sheets(IDstr).Range(rngB) = LinkArr 

LastRowNewA = LastRow(Sheets(IDstr), 1) 
LastRowNewB = LastRow(Sheets(IDstr), 2) 

Sheet3.Range("A:B") = "" 

If LastRowNewA = 1 And Sheets(IDstr).Cells(1, 1) = "" Then 
    Sheet1.Cells(TargetRow, 10) = 0 
Else 
    Sheet1.Cells(TargetRow, 10) = LastRowNewA 
End If 

Call AcceptID 

End Sub 

Private Function P3_OkEnable() 

If P3_TextBoxRelDocName1 = "" And P3_TextBoxRelDocLink1 = "" Then 
P3_OkEnable = False 
Else 
P3_OkEnable = True 
End If 

End Function 




'Page 4 


Private Sub P4_CommandButtonCanc_Click() 

Me.Hide 

End Sub 

Private Sub P4_TextBoxCom_Change() 

If EnableEvents = False Then Exit Sub 

Call P4_OkEnable 

End Sub 

Private Sub P4_OkEnable() 

If Not P4_TextBoxCom = "" Then 
    P4_CommandButtonOK.Enabled = True 
    P4_CommandButtonOK.Default = True 
Else 
    P4_CommandButtonOK.Enabled = False 
    P4_CommandButtonCanc.Default = True 
End If 

End Sub 

Private Sub P4_CommandButtonOK_Click() 

Call P4_OK 

Call AcceptID 

End Sub 




'Page 5 



Private Sub P5_CheckBoxComp_Click() 

Call p5_OKEnable 

End Sub 

Private Sub P5_CommandButtonCanc_Click() 

Me.Hide 

End Sub 




Private Sub P5_CommandButtonOK_Click() 

If P5_CheckBoxComp = False Then 
    Call Uncomplete 
Else 
    Call Complete 
End If 

Me.Hide 

End Sub 

Private Sub p5_OKEnable() 

If (Sheet1.Cells(TargetRow, 8) = 0 And P5_CheckBoxComp = False) Or (Sheet1.Cells(TargetRow, 8) = 1 And P5_CheckBoxComp = True) Then 
    P5_CommandButtonOK.Enabled = False 
Else 
    P5_CommandButtonOK.Enabled = True 
End If 

End Sub 

Private Sub TextBoxDesc_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    ' If right-button clicked 
    If Button = 2 Then 
     Call ShowPopup(Me, TextBoxDesc.Text, X, Y, TextBoxDesc) 
    End If 
End Sub 

Private Sub UserForm_Activate() 

RDMID = False 
CMID = False 

Sheet1.Activate 

If OpButSel = True Then 

    Call LoadIDs 
    Call AcceptID 

    RelDoc1Counter = 1 
    RelDoc2Counter = 2 

    With Me.MultiPage1 
     .Pages(0).Visible = False 
     .Pages(1).Visible = True 
     .Pages(2).Visible = True 
     .Pages(3).Visible = True 
     .Pages(4).Visible = True 
     If Manager = True Then .Pages(5).Visible = True 
    End With 

    If Comp = True Then Me.MultiPage1.Value = 4 
    If CMActivate = True Then Me.MultiPage1.Value = 3 
    If RelDocSelect = True Then Me.MultiPage1.Value = 2 

    Comp = False 
    CMActivate = False 
    RelDocSelect = False 

Else 

    With Me.MultiPage1 
     .Pages(0).Visible = True 
     .Pages(1).Visible = False 
     .Pages(2).Visible = False 
     .Pages(3).Visible = False 
     .Pages(4).Visible = False 
     .Pages(5).Visible = False 
    End With 

    RDMID = False 
    CMID = False 

End If 

End Sub 

Private Sub MultiPage1_Click(ByVal Index As Long) 

Select Case MultiPage1.SelectedItem.Name 
    Case "Page1": Call P1Switch 
    Case "Page2": Call P2Switch 
    Case "Page3": Call P3Switch 
    Case "Page4": Call P4Switch 
    Case "Page5": Call P5Switch 
    Case "Page6": Call P6Switch 
End Select 

End Sub 

Private Sub P1Switch() 



End Sub 

Private Sub P2Switch() 

EditTasks.Height = 280 

End Sub 

Private Sub P3Switch() 

EditTasks.Height = 240 

End Sub 

Private Sub P4Switch() 

EditTasks.Height = 240 

End Sub 

Private Sub P5Switch() 

EditTasks.Height = 240 

End Sub 

Private Sub P6Switch() 

EditTasks.Height = 280 

End Sub 



Private Sub UserForm_Initialize() 

    With EditTasks 
     .Top = Application.Top + 125 
     .Left = Application.Left + 25 
    End With 

    Call UpdateOwn 

End Sub 

Private Sub UserForm_Terminate() 

Call HideNewTask 

End Sub 

事前のおかげで...

+3

ファイル内のwhatsの例や書かれたコードがなくても、誰かがこれに対する答えを推測することはできません。 – shagans

+0

私は仕事用ノートパソコンを使用していますが、セキュリティのために私設WiFiに接続するまでコードファイルをアップロードすることはできません - そして私は列車に乗っています:-)できるときアップロードします。 – danners430

+0

誰もがあなたの実際のファイルを掘り下げてトラブルシューティングして把握したいとは思わないでください。コピー+そのユーザーフォームのコードを貼り付けます。共有したくない機密データを取り除きます。受け取ったエラーは、データリンクまたは何らかのデータ接続に関する問題を示しています。 – shagans

答えて

0

は答えを提供し、私の休憩中に私の友人メット:プロパティウィンドウに「=真キャンセル」ボタンを設定

はこれを原因となりますこのプロパティをFalseにリセットすると、ユーザーフォーム上のすべてのボタンがこの問題を取り除きます。