File tổng hợp của mình do rất nhiều dòng dữ liệu và công thức, nên ở mỗi nhóm mình chỉ giữ lại hàng đầu tiên đã có đủ công thức, khi cần chỉ cần bung copy cho các hàng phía dưới, mục đích để lưu file gọn nhẹ, chỉ bung full khi cần tới.
Mình đã tạo được 1 button, với code sau:


Vấn đề xảy ra là khi chèn thêm hàng bên file dữ liệu (2 file đi kèm file tổng hợp), thì code trong button không tự động thay đổi theo đc. Chỉnh sửa lại là vấn đề khó khăn vì file của mình gồm gần cả nghìn nhóm như thế, khi có một hàng chèn vào thì toàn bộ các nhóm phía sau bị nhảy loạn lên hết.
Xin chỉ giáo mình cách để giữ sao cho code trong button hoạt động tốt khi có thêm dữ liệu vào mà chỉ cần chỉnh sửa ngay nhóm dữ liệu đó.
Có một cách khác thủ công hơn là sử dụng macro tạo phím tắt cho việc copy từng nhóm dữ liệu
Với cách này thì chỉ dùm mình cách để copy với số lượng dòng trong từng nhóm dữ liệu khác nhau mà vẫn chạy tốt. Vd trong code trên thì chỉ áp dụng đc cho nhóm có 19 dòng dữ liệu, khi nhóm có ít hơn hoặc nhiều hơn thì vẫn tự động chạy đủ.
Ở cả 2 cách còn một vấn đề nữa là khi số lượng dòng trong một nhóm cáp hơi lớn, khi double click để copy xuống bị báo lỗi "Selection is too large". Giúp mình xử lý luôn vấn đề này.
Mình trình bày hơi rối, mong các bác hiểu ý và giúp đỡ được mình.
Mình đã tạo được 1 button, với code sau:
Mã:
Sub Button26814_Click()'
' Button26814_Click Macro
' Macro recorded 12/3/2012 by pctuan
'
'
Range("C7:M7").Select
Selection.AutoFill Destination:=Range("C7:M25")
Range("C27:M27").Select
Selection.AutoFill Destination:=Range("C27:M45")
Calculate
End Sub


Vấn đề xảy ra là khi chèn thêm hàng bên file dữ liệu (2 file đi kèm file tổng hợp), thì code trong button không tự động thay đổi theo đc. Chỉnh sửa lại là vấn đề khó khăn vì file của mình gồm gần cả nghìn nhóm như thế, khi có một hàng chèn vào thì toàn bộ các nhóm phía sau bị nhảy loạn lên hết.
Xin chỉ giáo mình cách để giữ sao cho code trong button hoạt động tốt khi có thêm dữ liệu vào mà chỉ cần chỉnh sửa ngay nhóm dữ liệu đó.
Có một cách khác thủ công hơn là sử dụng macro tạo phím tắt cho việc copy từng nhóm dữ liệu
Mã:
Sub Macro4()'
' Macro4 Macro
' Macro recorded 12/3/2012 by pctuan
'
' Keyboard Shortcut: Ctrl+Shift+A
'
ActiveCell.Range("A1:K1").Select
Selection.AutoFill Destination:=ActiveCell.Range("A1:K19")
Calculate
End Sub
Ở cả 2 cách còn một vấn đề nữa là khi số lượng dòng trong một nhóm cáp hơi lớn, khi double click để copy xuống bị báo lỗi "Selection is too large". Giúp mình xử lý luôn vấn đề này.
Mình trình bày hơi rối, mong các bác hiểu ý và giúp đỡ được mình.