dùng VBA để autofill??? (1 người xem)

Liên hệ QC

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

traveller11024

Thành viên mới
Tham gia
3/8/09
Bài viết
4
Được thích
0
Mình có 1 bảng dữ liệu từ Column A đến G. Trong đó, A và B đã có sẵn data validation nên khi insert rows thì ko có vấn đề gì. Nhưng cột D,E,F,G có formula để tự động tính toán khi dữ liệu ở A,B,C đc nhập vào. Vì vậy mình mún dùng VBA auto fill mấy công thức đó.

Mình có lên mạng kiếm đc cái code nì nhưng ko có dòng cho auto fill... nên mình tự thêm dzô... và bị báo lỗi (amatuer mà+-+-+-+).

Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
c = Target.Column
If c <> 1 Then Exit Sub
Application.EnableEvents = False
NextLineValue = Cells(r + 1, c)
If NextLineValue = "SUBTOTAL" Then
Rows(r + 1).Insert
Range("r":"c", "r:c+4").Activate
Selection.AutoFill Destination:=Range("r+1,c", "r+1:c+4"), Type:=xlFillDefault

End If
Application.EnableEvents = True
End Sub

Bác nào giúp mình đc ko. |||||
 
mới sửa

Mình mới biến tấu thủ công cho cái code nì như sau

Private Sub Worksheet_Change(ByVal Target As Range)
r = Target.Row
c = Target.Column
If c <> 1 Then Exit Sub
Application.EnableEvents = False
NextLineValue = Cells(r + 1, c)
If NextLineValue = "SUBTOTAL" Then
Rows(r + 1).Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Rows(r - 1).Select
Selection.Copy
Rows(r + 1).Select
ActiveSheet.Paste
Cells(r + 1, c).Select
Selection.ClearContents
Cells(r + 1, c + 1).Select
Selection.ClearContents
Cells(r + 1, c + 2).Select
Selection.ClearContents
Cells(r, c).Select
End If
Application.EnableEvents = True
End Sub

Đúng là thủ công thôi, bác nào có cách toàn diện hơn thì chỉ với... ===\.
 
Upvote 0
Upvote 0
file đây

Cái nì là bài tập trên lớp... mình mún giữ cho nó theo K.I.S.S lắm mà hem đc )(&&@@
View code ở sheet "Quotation sheet" ấy. :-=
 

File đính kèm

Upvote 0
Code AutoFill bằng VBA
PHP:
Sub AutoFill()
...........
End Sub
Giả sử bạn muốn
1- AutoFill ô D4 sang 5 cột:
PHP:
[d4].AutoFill [d4].Resize(, 5)
2- AutoFill ô D4 xuống 10 dòng:
PHP:
[d4].AutoFill [d4].Resize(10)
3- AutoFill dãy D4:D15 sang 5 cột:
PHP:
[d4:d15].AutoFill [d4:d15].Resize(, 5)
Do mỗi câu lệnh AutoFill chỉ thực hiện được một chiều (cột hoặc dòng) nên tôi thường dùng cách sau

PHP:
[d4].Copy [d4].Resize(10, 5)
 
Upvote 0
thx Trung Chinh... nhưng cái mình mún là chèn code vào worksheet để tự động chỉnh sửa lun. :)
 
Upvote 0
Code AutoFill bằng VBA
PHP:
Sub AutoFill()
...........
End Sub
Giả sử bạn muốn
1- AutoFill ô D4 sang 5 cột:
PHP:
[d4].AutoFill [d4].Resize(, 5)
2- AutoFill ô D4 xuống 10 dòng:
PHP:
[d4].AutoFill [d4].Resize(10)
3- AutoFill dãy D4:D15 sang 5 cột:
PHP:
[d4:d15].AutoFill [d4:d15].Resize(, 5)
Do mỗi câu lệnh AutoFill chỉ thực hiện được một chiều (cột hoặc dòng) nên tôi thường dùng cách sau

PHP:
[d4].Copy [d4].Resize(10, 5)

Thế em muốn kết quả autofill hiển thị ở địa chỉ nào đó mình muốn thì làm sao ạ. E cảm ơn nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom