Nhờ chỉnh sửa đoạn code trên GPE. (1 người xem)

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

truongquangtrong

Thành viên mới
Tham gia
6/1/17
Bài viết
37
Được thích
0
Chào các bạn, mình đang học các ứng dụng mở rộng trên excel.

Dựa vào code có trên GPE, mình mới mày mò sửa lại được đoạn code sau:


Mã:
Private Sub UserForm_Initialize()
'On Error Resume Next
    txt_bd = "A"
    txt_kt = 2
    txt_num = 10
    txt_num.SetFocus
End Sub
Private Sub Button_OK_Click()
    Dim Rng As Range, ToRng As Range, i As Long
    Dim lRow As Long
    Dim a As Long, col_des As Long, col_kt As Long
    Dim sh As String, col_bd  As String
    Application.ScreenUpdating = False




    col_bd = txt_bd
    col_kt = txt_kt
    col_des = txt_num
    
    col_des = col_des * col_kt
    If OptionButton1.Value = True Then
        sh = "Data1"
    Else
        sh = "Data2"
    End If
    
    a = Worksheets(sh).Range("A65000").End(xlUp).Row
    If a < 2 Then
        MsgBox "Khong co du lieu de xoa"
    Else
        Worksheets(sh).Range("A2:BD" & a).ClearContents
    End If
      Set ToRng = Worksheets(sh).Range(Cells(2, 1), Cells(2, col_des)) 
  
    Application.ScreenUpdating = True
End Sub
Nhưng khi chạy code thì luôn báo lỗi ở dòng này:
Mã:
Set ToRng = Worksheets(sh).Range(Cells(2, 1), Cells(2, col_des))
Mình không biết các khắc phục, mong mọi người gỡ rối dùm mình.

cảm ơn các bạn.
 
With Worksheets(sh)
Set ToRng = .Range(.Cells(2, 1), .Cells(2, col_des))
End With

Hoặc là

Set ToRng = Worksheets(sh).Range(Worksheets(sh).Cells(2, 1), Worksheets(sh).Cells(2, col_des))
 
Upvote 0
có thể viết như vầy
Set ToRng = Sheets(sh).Range("A2").Resize(, col_des)
 
Upvote 0
Status
Không mở trả lời sau này.

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

Back
Top Bottom