hongphuong1997
Thành viên tiêu biểu
- Tham gia
- 12/11/17
- Bài viết
- 771
- Được thích
- 321
- Giới tính
- Nữ
C20=IF(INT((ROWS($C$20:$C20)-1)/9)+1=$B$20,IFERROR(INDEX($B$2:$I$8,INT((ROWS($C$20:$C20)-1)/9)+1,COLUMNS($C$20:C$20)),""),"")Nhờ thầy cô và các bác viết giúp code copy dòng cách quãng như file đính kèm.
Anh ui em thick viết bằng VBA cơ anh à!C20=IF(INT((ROWS($C$20:$C20)-1)/9)+1=$B$20,IFERROR(INDEX($B$2:$I$8,INT((ROWS($C$20:$C20)-1)/9)+1,COLUMNS($C$20:C$20)),""),"")
Thử dùng code, Copy từ sheet2 sang sheet1 và Insert dòng.Nhờ thầy cô và các bác viết giúp code copy dòng cách quãng như file đính kèm.
Anh ui em thích viết bằng VBA cơ anh à!
Cháu cảm ơn Bác, nhưng vẫn chưa đúng bác ui.Thử dùng code, Copy từ sheet2 sang sheet1 và Insert dòng.
Chưa đúng là sao? trong File bài 1 là Insert 8 dòng trống.Cháu cảm ơn Bác, nhưng vẫn chưa đúng bác ui.
Cháu biết thì nào cũng có cao nhân mà,Bài này có thể giải quyết khi ta lập bảng sau:
Ta fải copy từ dòng 2 tới dòng 20 (2+ 18)
Copy từ dòng 3 tới dòng 29 (có nghĩa là 2 + 27)
v.v . . . . .
Mà các con số 18 = 2 * 9;
27 = 9 * 3
Ta có thể For . . . Next là được thôi.
Sub CopyCach2uang()
Dim J As Long, Col As Integer
Col = [B2].CurrentRegion.Columns.Count
For J = 2 To 8
Cells(J, "B").Resize(, Col).Copy Destination:=Cells(2 + 9 * J, "C")
Cells(2 + 9 * J, "B").Value = J - 1
Next J
End Sub
Con cảm ơn bác, để con xem đã nhé!Đây là sự chiếu cố người có ảnh đẹp đó nha:
PHP:Sub CopyCach2uang() Dim J As Long, Col As Integer Col = [B2].CurrentRegion.Columns.Count For J = 2 To 8 Cells(J, "B").Resize(, Col).Copy Destination:=Cells(2 + 9 * J, "C") Cells(2 + 9 * J, "B").Value = J - 1 Next J End Sub
Hu hu... nhưng cháu chưa biết phương pháp đó bác ui.@hongphuong1997 sau loạt bài trả lời trên, bạn thử viết không dùng vòng lặp được không?
Nếu không dùng vòng lặp thi Hong Phuong viết vo tư@hongphuong1997 sau loạt bài trả lời trên, bạn thử viết không dùng vòng lặp được không?
Đó cũng là 1 cách hay, đỡ phải suy nghĩ nhiều. Nhưng ý mình đố ở đây khi dữ liệu lớn hơn hoặc chưa biết trước số dòng cột thì không copy paste được. Gợi ý 1 chút nhé, bạn tạo thêm cột phụ A, điền toàn số 1 đến 7 rồi lặp lại 8 lần. Sort theo cột phụ này rồi xóa cột phụ. Bây giờ làm sao để điền cột phụ mà không dùng vòng lặp?Nếu không dùng vòng lặp thi Hong Phuong viết vo tư
Cứ thế copy và Pasd có gì đâu.
Thế bạn làm thử cho mình coi xem nào?Đó cũng là 1 cách hay, đỡ phải suy nghĩ nhiều. Nhưng ý mình đố ở đây khi dữ liệu lớn hơn hoặc chưa biết trước số dòng cột thì không copy paste được. Gợi ý 1 chút nhé, bạn tạo thêm cột phụ A, điền toàn số 1 đến 7 rồi lặp lại 8 lần. Sort theo cột phụ này rồi xóa cột phụ. Bây giờ làm sao để điền cột phụ mà không dùng vòng lặp?
BácĐây là sự chiếu cố người có ảnh đẹp đó nha:
PHP:Sub CopyCach2uang() Dim J As Long, Col As Integer Col = [B2].CurrentRegion.Columns.Count For J = 2 To 8 Cells(J, "B").Resize(, Col).Copy Destination:=Cells(2 + 9 * J, "C") Cells(2 + 9 * J, "B").Value = J - 1 Next J End Sub
Bạn chạy code, nhập số dòng cần giãn cách vào inputbox.Thế bạn làm thử cho mình coi xem nào?
Đây cũng là điển hình của việc dạy & học ờ Việt nam ta hiện nay!Bạn chạy code, nhập số dòng cần giãn cách vào inputbox..
Việc dạy học ở ta có vấn đề gì hả bác?Đây cũng là điển hình của việc dạy & học ờ Việt nam ta hiện nay!
Anh oy, anh viết gì vậy?Bạn chạy code, nhập số dòng cần giãn cách vào inputbox.
(Trong code mình dùng mảng nhưng chỉ cần copy paste range là được).