Copy mảng liên tục

Liên hệ QC

hiénlinh197

Thành viên tiêu biểu
Tham gia
26/5/09
Bài viết
491
Được thích
113
Nhờ các bạn viết giúp code copy mảng liên tục như trong file đính kèm!
Cảm ơn các bạn!
 

File đính kèm

  • Copy mảng liên tục.xlsm
    120 KB · Đọc: 15
Nhờ các bạn viết giúp code copy mảng liên tục như trong file đính kèm!
Cảm ơn các bạn!
Mưỡi mới hiểu Anh ấy định làm cái gì. Khổ thật :p:p:p
Mã:
Sub CopyData()
    Dim Rng As Range, eRng As Range, I As Long, C As Long, R As Long: R = 81
    Dim Tieude As Range
Set Tieude = Sheets("d1").Range("AK18:CR18")
Set eRng = Sheets("d2").Range("AK92")
For I = 1 To 3
    Set Rng = Sheets("d1").Range("AK" & R & ":" & "CR" & R)
    Tieude.Copy eRng.Offset(-1):    Rng.Offset(-23).Resize(24).Copy eRng
    R = R - 2: C = Rng.Columns.Count
    Set eRng = eRng.Offset(, C)
Next I
End Sub
 

File đính kèm

  • Copy mảng liên tục.xlsm
    146.5 KB · Đọc: 12
Mưỡi mới hiểu Anh ấy định làm cái gì. Khổ thật :p:p:p
Mã:
Sub CopyData()
    Dim Rng As Range, eRng As Range, I As Long, C As Long, R As Long: R = 81
    Dim Tieude As Range
Set Tieude = Sheets("d1").Range("AK18:CR18")
Set eRng = Sheets("d2").Range("AK92")
For I = 1 To 3
    Set Rng = Sheets("d1").Range("AK" & R & ":" & "CR" & R)
    Tieude.Copy eRng.Offset(-1):    Rng.Offset(-23).Resize(24).Copy eRng
    R = R - 2: C = Rng.Columns.Count
    Set eRng = eRng.Offset(, C)
Next I
End Sub
Cảm ơn, cảm ơn bạn
♫ђöล♥ßล†♥†µ♫
quá hay và quá tuyệt vời. Chúc bạn tối nay đi chơi với người yêu có nhiều vui vẻ nhé!
 
Dim Rng As Range, eRng As Range, I As Long, C As Long, R As Long: R = 81
Dim Tieude As Range
Set Tieude = Sheets("d1").Range("AK18:CR18")
Set eRng = Sheets("d2").Range("AK92")
For I = 1 To 3
Set Rng = Sheets("d1").Range("AK" & R & ":" & "CR" & R)
Tieude.Copy eRng.Offset(-1): Rng.Offset(-23).Resize(24).Copy eRng
R = R - 2: C = Rng.Columns.Count
Set eRng = eRng.Offset(, C)
Next I
End Sub
Chào bạn
♫ђöล♥ßล†♥†µ♫, làm phiền bạn. Bạn giải thích giúp mình mấy cái thông số tô màu đỏ này là như nào bạn nhỉ?
Chúc bạn cuối tuần vui nhiều nhé!
 
Dim Rng As Range, eRng As Range, I As Long, C As Long, R As Long: R = 81
Dim Tieude As Range
Set Tieude = Sheets("d1").Range("AK18:CR18")
Set eRng = Sheets("d2").Range("AK92")
For I = 1 To 3
Set Rng = Sheets("d1").Range("AK" & R & ":" & "CR" & R)
Tieude.Copy eRng.Offset(-1): Rng.Offset(-23).Resize(24).Copy eRng
R = R - 2: C = Rng.Columns.Count
Set eRng = eRng.Offset(, C)
Next I
End Sub
Chào bạn
♫ђöล♥ßล†♥†µ♫, làm phiền bạn. Bạn giải thích giúp mình mấy cái thông số tô màu đỏ này là như nào bạn nhỉ?
Chúc bạn cuối tuần vui nhiều nhé!
Để biết ý nghĩa dòng:
eRng.Offset(-1)
Bạn gõ Ctrl +G, nhập:
Sheets("d2").Range("AK92").Offset(-1).select
Gõ Enter 1 phát, quay lại bảng tính, bạn sẽ biết vùng chọn là gì nhé.
Tương tự:
+Để biết dòng:
Rng.Offset(-23).Resize(24)
Bạn gõ Ctrl +G, nhập:
Sheets("d1").Range("AK81 :CR81").Offset(-23).Resize(24).select
Chỉ có vậy thôi.
 
Lần chỉnh sửa cuối:
Để biết ý nghĩa dòng:
eRng.Offset(-1)
Bạn gõ Ctrl +G, nhập:
Sheets("d2").Range("AK92").Offset(-1).select
quay lại bảng tính, bạn sẽ biết vùng chọn là gì nhé.
Tương tự:
+Để biết dòng:
Rng.Offset(-23).Resize(24)
Bạn gõ Ctrl +G, nhập:
Sheets("d1").Range("AK81 :CR81").Offset(-23).Resize(24).select
Chỉ có vậy thôi,
Cảm ơn bạn
phulien1902 đã chỉ dẫn, nhưng còn cái Resize(24) mình vẫn chưa hiểu là gì? Bạn giải thích giúp mình với nhé!
 
Chủ thớt hôm nay tìm hiểu lý thuyết sao? Thảo nào hôm nay thời tiết nóng thật!!!
 
Chủ thớt hôm nay tìm hiểu lý thuyết sao? Thảo nào hôm nay thời tiết nóng thật!!!
Chào bạn
@befaint môn VBA này thật sự là ác quỷ đối với mình bạn à, nó không nhập tâm được tý gì cả, mình nghiên cứu gần 2 năm từ cuối năm 2016 đến nay nhưng vẫn là con số không. Trong khi đó vẫn thấy mê VBA "Nhưng tiếc thay không làm được tích sự gì"
 
Chắc do anh bập sâu nhanh quá nên không theo được. Làm từ cái đơn giản trước, thành thạo rồi mới bập tiếp cái khác.

https://www.giaiphapexcel.com/diendan/threads/bài-6-range-cells.130603/
Bạn
@befaint nói rất đúng, mình cũng đọc hết rồi đó. Anh @HieuCD cũng khuyên mình như vậy, và anh ấy bảo những bài của mình là những bài khó, nên làm từ từ thôi.
 
Mưỡi mới hiểu Anh ấy định làm cái gì. Khổ thật :p:p:p
Mã:
Sub CopyData()
    Dim Rng As Range, eRng As Range, I As Long, C As Long, R As Long: R = 81
    Dim Tieude As Range
Set Tieude = Sheets("d1").Range("AK18:CR18")
Set eRng = Sheets("d2").Range("AK92")
For I = 1 To 3
    Set Rng = Sheets("d1").Range("AK" & R & ":" & "CR" & R)
    Tieude.Copy eRng.Offset(-1):    Rng.Offset(-23).Resize(24).Copy eRng
    R = R - 2: C = Rng.Columns.Count
    Set eRng = eRng.Offset(, C)
Next I
End Sub
Cảm ơn Bạn, bài này về hình thức là đúng, nhưng bây giờ mình muốn là chỉ lấy giá trị và định dạng thì phải làm như nào nhỉ?
 
Cảm ơn Bạn, bài này về hình thức là đúng, nhưng bây giờ mình muốn là chỉ lấy giá trị và định dạng thì phải làm như nào nhỉ?
Bạn thử thay dòng:
PHP:
Rng.Offset(-23).Resize(24).Copy eRng

bằng:
PHP:
 Rng.Offset(-23).Resize(24).Copy
    eRng.PasteSpecial xlValues
    eRng.PasteSpecial xlFormats
 
Web KT
Back
Top Bottom