Code chọn ô cuối cùng trên 1 range gồm nhiều loại cells

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

TamPhuc

Thành viên mới
Tham gia
6/9/08
Bài viết
10
Được thích
0
Chào các bạn,

Mình có 1 range từ A1 đến IV1, trong range đó bao gồm những cell đã nhập liệu, những cell trống và còn có cả merged cells.

Các bạn cho mình xin đoạn code để khi nhấn vào button 1, vùng select(ô chọn) sẽ di chuyển đến ô có mã số HD cuối cùng trong range từ A1 đến IV1 đó. Cám ơn nhiều.

Trong trường hợp file đính kèm, khi nhấn vào button 1, vùng chọn sẽ chọn ngay ô Y1(Tức là ở HD5). Lưu ý: Mình đặt tên Hợp Đồng là HD cho dễ hình dung, trong thực tế tên hợp đồng k phải bắt đầu bằng HD và không có 1 quy cách chung nào hết.

Cám ơn thêm lần nữa
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các bạn,

Mình có 1 range từ A1 đến IV1, trong range đó bao gồm những cell đã nhập liệu, những cell trống và còn có cả merged cells.

Các bạn cho mình xin đoạn code để khi nhấn vào button 1, vùng select(ô chọn) sẽ di chuyển đến ô có mã số HD cuối cùng trong range từ A1 đến IV1 đó. Cám ơn nhiều.

Trong trường hợp file đính kèm, khi nhấn vào button 1, vùng chọn sẽ chọn ngay ô Y1(Tức là ở HD5). Lưu ý: Mình đặt tên Hợp Đồng là HD cho dễ hình dung, trong thực tế tên hợp đồng k phải bắt đầu bằng HD và không có 1 quy cách chung nào hết.

Cám ơn thêm lần nữa
Có phải bạn muốn tìm cell cuối cùng mà chưa có HDi và sao 0 Ngay.
Bạn chép code này vào chạy thử, hơi "rừng".
PHP:
Sub GoToCell()
Dim myRng As Range, Dem As Long, RngFound As Range, iStr As String
Set myRng = [I1:IV1]
iStr = "HD"
Dem = WorksheetFunction.CountIf(myRng, iStr & "*")
Set RngFound = myRng(1)
If Dem > 0 Then
  Set RngFound = myRng.Find(What:=iStr, After:=RngFound, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:= _
        False, SearchFormat:=False)
  With RngFound
    .Offset(, 2).Select
  End With
Else
  [I1].Select
End If
End Sub
 

File đính kèm

Upvote 0
Cám ơn bạn, nhưng mình post lộn. Đó k phải ý mình. Mình mới chỉnh lại, bạn coi lại giùm.
Vậy thì bạn dùng đoạn code này đi
PHP:
Sub GPE_boyxin()
For Each clls In [a1].Resize(, 255)
    If clls <> blank And clls.Offset(, 1) <> blank And clls.Offset(, 5) = blank Then
        clls.Select
        Selection.End(xlToRight).Select
        Exit For
    End If
Next
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn xem đúng ý bạn k
 

File đính kèm

Upvote 0
THANKS CÁC BẠN NHIỀU. CÁCH CỦA CÁC BẠN RẤT HAY. TỐI QUA NẰM TRẰN TRỌC, MÌNH CŨNG NGHĨ ĐƯỢC 1 CÁCH

Set checking = Worksheets("SHEET1").Range("is1:i1")
t = 245
For Each cell In checking
If Range("SHEET1!i1").Cells(1, t).Value = "" Then
t = t - 4
End If
Next
Worksheets("BTG").Range("C1").Value = Range("SHEET1!i1").Cells(1, t).Value

THANKS ALL AGAIN
 
Upvote 0
THANKS CÁC BẠN NHIỀU. CÁCH CỦA CÁC BẠN RẤT HAY. TỐI QUA NẰM TRẰN TRỌC, MÌNH CŨNG NGHĨ ĐƯỢC 1 CÁCH

Set checking = Worksheets("SHEET1").Range("is1:i1")
t = 245
For Each cell In checking
If Range("SHEET1!i1").Cells(1, t).Value = "" Then
t = t - 4
End If
Next
Worksheets("BTG").Range("C1").Value = Range("SHEET1!i1").Cells(1, t).Value

THANKS ALL AGAIN

Hic, bạn dùng luôn cách này cho nó ngắn gọn
(áp dụng cho file đính kèm - File khác thì có thể phải sửa tý teo)
PHP:
Sub Checking()
For i = 253 To 9 Step -4
    If Cells(1, i) <> blank Then
       Cells(1, i).Select
        Exit For
    End If
Next
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom