Nhờ các thầy và các bạn trên diễn đàn viết dùm code copy cách dòng từ 1 mảng dử liệu (1 người xem)

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

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

ntg82vn

Thành viên chính thức
Tham gia
1/12/11
Bài viết
53
Được thích
14
Em có một mảng dữ liệu (nằm ở sheet dữ liệu).
Bây giờ em muốn copy sang sheet tổng hợp. Tuy nhiên em muốn sẽ cách dòng ra .
Em có nêu lên ở bài toán trên.
Mong các thầy và các anh chị giúp đỡ.
 

File đính kèm

@ntg82vn
Dùng thử :
Mã:
Public Sub test()
Dim DuLieu, i As Long, lastRow As Long
With Sheets("Du lieu")
    lastRow = .Range("H" & Rows.Count).End(xlUp).Row
    DuLieu = .Range("H7:H" & lastRow).Value
End With
    For i = 1 To UBound(DuLieu, 1)
    Sheets("Tong hop").Range("B" & i * 6 - 1) = DuLieu(i, 1)
    Next i
End Sub
 
Upvote 0
@ntg82vn
Dùng thử :
Mã:
Public Sub test()
Dim DuLieu, i As Long, lastRow As Long
With Sheets("Du lieu")
    lastRow = .Range("H" & Rows.Count).End(xlUp).Row
    DuLieu = .Range("H7:H" & lastRow).Value
End With
    For i = 1 To UBound(DuLieu, 1)
    Sheets("Tong hop").Range("B" & i * 6 - 1) = DuLieu(i, 1)
    Next i
End Sub
Dạ cám ơn. Đúng ý em rồi ah.
Cám ơn thầy nhiều
 
Upvote 0
@ntg82vn
Dùng thử :
Mã:
Public Sub test()
Dim DuLieu, i As Long, lastRow As Long
With Sheets("Du lieu")
    lastRow = .Range("H" & Rows.Count).End(xlUp).Row
    DuLieu = .Range("H7:H" & lastRow).Value
End With
    For i = 1 To UBound(DuLieu, 1)
    Sheets("Tong hop").Range("B" & i * 6 - 1) = DuLieu(i, 1)
    Next i
End Sub
Phiền thầy 1 chút nữa là làm sao để từ ô B đến ô H nó tự động dùng chức năng "merge & centrer"
 
Upvote 0
Bạn chỉ cần nhập Địa chỉ: Họ tên cha ,họ tên mẹ, Lớp đang học từ B6 đến B9 rồi chạy code.

Mã:
Public Sub test()
Dim DuLieu, i As Long, lastRow As Long
Application.ScreenUpdating = False
With Sheets("Du lieu")
    lastRow = .Range("H" & Rows.Count).End(xlUp).Row
    DuLieu = .Range("H7:H" & lastRow).Value
End With
With Sheets("Tong hop")
     For i = 1 To UBound(DuLieu, 1)
    .Range("B" & i * 6 - 1) = DuLieu(i, 1)
    .Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenterAcrossSelection
    .Range("B6:B9").Copy
    .Range("B" & i * 6).PasteSpecial Paste:=xlPasteValues
    Next i
    Application.CutCopyMode = False
End With
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Cách làm là theo suy nghĩ của chủ Topic.
Tôi lại nghĩ khác:
- Cột H sheet Du lieu chỉ là 1 phần thông tin.
- Sheet Tong hop lại muốn in nhãn để làm cái gì đó thì chưa biết?

Theo tôi thì chủ Topic cần làm cái gì đó thì nên nêu rõ mục đích, còn giải pháp thì để các thành viên lo có nhiều khi nó hay hơn và tiện lợi hơn.
Không lẽ, có phát sinh thêm thì lại hỏi tiếp, chắc các code nêu trên phá sản quá.
 
Upvote 0
Cái này em thấy có 1 tẹo giống như PivotTablet.
 
Upvote 0
Cách làm là theo suy nghĩ của chủ Topic.
Tôi lại nghĩ khác:
- Cột H sheet Du lieu chỉ là 1 phần thông tin.
- Sheet Tong hop lại muốn in nhãn để làm cái gì đó thì chưa biết?

Theo tôi thì chủ Topic cần làm cái gì đó thì nên nêu rõ mục đích, còn giải pháp thì để các thành viên lo có nhiều khi nó hay hơn và tiện lợi hơn.
Không lẽ, có phát sinh thêm thì lại hỏi tiếp, chắc các code nêu trên phá sản quá.
Cám ơn sự góp ý của thầy.
Bởi em chỉ cần như vậy. còn các thông tin ở giữa em đã làm được.
Tuy nhiên do không biết viết code (mà chỉ có khả năng sửa code) nên em muốn nhờ để học hỏi thêm.
 
Upvote 0
Bạn chỉ cần nhập Địa chỉ: Họ tên cha ,họ tên mẹ, Lớp đang học từ B6 đến B9 rồi chạy code.

Mã:
Public Sub test()
Dim DuLieu, i As Long, lastRow As Long
Application.ScreenUpdating = False
With Sheets("Du lieu")
    lastRow = .Range("H" & Rows.Count).End(xlUp).Row
    DuLieu = .Range("H7:H" & lastRow).Value
End With
With Sheets("Tong hop")
     For i = 1 To UBound(DuLieu, 1)
    .Range("B" & i * 6 - 1) = DuLieu(i, 1)
    .Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenterAcrossSelection
    .Range("B6:B9").Copy
    .Range("B" & i * 6).PasteSpecial Paste:=xlPasteValues
    Next i
    Application.CutCopyMode = False
End With
Application.ScreenUpdating = True
End Sub
Cám ơn thầy.
Em đã sửa lại một chút như thế này:
Hơi dài dòng một chút nhưng em chỉ có thể làm được đến vậy thôi.

Public Sub test_1()
Dim DuLieu, i As Long, lastRow As Long
With Sheets("Du lieu")
lastRow = .Range("H" & Rows.Count).End(xlUp).Row
DuLieu = .Range("H7:H" & lastRow).Value
End With
For i = 1 To UBound(DuLieu, 1)
Sheets("Tong hop").Range("B" & i * 6 - 1) = DuLieu(i, 1)
'Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenterAcrossSelection
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).Merge
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenter
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).VerticalAlignment = xlCenter
Next i
End Sub
 
Upvote 0
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).Merge
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenter
Sheets("Tong hop").Range("B" & i * 6 - 1).Resize(1, 7).VerticalAlignment = xlCenter
Đâu cần 3 dòng này. Chỉ cần:
.Range("B" & i * 6 - 1).Resize(1, 7).HorizontalAlignment = xlCenterAcrossSelection
là dữ liệu được canh giữa 7 ô bạn chọn.
 
Upvote 0
Web KT

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

Back
Top Bottom