Giải thích giúp cách sử dụng Offset

  • Thread starter Thread starter chibi
  • Ngày gửi Ngày gửi
Liên hệ QC

chibi

Thành viên tích cực
Thành viên danh dự
Tham gia
10/1/07
Bài viết
1,120
Được thích
623
Tôi có gửi file đính kèm, tôi muốn điền dữ liệu vào cột A với quy tắc: Nếu cột B không rỗng thì bằng cột B, ngược lại thì bằng cột A dòng trên. Trong file có 2 đoạn code, theo tôi nghĩ phải cho kết quả giống nhau nhưng thực tế chạy lại cho kết quả khác nhau, đoạn sử dụng Offset không cho kết quả mong muốn. Các bạn giúp tôi nhé.
Tải file tại đây - Không thể đính kèm được
 
Bạn bảo nó lấy số bên dưới, chứ đâu phải số bên trên!

Đúng theo ý bạn thì phải như thế này nè:
PHP:
Option Explicit
Sub creat_mlns()
    Dim lRow As Integer, i As Integer
 
    Range("A2:A300").ClearContents
    lRow = Range("B300").End(xlUp).Row
    With Range("B2")
        For i = 2 To lRow
            If Len(.Offset(i - 2).Value) > 0 Then
                .Offset(i - 2, -1).Value = .Offset(i - 2).Value
            Else
                .Offset(i - 2, -1).Value = .Offset(i - 3, -1).Value
     '          MsgBox .Offset(i - 2, -1).Address, , .Offset(i - 1, -1).Address'
            End If
        Next
    End With
End Sub
 
Upvote 0
Cảm ơn HYEN nhé. Đơn giản thế mà nghĩ mãi không ra. Lúc làm mình luôn nghĩ (i-1)<(i-2)
 
Upvote 0
Web KT

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

Back
Top Bottom