hngiatuong
CMC
- Tham gia
- 14/9/12
- Bài viết
- 312
- Được thích
- 68
- Nghề nghiệp
- VT
Em có file với 2 Sheet. Sheet1 có tiêu đề báo cáo và chân báo cáo. Sheet2 có 1 bảng dữ liệu.
Hãy đếm số dòng của bảng trong Sheet2 rồi chèn số dòng tương ứng vào giữa phần báo cáo của Sheet1 để Copy bảng của Sheet2 vào đó. Nhờ các a/c giúp đỡ.
Public Sub hello()
Dim lr As Long, ws As Worksheet
Set ws = Worksheets("Sheet2")
If ws.Range("A1:B1").MergeCells Then
With ws
.UsedRange.UnMerge
.[B1].Value = .[A1].Value
.Columns(1).Delete
.Rows(.[H65000].End(xlUp).Row).Delete
.Range(.[H1], .[H65000].End(xlUp)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Sheet1.Range("A1:H1").Copy
.Range("A1").PasteSpecial xlPasteColumnWidths
lr = .[H65000].End(xlUp).Row
End With
Sheet1.Copy , Worksheets(Worksheets.Count)
With ActiveSheet
.Rows("10:" & 10 + lr - 2).Insert
ws.Range("A1:J" & lr).Copy .[A10]
lr = .[H10].End(xlDown).Row
.Range("H" & lr + 2).Formula = "=SUMIF(F11:F" & lr & ","">0"",H11:H" & lr & ")"
.Range("H" & lr + 4).Value = "=R[-2]C/1.1"
.Range("H" & lr + 5).Value = "=R[-3]C-R[-1]C"
.Range("H" & lr + 6).Value = "=R[-1]C+R[-2]C"
End With
End If
End Sub
Bạn có thể làm theo cáchEm có file với 2 Sheet. Sheet1 có tiêu đề báo cáo và chân báo cáo. Sheet2 có 1 bảng dữ liệu.
Hãy đếm số dòng của bảng trong Sheet2 rồi chèn số dòng tương ứng vào giữa phần báo cáo của Sheet1 để Copy bảng của Sheet2 vào đó. Nhờ các a/c giúp đỡ.
(Tại trang tính Sheet1)
(*) Dòng thứ 10 sẽ là dòng tiêu đề (giống như Sheet3)
1./ "Rùa nhưng chắc":
Đúng ý em rồi, nhưng nếu muốn không sinh thêm Sheet tức là chỉ chuyển bảng trong Sheet2 chèn vào đoạn cần chèn trong Sheet1 thì cần thay đổi thế nào. Anh chỉ bảo em thêm.cứ thấy trong file ghi sao thì code làm vậy
[/CODE]
Đúng ý em rồi, nhưng nếu muốn không sinh thêm Sheet tức là chỉ chuyển bảng trong Sheet2 chèn vào đoạn cần chèn trong Sheet1 thì cần thay đổi thế nào. Anh chỉ bảo em thêm.
Hai là em muốn khi copy 1 đơn hàng thứ nhất, chạy code - in xong. Copy đơn hàng thứ 2, chạy code - in tiếp, ... thì .... nó không chạy code. Muốn làm được điều này cần thay đổi chỗ nào anh chỉ giúp em.
Xin cảm ơn anh.
À ra vậy, em hiểu rồi xin cảm ơn anh.code căn cứ vào việc 2 ô A1:B1 của sheet2
Mã:Public Sub hello() Dim lr As Long, ws As Worksheet With ws . End Sub
Các a/c giúp em chỗ này với.
1/ Sau khi code #3 chạy xong, sẽ tạo ra 1 sheet mới. Em đã record macro thêm cho phần định dạng trên sheet mới cột D,E là định dạng kiểu số không có phần thập phân, cột F,G,H định dạng kiểu phân nhóm không có phần thập phân. Nhưng khi chạy xong cột F,G,H thì OK, còn cột D,E cũng định dạng luôn như 3 cột kia. Không hiểu vì sao nữa.
2/ Em muốn ghi macro viền bảng nhưng không xác định được bảng dài thế nào (tùy thuộc vào số liệu đầu vào của sheet nguồn)
Xin nhờ các a/c.