Kết quả 1 đến 4 của 4

Chủ đề: Nhờ giúp đỡ đặt và khai báo biến

  1. #1
    hoahero Guest
    đoạn trong file là ghi macro mà được bác ơi, như mình đã nói là nếu duyệt qua từng phần tử trên listbox thì chạy lâu nếu có nhiều sheet. mình đã thử rồi nên mới hỏi.

  2. #2
    maynongnghiep3a Guest
    Thử đoạn code này xem sao.

    Mã:
    Private Sub CommandButton1_Click()
        Dim i As Integer, SheetsFound()
        ReDim SheetsFound(0)
        For i = 0 To Me.ListBox1.ListCount - 1
            If Me.ListBox1.Selected(i) = True Then
               SheetsFound(UBound(SheetsFound)) = Me.ListBox1.List(i)
               ReDim Preserve SheetsFound(UBound(SheetsFound) + 1)
            End If
        Next i
        ReDim Preserve SheetsFound(UBound(SheetsFound) - 1)
        Sheets(SheetsFound).Select
        With ActiveSheet.PageSetup
            .LeftMargin = Application.InchesToPoints(0.7)
            .RightMargin = Application.InchesToPoints(0.7)
            .TopMargin = Application.InchesToPoints(0.75)
            .BottomMargin = Application.InchesToPoints(0.75)
        End With
    End Sub

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Nhờ giúp đỡ đặt và khai báo biến

    nhờ mọi người chỉnh lại đoạn code trong usedform lại giúp mình.
    mình muốn khi nhấn vào CommandButton1 của usedform thì những mục được chọn trong listbox sẽ được định dạng cùng 1 lúc
    không phải duyệt qua từng mục được chọn rồi định dạng, như thế khi chọn nhiều sheet thì code sẽ chạy chậm

  4. #4
    huongnguyen123 Guest
    Trích dẫn Gửi bởi langtuchungtinh360
    nhờ mọi người chỉnh lại đoạn code trong usedform lại giúp mình.
    mình muốn khi nhấn vào CommandButton1 của usedform thì những mục được chọn trong listbox sẽ được định dạng cùng 1 lúc
    không phải duyệt qua từng mục được chọn rồi định dạng, như thế khi chọn nhiều sheet thì code sẽ chạy chậm
    Tôi nghĩ rằng đường nào bạn cũng vòng lặp trên listbox mới lấy được danh sách sheet bạn cầ chọn...vậy tại sao ko xử nó luôn...mà đưa hết vào Array làm gì...rồi Select chi cho mất công...mà Select kiểu này bạn có chắc là định dạng được luôn không?


    Mã:
    Private Sub CommandButton1_Click()
    Dim Col As Long, I As Long, K As Long
    Application.ScreenUpdating = False
    Col = Me.ListBox1.ListCount - 1
        For I = 0 To Col
            If Me.ListBox1.Selected(I) Then
                 'K = K + 1
                Sheets(Me.ListBox1.List(I, 0)).Select
                With ActiveSheet.PageSetup
                    .LeftMargin = Application.InchesToPoints(0.7)
                    .RightMargin = Application.InchesToPoints(0.7)
                    .TopMargin = Application.InchesToPoints(0.75)
                    .BottomMargin = Application.InchesToPoints(0.75)
                End With
            End If
        Next I
    Sheet1.Select
    Application.ScreenUpdating = True
    End Sub

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •