[Hỏi]Lấy địa chỉ Cell đầu tiên, Cell cuối cùng của selection như thế nào? (1 người xem)

Liên hệ QC

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

hochoaivandot

Thành viên mới
Tham gia
13/2/09
Bài viết
22
Được thích
0
Em đang select Range(B2:E7).
Làm sao để lấy địa chỉ cell đầu tiên của selection (Tức trả về B2) và địa chỉ cell cuối cùng của selection (tức trả về E7).
Nếu em quan niệm B2 là cell thú nhất, B3 là cell thứ 2... đến E7 là cell cuối cùng.
Làm sao để em lấy địa chỉ cell thứ n trong selection.

Cảm ơn mọi người. Hi vọng câu hỏi không quá ngớ ngẩn!
 
Sub FindRanges()

With Selection
StrAdd = .Cells(1, 1).Address
EndAdd = .Cells(.Rows.Count, .Columns.Count).Address
End With

MsgBox "first cell" & StrAdd
MsgBox "Last cell" & EndAdd

End Sub
 
Upvote 0
Mình xin hỏi thêm
Mình đang select range (B2:E7).
Mình loại cell đầu tiên và cell cuối cùng ra.
Rồi mình select lại những cell còn lại thì viết thế nào ạ.

Ps: Rất cảm ơn nhapmon!
 
Upvote 0
Mình xin hỏi thêm
Mình đang select range (B2:E7).
Mình loại cell đầu tiên và cell cuối cùng ra.
Rồi mình select lại những cell còn lại thì viết thế nào ạ.

Ps: Rất cảm ơn nhapmon!

Bạn viết code gì mà phải Select?
Nói chung, đã dùng đến code VBA thì nên dẹp mấy cái Select đi cho đở rách việc (màn hình nó cứ giật giật phát ớn luôn)...
Vậy nên, muốn viết cái gì, cứ viết thẳng vào cell luôn
 
Upvote 0
phải vậy ko bạn


Sub FindRanges()

With Selection
StrAdd = .Cells(1, 1).Address
EndAdd = .Cells(.Rows.Count, .Columns.Count).Address
End With
cell1 = Range(StrAdd).Offset(1, 0).Address
cell2 = Range(EndAdd).Offset(-1, 0).Address
Range(cell1, cell2).Select

End Sub
 
Upvote 0
Mình xin hỏi thêm
Mình đang select range (B2:E7).
Mình loại cell đầu tiên và cell cuối cùng ra.
Rồi mình select lại những cell còn lại thì viết thế nào ạ.

Ps: Rất cảm ơn nhapmon!

PHP:
Thử vầy xem:
Sub Test()
On Error Resume Next
Dim Rng As Range
With Selection
    If Rng Is Nothing Then
        Set Rng = .Offset(1).Resize(.Rows.Count - 2)
    Else
        Set Rng = Union(Rng, .Offset(1).Resize(.Rows.Count - 2))
    End If
    If Rng Is Nothing Then
        Set Rng = .Offset(, 1).Resize(1, .Columns.Count - 1)
    Else
        Set Rng = Union(Rng, .Offset(, 1).Resize(1, .Columns.Count - 1))
    End If
    If Rng Is Nothing Then
        Set Rng = .Offset(.Rows.Count - 1).Resize(1, .Columns.Count - 1)
    Else
        If .Rows.Count = 1 Then
            Set Rng = Intersect(Rng, .Offset(.Rows.Count - 1).Resize(1, .Columns.Count - 1))
        Else
            Set Rng = Union(Rng, .Offset(.Rows.Count - 1).Resize(1, .Columns.Count - 1))
        End If
    End If
End With
Rng.Select
End Sub
 
Upvote 0
Đơn giản thế này cũng được:

Mã:
Sub FindPos()
MsgBox Selection.Item(1).Address
MsgBox Selection.Item(Selection.Cells.Count).Address
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom