Copy mảng liên tục (1 người xem)

Liên hệ QC

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

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

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

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à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

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

Back
Top Bottom