Закрытие моей пользовательской формы, когда я пытаюсь закрыть книгу, которой я манипулировал, используя эту пользовательскую форму - PullRequest
0 голосов
/ 24 мая 2018

/ Этот код предназначен для командной кнопки в пользовательской форме в Excel VBA /

Function CreateLabel(ByVal b As Integer, ByVal c As Long, ByVal d As String)
Application.DisplayAlerts = False
Dim i As Long
i = i + b

For labelCounter = 1 To i
On Error GoTo Count

    Set theLabel = UserForm3.Controls.Add("Forms.Label.1", "Cart" & labelCounter, True)
    With theLabel
        .Caption = d
        .Left = 10
        .Width = 50
        .Top = 10 * labelCounter
    End With

    Set theLabel2 = UserForm3.Controls.Add("Forms.Label.1", "Cart" & labelCounter, True)
    With theLabel2
        .Caption = c
        .Left = 70
        .Width = 50
        .Top = 10 * labelCounter
    End With
Count:

    Next labelCounter
    UserForm3.TextBox1.Value = UserForm3.TextBox1.Value + c


    h = Sheet1.TextBox1.Value

     Dim f As Workbook

    Set f = Workbooks.Open("C:\Users\39800\Desktop\Hexa_DB.xlsx") /*Here workbook is opened*/

    l = f.Worksheets("sheet2").Select()
    f.Worksheets("sheet2").UsedRange().Select
    ActiveCell.SpecialCells(xlLastCell).Select
    xLastRow = ActiveCell.Row
    xLastCol = ActiveCell.Column

    For q = 2 To xLastRow
    If (Cells(q, 1).Value = h) Then
    Cells(q, 2) = Format(UserForm3.TextBox1.Value, "Currency")
    f.Save

    f.Close /*Here it is closing my userform also*/

    End If

    Next q


    MsgBox "You have Successfully added this item to cart"
    Exit Function


End Function

1 Ответ

0 голосов
/ 24 мая 2018

Добавьте ссылку на вашу текущую книгу, прежде чем открывать новую,

Dim wbkCurrent as workbook
Set wbkCurrent = ActiveWorkbook

Затем после вашей f.Save добавьте wbkCurrent.Activate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...