Viết nút command Button chép dữ liệu từ vùng này sang vùng khác (1 người xem)

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

HUYNHTIEN0202

Thành viên chính thức
Tham gia
22/8/14
Bài viết
92
Được thích
1
Hiện tại mình muốn các anh GPE viết code copy dữ liệu như sau
Khi nhấn nút COPY thì chép dữ liệu từ vùng B3:J500 sang vùng L3 nhưng thứ tự dòng thay đổi
Khi nhấn COPY tiếp thì sau chép dữ liệu tiếp xuống vùng vừa ghi như trong file mình lúc đầu chép đến dòng L12 nhấn COPY thì tiếp tục dòng L3
 
Hiện tại mình muốn các anh GPE viết code copy dữ liệu như sau
Khi nhấn nút COPY thì chép dữ liệu từ vùng B3:J500 sang vùng L3 nhưng thứ tự dòng thay đổi
Khi nhấn COPY tiếp thì sau chép dữ liệu tiếp xuống vùng vừa ghi như trong file mình lúc đầu chép đến dòng L12 nhấn COPY thì tiếp tục dòng L3
Bài này quá rễ mà mình làm cho bạn nha. Nhấm nút Copy là được rồi
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
phần cột không đúng
Nhưng củng cám ơn bạn đã chỉ cho mình
 
Upvote 0
ý mình khi nhân copy tu vung B:J co các so thứ tư cột 1-2-3-4-5-6-7-8-9 nhưng sang vùng khác thì số thứ tự cột thay đổi cột 6-2-5-1-7-8-9 bỏ đi cột 3 & 4 giống như file minh gui
cũng hơi khó hiểu bạn gửi lại file ghi rõ trong fie cần copy cột nào sang cột nào thì mình làm cho bạn cái rẹt là xong .bạn nói khó hiểu quá
 
Upvote 0
Có phải chiêu THỰC PHẨM CHỨC NĂNG không anh
Mã:
Private Sub CommandButton1_Click()
    With Sheet1
        [B2:J12].AdvancedFilter 2, [T2].CurrentRegion, [L2].CurrentRegion
    End With
End Sub
 

File đính kèm

Upvote 0
Có phải chiêu THỰC PHẨM CHỨC NĂNG không anh
Mã:
Private Sub CommandButton1_Click()
    With Sheet1
        [B2:J12].AdvancedFilter 2, [T2].CurrentRegion, [L2].CurrentRegion
    End With
End Sub

Không cần xem file cũng biết code trật lất yêu cầu rồi
Copy lần 1 ok, lần 2 không thấy gi hết
Chiêu Anh chỉ Em hôm trước chứ gì
Không phải. Bài này phải ứng dụng chiêu độc của tư duy. Chiêu Loạn Cào Cào ấy mà

Bài này đối với mình thì dễ, cũng dùng advancedFilter như mọi người thôi. Nhưng có thêm tí gia vị
 
Lần chỉnh sửa cuối:
Upvote 0
Không cần xem file cũng biết code trật lất yêu cầu rồi
Copy lần 1 ok, lần 2 không thấy gi hết

Không phải. Bài này phải ứng dụng chiêu độc của tư duy. Chiêu Loạn Cào Cào ấy mà
Em vẫn thấy im thin thít với lần 2 mà anh.
Chỉ có điều e tạm xóa mấy cái số 1,2,3... trên đầu của chủ topic để dùng CurrentRegion cho nó nhanh thôi ạ }}}}}
 
Upvote 0
Em vẫn thấy im thin thít với lần 2 mà anh.
Chỉ có điều e tạm xóa mấy cái số 1,2,3... trên đầu của chủ topic để dùng CurrentRegion cho nó nhanh thôi ạ }}}}}
Người ta muốn khi copy lần 2 thì nối tiếp dữ liệu của lần 1 ông ơi
Không biết là mình cảm có trúng không, chứ mình đoán là lân đầu copy qua, lần sau copy qua nối đuôi. cứ thế cho đến ngày tận thế..
 
Upvote 0
bạn xem file đính kèm xem có đúng yêu cầu không nhé
 

File đính kèm

Upvote 0
Không cần xem file cũng biết code trật lất yêu cầu rồi
Copy lần 1 ok, lần 2 không thấy gi hết

Không phải. Bài này phải ứng dụng chiêu độc của tư duy. Chiêu Loạn Cào Cào ấy mà

Bài này đối với mình thì dễ, cũng dùng advancedFilter như mọi người thôi. Nhưng có thêm tí gia vị
Oh Em hiểu rồi độc chiêu Bổn Môn Loạn cào cào
 
Upvote 0
Người ta muốn khi copy lần 2 thì nối tiếp dữ liệu của lần 1 ông ơi
Không biết là mình cảm có trúng không, chứ mình đoán là lân đầu copy qua, lần sau copy qua nối đuôi. cứ thế cho đến ngày tận thế..
Dạ dạ... thế phải suy nghĩ thêm ạ.. tìm dòng cuối cùng + 1 rồi paste thêm vào.. nhưng làm thế ko hiểu dụng ý của tác giả là j. +-+-+-+
 
Upvote 0
bạn xem file đính kèm xem có đúng yêu cầu không nhé
Lạy trời cho tác giả có 1000 cột gốc cần copy đảo cột. Code mỏi tay luôn. hí hí
Cách này cũng coi như 1 cách hay, nhưng bài này nếu xử bằng AdvancedFilter mới sướng.
Nếu dùng mảng thì mình sẽ dùng For Next để gán dữ liệu vào mảng đích. Dạng copy kiểu này thường dữ liệu có tẹo.
 
Lần chỉnh sửa cuối:
Upvote 0
hiện tại xóa hết dữ liệu vừa copy khi nhấn copy thì dữ liệu chép qua bắt đầu từ dòng L1
mình muốn giữ tiêu đề tại dòng L2 và kết quả sao chép bắt đầu từ cột L3 được không bạn
Thử code này đi
PHP:
Sub CopQH()
Dim sArr(), dArr(), i As Long, j As Byte, n As Byte
With Sheet1
   sArr = .Range("B3", .[J65536].End(3)).Value
   ReDim dArr(1 To UBound(sArr), 1 To 7)
   For i = 1 To UBound(sArr, 1)
      For j = 1 To 7
         n = Choose(j, 6, 2, 5, 1, 7, 8, 9)
         dArr(i, j) = sArr(i, n)
      Next
   Next
   .[L65536].End(3)(2).Resize(i - 1, 7) = dArr
End With
End Sub
Còn đây là chiêu thức loạn cào cào đây. Dùng AdFilter không vòng lặp, nhưng nhìn code thấy gớm quá
Mời F1 tham khảo
PHP:
Sub CopQH()
Application.ScreenUpdating = False
Dim tam1(), tam2(), data As Range
tam1 = Range([L3], [R65536].End(3).Offset(1)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
Range([B2], [J65536].End(3)).AdvancedFilter 2, , [L2:R2]
tam2 = Range([L3], [R65536].End(3)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
[L65536].End(3)(2).Resize(UBound(tam1), 7) = tam1
[L65536].End(3)(2).Resize(UBound(tam2), 7) = tam2
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thử code này đi
PHP:
Sub CopQH()
Dim sArr(), dArr(), i As Long, j As Byte, n As Byte
With Sheet1
   sArr = .Range("B3", .[J65536].End(3)).Value
   ReDim dArr(1 To UBound(sArr), 1 To 7)
   For i = 1 To UBound(sArr, 1)
      For j = 1 To 7
         n = Choose(j, 6, 2, 5, 1, 7, 8, 9)
         dArr(i, j) = sArr(i, n)
      Next
   Next
   .[L65536].End(3)(2).Resize(i - 1, 7) = dArr
End With
End Sub
Còn đây là chiêu thức loạn cào cào đây. Dùng AdFilter không vòng lặp, nhưng nhìn code thấy gớm quá
Mời F1 tham khảo
PHP:
Sub CopQH()
Application.ScreenUpdating = False
Dim tam1(), tam2(), data As Range
tam1 = Range([L3], [R65536].End(3).Offset(1)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
Range([B2], [J65536].End(3)).AdvancedFilter 2, , [L2:R2]
tam2 = Range([L3], [R65536].End(3)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
[L65536].End(3)(2).Resize(UBound(tam1), 7) = tam1
[L65536].End(3)(2).Resize(UBound(tam2), 7) = tam2
Application.ScreenUpdating = True
End Sub

Anh diemhuyenanh nha đã hay rồi anh quanghai cũng hay luôn
Cám ơn anh nhiều nha
 
Upvote 0
....
Còn đây là chiêu thức loạn cào cào đây. Dùng AdFilter không vòng lặp, nhưng nhìn code thấy gớm quá
Mời F1 tham khảo
PHP:
Sub CopQH()
Application.ScreenUpdating = False
Dim tam1(), tam2(), data As Range
tam1 = Range([L3], [R65536].End(3).Offset(1)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
Range([B2], [J65536].End(3)).AdvancedFilter 2, , [L2:R2]
tam2 = Range([L3], [R65536].End(3)).Value
Range([L3], [R65536].End(3).Offset(1)).ClearContents
[L65536].End(3)(2).Resize(UBound(tam1), 7) = tam1
[L65536].End(3)(2).Resize(UBound(tam2), 7) = tam2
Application.ScreenUpdating = True
End Sub
Em ko tham khảo cái ni đâu, trông ỚN lắm +-+-+-++-+-+-++-+-+-+
 
Upvote 0

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

Back
Top Bottom