Lấy dữ liệu xuống dòng cuối

Liên hệ QC
Hị hị, tớ phải đi lo chyện trằng sao của mình. Bộ vba giúp tớ kiếm được ny chắc? Múc luôn.
 
Mà cái thớt này ít code thì phải, cách làm thì mình nói rồi đó.
Bài đã được tự động gộp:

Cái anh này toàn đi chọc ngang người khác nhé
Anh toàn đi khiêu khích phá đám người khác
Không giúp ai được việc gì?
Nhớ là chưa bao giờ phá ai thid phải. Chỉ là "tui là người yéu chinh chiến dài lâu nên mộng vba tôi nghe đã chìm sâu."
 
Bài này mà không ai làm ra kết quả bác
SA_DQ
ơi giúp cháu với
 

File đính kèm

Buồn quá, bài này tưởng là dễ hoa ra lại là rất khó, không có đáp án rồi...hu hu........
Phải tự hỏi lòng tại ăn ở thế nào và cần phải giải thích cái ví dụ cụ thể cái cần, bài 1 giải thích thì mù mờ còn đưa ra ví chẳng ai hiểu thì giúp cái gì bây giờ?
Bài 3 tôi thấy và nêu rất rõ "xem lại dữ liệu dòng 5 với dòng 14 (bài 1) dữ liệu là khác nhau". Người ta không hiểu lý do tại sao nó khác nhau?
 
Lần chỉnh sửa cuối:
Buồn quá, bài này tưởng là dễ hoa ra lại là rất khó, không có đáp án rồi...hu hu........
Chắc tại câu hỏi của em khó hiểu quá thôi, kéo là copy hay cut rồi paste. Dữ liệu các cột có ô trống không? Nếu dữ liệu bảng 1 cột B không có ô trống thì có thể dùng lệnh
Dim r as range
Set r=range("B3:L" & range("B2").end(xldown).row)
R.copy cells(18-r.rows.count,2)
Nếu tất cả các cột đều có ô trống thì xác định dòng cuối bảng 1 bằng cách tìm max row của các ô B10 đến L10.end(xlup).row rồi làm như tương tự trên.
 
Phải tự hỏi lòng tại ăn ở thế nào và cần phải giải thích cái ví dụ cụ thể cái cần, bài 1 giải thích thì mù mờ còn đưa ra ví chẳng ai hiểu thì giúp cái gì bây giờ?
Bài 3 tôi thấy và nêu rất rõ "xem lại dữ liệu dòng 5 với dòng 14 (bài 1) dữ liệu là khác nhau". Người ta không hiểu lý do tại sao nó khác sao?
Bác xemlại cháu diễn giải như này bác nhé
Bài đã được tự động gộp:

Chắc tại câu hỏi của em khó hiểu quá thôi, kéo là copy hay cut rồi paste. Dữ liệu các cột có ô trống không? Nếu dữ liệu bảng 1 cột B không có ô trống thì có thể dùng lệnh
Dim r as range
Set r=range("B3:L" & range("B2").end(xldown).row)
R.copy cells(18-r.rows.count,2)
Nếu tất cả các cột đều có ô trống thì xác định dòng cuối bảng 1 bằng cách tìm max row của các ô B10 đến L10.end(xlup).row rồi làm như tương tự trên.
Anh xem lại file giúp em anh nhé>
Các cột sẽ có các ô trống ở bên dưới
 

File đính kèm

Bác xemlại cháu diễn giải như này bác nhé
Anh xem lại file giúp em anh nhé>
Các cột sẽ có các ô trống ở bên dưới
Bạn diễn đạt khó hiểu nên mọi người không hiểu để giúp bạn được.
Nếu mình hiểu đúng thì ý bạn đang muốn như trong file đính kèm.
P/S: Mình dân xài hàm, không rành vba.
 

File đính kèm

Bạn diễn đạt khó hiểu nên mọi người không hiểu để giúp bạn được.
Nếu mình hiểu đúng thì ý bạn đang muốn như trong file đính kèm.
P/S: Mình dân xài hàm, không rành vba.
Vâng đúng rồi anh à, Cảm ơn anh!
Không viết đươch VBA hở anh?
 
Vâng đúng rồi anh à, Cảm ơn anh!
Không viết đươch VBA hở anh?
Chờ có người rành vba sẽ nhìn hàm để hiểu bạn đang muốn gì và viết cho bạn. Mình chỉ biết record thôi.
Mình gửi lại cách diễn đạt theo ý muốn của bạn để mọi người giúp đỡ viết code vba.
 

File đính kèm

Chờ có người rành vba sẽ nhìn hàm để hiểu bạn đang muốn gì và viết cho bạn. Mình chỉ biết record thôi.
Mình gửi lại cách diễn đạt theo ý muốn của bạn để mọi người giúp đỡ viết code vba.
Vâng em cảm ơn anh, Chắc là sẽ có các anh chị viết code giúp anh à.
Chúc anh vạn sự thành công anh nhé!
 
Em đã ghi macro như này, nhưng không biết làm vòng lặp như nào, nhờ các anh giúp đỡ
 

File đính kèm

Em đã ghi macro như này, nhưng không biết làm vòng lặp như nào, nhờ các anh giúp đỡ
Chủ thớt năn nỉ quá mà sao không thấy ai viết code hết vậy ta. Bài này cũng khó nhưng cũng có thể viết được
Bạn thử code này coi đúng không nhé
Mã:
Sub Keo_Du_Lieu()
Dim sArr(), i As Long, j As Long, ii As Long
sArr = Sheets("PTDL").Range("B3:L8").Value
For j = 1 To UBound(sArr, 2)
   For i = UBound(sArr) To 1 Step -1
      If sArr(i, j) = Empty Then
         For ii = i To 1 Step -1
            If sArr(ii, j) <> Empty Then
               sArr(i, j) = sArr(ii, j)
               sArr(ii, j) = Empty
               Exit For
            End If
         Next
      End If
   Next
Next
Sheets("PTDL").[B12].Resize(UBound(sArr), UBound(sArr, 2)) = sArr
End Sub

PS: Đọc bài 20 của chủ thớt thì mình dự đoán đây là một siêu cao thủ code tiềm năng.
 
Lần chỉnh sửa cuối:
Chủ thớt năn nỉ quá mà sao không thấy ai viết code hết vậy ta. Bài này cũng khó nhưng cũng có thể viết được
Bạn thử code này coi đúng không nhé
Mã:
Sub Keo_Du_Lieu()
Dim sArr(), i As Long, j As Long, ii As Long
sArr = Sheets("PTDL").Range("B3:L8").Value
For j = 1 To UBound(sArr, 2)
   For i = UBound(sArr) To 1 Step -1
      If sArr(i, j) = Empty Then
         For ii = i To 1 Step -1
            If sArr(ii, j) <> Empty Then
               sArr(i, j) = sArr(ii, j)
               sArr(ii, j) = Empty
               Exit For
            End If
         Next
      End If
   Next
Next
Sheets("PTDL").[B12].Resize(UBound(sArr), UBound(sArr, 2)) = sArr
End Sub

PS: Đọc bài 20 của chủ thớt thì mình dự đoán đây là một siêu cao thủ code tiềm năng.
Cảm ơn anh
quanghai1969

! Sắp được rồi anh à
Anh sửa thêm giúp em là vẫn giữ nguyên khoảng trống giữa các ô như file đính kèm anh nhé (Em tô màu vàng)!
 

File đính kèm

Dữ liệu mẫu có gì đó không ổn. Vì nếu đúng như vậy thì chỉ cần copy paste là xong rồi, viết code mần chi chứ
Anh ơi bởi vì không có ai viết cho em nên em thay đổi khoảng trống để dễ viết, thật ra thì nó không phải là dãy ô liên tục anh à
Anh tìm cách sửa lại code cho em với anh nhé
Cảm ơn anh!
 
Anh ơi bởi vì không có ai viết cho em nên em thay đổi khoảng trống để dễ viết, thật ra thì nó không phải là dãy ô liên tục anh à
Anh tìm cách sửa lại code cho em với anh nhé
Cảm ơn anh!
Có phải ý của bạn là khi nhập dữ liệu ở bảng 1 thì nó cũng sẽ tự động copy xuống bảng 2 không bạn?
 
Có phải ý của bạn là khi nhập dữ liệu ở bảng 1 thì nó cũng sẽ tự động copy xuống bảng 2 không bạn?
không phải như vậy bạn à.
Ý của mình là bảng 1 đã có sắn rồi
Nhưng bây giờ là lấy dòng cuối của các cột trên bảng 1 copy xuống cho nó bằng nhau bạn à
 
Web KT

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

Back
Top Bottom