Save lựa chọn ở forms

Liên hệ QC

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Mã:
'LUA CHON SHEETS IN TRÊN FORM (CODE IN BIEN BAN + KHÔI' LUONG + CAO DÔ)
Sub UserForm_Initialize()
  ComboBox1.List = Array("1.KL V", "1.KL S", "KLL-K95", "")
  ComboBox2.List = Array("2.Cao Do", "2.CD Cap", "CDL-K95", "", "2.CDK95", "CDTN")

    Call List_Printer        'code tìm máy in
    Call Get_Default_Printer 'code tìm máy in
End Sub

Private Sub OkInBB_CDKL_Click()
    Dim inStart As Long, inFinish As Long
    Dim i As Long
    Dim shNameKL, shNameCD As String
    Dim Rng As Range, DK As Long
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    ActiveSheet.DisplayPageBreaks = False   'Tat xem vùng In de? code Fix row hoat dông nhanh hon
   
    On Error Resume Next
    If ComboBox1.ListIndex <> -1 Then
        Set Ws1 = ThisWorkbook.Worksheets(ComboBox1.Text)
    End If
    If ComboBox2.ListIndex <> -1 Then
        Set Ws2 = ThisWorkbook.Worksheets(ComboBox2.Text)
    End If
   
    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value

        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo tiep
            Sheets("BBan").Select
            ActiveSheet.DisplayPageBreaks = False
            Sheets("BBan").Range("AZ1").Value = i
            Sheets("BBan").PrintOut
           
            If Not Ws1 Is Nothing Then
                Ws1.Select
                Ws1.Range("AZ1").Value = i
                ActiveSheet.EntireRow.Hidden = False
                    Call HidedongProKL
                    Call HidedongProKL
                    Call HidedongProKL
                    Call HidedongProKL
                Ws1.PrintOut
            End If

            If Not Ws2 Is Nothing Then
                Ws2.Select
                Ws2.Range("AZ1").Value = i
                ActiveSheet.EntireRow.Hidden = False
                    Call HidedongProCD
                    Call HidedongProCD
                    Call HidedongProCD
                    Call HidedongProCD
                Ws2.PrintOut
            End If
tiep:
         
        Next i
    Unload Me
    ActiveSheet.DisplayPageBreaks = False   'Tat xem vùng In de? code Fix row hoat dông nhanh hon
End Sub
Chào Anh Chị! em
Em muốn lưu lựa chọn combox1 và combox2, để khi thực hiện lại lệnh sẽ không phải chọn lại nữa, hình mô ta và file code đính kèm, em xin cảm ơn
 

File đính kèm

  • xxxxxxxxxxxxxxxx.png
    xxxxxxxxxxxxxxxx.png
    12.3 KB · Đọc: 16
  • In_BB_CD_KL.rar
    1.6 KB · Đọc: 7
Mã:
'LUA CHON SHEETS IN TRÊN FORM (CODE IN BIEN BAN + KHÔI' LUONG + CAO DÔ)
Sub UserForm_Initialize()
  ComboBox1.List = Array("1.KL V", "1.KL S", "KLL-K95", "")
  ComboBox2.List = Array("2.Cao Do", "2.CD Cap", "CDL-K95", "", "2.CDK95", "CDTN")

    Call List_Printer        'code tìm máy in
    Call Get_Default_Printer 'code tìm máy in
End Sub

Private Sub OkInBB_CDKL_Click()
    Dim inStart As Long, inFinish As Long
    Dim i As Long
    Dim shNameKL, shNameCD As String
    Dim Rng As Range, DK As Long
    Dim Ws1 As Worksheet
    Dim Ws2 As Worksheet
    ActiveSheet.DisplayPageBreaks = False   'Tat xem vùng In de? code Fix row hoat dông nhanh hon
  
    On Error Resume Next
    If ComboBox1.ListIndex <> -1 Then
        Set Ws1 = ThisWorkbook.Worksheets(ComboBox1.Text)
    End If
    If ComboBox2.ListIndex <> -1 Then
        Set Ws2 = ThisWorkbook.Worksheets(ComboBox2.Text)
    End If
  
    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
        inStart = TextBox1.Value
        inFinish = TextBox2.Value

        For i = inStart To inFinish
        DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If DK > 0 Then GoTo tiep
            Sheets("BBan").Select
            ActiveSheet.DisplayPageBreaks = False
            Sheets("BBan").Range("AZ1").Value = i
            Sheets("BBan").PrintOut
          
            If Not Ws1 Is Nothing Then
                Ws1.Select
                Ws1.Range("AZ1").Value = i
                ActiveSheet.EntireRow.Hidden = False
                    Call HidedongProKL
                    Call HidedongProKL
                    Call HidedongProKL
                    Call HidedongProKL
                Ws1.PrintOut
            End If

            If Not Ws2 Is Nothing Then
                Ws2.Select
                Ws2.Range("AZ1").Value = i
                ActiveSheet.EntireRow.Hidden = False
                    Call HidedongProCD
                    Call HidedongProCD
                    Call HidedongProCD
                    Call HidedongProCD
                Ws2.PrintOut
            End If
tiep:
        
        Next i
    Unload Me
    ActiveSheet.DisplayPageBreaks = False   'Tat xem vùng In de? code Fix row hoat dông nhanh hon
End Sub
Chào Anh Chị! em
Em muốn lưu lựa chọn combox1 và combox2, để khi thực hiện lại lệnh sẽ không phải chọn lại nữa, hình mô ta và file code đính kèm, em xin cảm ơn
Lưu giá trị nó vào nơi nào đó trong file của bạn khi click nút ok. Đưa giá trị được lưu đó vào combobox của bạn là được.
 
Upvote 0
Bạn có thể sử dụng Registry dành cho VBA:

Nếu ComboBox1 Change thì lưu giá trị:
PHP:
If Combobox1.Text <> "" Then
  Call SaveSetting("TenUngDung", "Chỉ mục", "Từ khóa", Combobox1.Text )
End if
Khi khởi động Form, gán giá trị cho ComboBox:
PHP:
   Combobox1.Text = GetSetting("TenUngDung", "Chỉ mục", "Từ khóa", "Chuỗi Giá trị mặc định cho Combobox1")
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom