macro tìm ô cuối trong 1 cột co chứa dữ liệu và công thức, xin giúp mình với

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

tuyenlm

Thành viên mới
Tham gia
8/9/08
Bài viết
1
Được thích
0
Thân Chào Các Bạn

Mình mới tìm hiểu 1 chút về VB trong excel và gặp một khó khăn như mô tả bên dưới, mong mọi người giúp đỡ mình với nhé.

- trong cột B mình có dữ liệu và công thức, ví dụ tứ b1~b8 là dự liệu, B9~25 là công thức, mình muốn khi chạy macro sẽ tìm đến o B8 và coppy sang nơi khác mình muốn.

- Mình đang gặp khó khăn là chạy macro không như ý mình, thay vì là dữ liệu trong ô B8 mà nó cứ tìm dữ liệu tới luôn ô B25. mình gơi file điính kèm.

Thanks,
 

File đính kèm

Bạn thử code củ chuối này xem sao nhé!;
PHP:
Sub MTimDong()
Dim LRow As Long, MaxRow As Long
MaxRow = ActiveSheet.[B65536].End(xlUp).Row
For LRow = 1 To MaxRow
If Cells(LRow, 2).HasFormula Then Exit For
Next LRow
ActiveSheet.Range("B1:B" & LRow - 1).Copy ActiveSheet.[C1]
End Sub
 

File đính kèm

Thân Chào Các Bạn

Mình mới tìm hiểu 1 chút về VB trong excel và gặp một khó khăn như mô tả bên dưới, mong mọi người giúp đỡ mình với nhé.

- trong cột B mình có dữ liệu và công thức, ví dụ tứ b1~b8 là dự liệu, B9~25 là công thức, mình muốn khi chạy macro sẽ tìm đến o B8 và coppy sang nơi khác mình muốn.

- Mình đang gặp khó khăn là chạy macro không như ý mình, thay vì là dữ liệu trong ô B8 mà nó cứ tìm dữ liệu tới luôn ô B25. mình gơi file điính kèm.

Thanks,
Thử với cái này xem được không:
PHP:
Sub SelectRng()
    With [B:B].SpecialCells(xlCellTypeConstants, 23)
        Range([B1], .Areas(.Areas.Count).Cells(.Areas(.Areas.Count).Count)).Select
    End With
End Sub
 
Các bạn chú ý:

Thử với cái này xem được không:
[/PHP]

Trên trang tính trắng, tôi quýnh dấu nháy đơn vô B20;
Sau đó từ dòng 8 đến dòng 17 tôi điền số bất kỳ;
Tại [B18] tôi nhập =""

Với macro của Hữu Thắng sẽ tô chọn các ô vùng B1:B20;

Với macro như sau:
PHP:
Sub FindLastCell()
 Dim LCol As Integer, LRow As Long
 If WorksheetFunction.CountA(Cells) > 0 Then
   LRow = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, _
      SearchDirection:=xlPrevious).Row
   LCol = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, _
      SearchDirection:=xlPrevious).Column
   MsgBox Cells(LRow, LCol).Address
 End If
End Sub
Nó sẽ cho ta kết quả khác;
Trước khi thực hành, các bạn đoán xem : Chúng ta có địa chỉ nào trong hộp thoại?

Lần hai: Tôi xóa dấu nháy đơn tại b20 đi & chạy tuần tự từng anh macro; & xin mời các bạn đoán trước kết quả & tự rút ra kết luận cho riêng mình.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT

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

Back
Top Bottom