Copy công thức bằng VBA

nhathuyha

Sơ cấp
Hi mọi người.
Mình có bài toán đơn giản cần được giúp đỡ.
Sheet 1 có cột A gồm dữ liệu số thứ tự : từ 1 2 3 ... đến m (với n là số bất kì)
Sheet 2 có A1 đã có công thức sẵn.
Bây giờ mình muốn copy công thức của A1 cho A2 A3 A4 .....đến Am
Bạn nào có thể giúp mình được ko?
 
Hi mọi người.
Mình có bài toán đơn giản cần được giúp đỡ.
Sheet 1 có cột A gồm dữ liệu số thứ tự : từ 1 2 3 ... đến m (với n là số bất kì)
Sheet 2 có A1 đã có công thức sẵn.
Bây giờ mình muốn copy công thức của A1 cho A2 A3 A4 .....đến Am
Bạn nào có thể giúp mình được ko?
PHP:
Worksheets("Sheet1").Range("A1:A10").FillDown
 
vùng này không xác định là 10 bạn.. nó ngẫu nhiên mà.
với lại sheet 2 mới là sheet cần copy từ A1 đến Am
 
Hi mọi người.
Mình có bài toán đơn giản cần được giúp đỡ.
Sheet 1 có cột A gồm dữ liệu số thứ tự : từ 1 2 3 ... đến m (với n là số bất kì)
Sheet 2 có A1 đã có công thức sẵn.
Bây giờ mình muốn copy công thức của A1 cho A2 A3 A4 .....đến Am
Bạn nào có thể giúp mình được ko?
Phần này không có file cụ thể nên cũng hơi khó.
Sheets 1 thì bạn phải tìm dòng cuối cùng bằng cách: dongcuoi = Sheets("Sheet1").Range("A" & rows.count).End(xlup).row
Sang Sheet 2 bạn đặt công thức sẵn thì bạn sẽ chạy vòng lặp: For i = 1 to dongcuoi và gán worksheetfunction theo công thức đã đặt
 
Hi mọi người.
Mình có bài toán đơn giản cần được giúp đỡ.
Sheet 1 có cột A gồm dữ liệu số thứ tự : từ 1 2 3 ... đến m (với n là số bất kì)
Sheet 2 có A1 đã có công thức sẵn.
Bây giờ mình muốn copy công thức của A1 cho A2 A3 A4 .....đến Am
Bạn nào có thể giúp mình được ko?
Bạn thử code này xem nhé:
Sub CopyCongThuc()
Dim i As Long
i = Sheets("Sheet1").Range("a" & Rows.Count).End(xlUp).Row
Range("a2").Copy (Sheets("Sheet2").Range("a3:a" & i))
MsgBox "Da copy " & i - 3 & " dòng"
End Sub
 
Hi mọi người.
Mình có bài toán đơn giản cần được giúp đỡ.
Sheet 1 có cột A gồm dữ liệu số thứ tự : từ 1 2 3 ... đến m (với n là số bất kì)
Sheet 2 có A1 đã có công thức sẵn.
Bây giờ mình muốn copy công thức của A1 cho A2 A3 A4 .....đến Am
Bạn nào có thể giúp mình được ko?

Cách tự động copy công thức xuống tới dòng tùy chọn thì bạn cũng ko cần phải dùng VBA code chi cho nó mệt. Excel từ 2010 trở lên có hổ trợ tính năng Table design -> ví dụ bạn add 1 table 1000 dòng thì bạn chỉ cần gõ công thức dòng đầu tiên thì tự động excel copy công thức xuống hết 1000 dòng tương ứng.

Hy vọng giúp ít cho bạn
 
Bạn thử code này xem nhé:
Sub CopyCongThuc()
Dim i As Long
i = Sheets("Sheet1").Range("a" & Rows.Count).End(xlUp).Row
Range("a2").Copy (Sheets("Sheet2").Range("a3:a" & i))
MsgBox "Da copy " & i - 3 & " dòng"
End Sub
Hi bạn mình đã làm được rồi..nhưng phải sửa code thành thế này
i = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
.Range("A1").Copy
.Sheets("Sheet2")Range("A2:A" & i).PasteSpecial

Với lại dữ liệu của mình đôi khi đến cả 100.000 dữ liệu.. bạn nào biết vì sao hàm biến "i" nó không thể đếm hết được mà luôn báo lỗi "Run time Error 6 Over flow" ?? có phải vì dữ liệu quá nhiều không
 
mình có tải file lên..
Các bạn vào sheet 2 kích vào phân tích dữ liệu.. nó hiện lên 1 cái bảng.. Bạn chọn vào tách dữ liệu thì bên sheet "Data" từ cột V đến cột AA nó sẽ tự động copy xuống... nhưng không hiểu vì sao nó báo lỗi Error 6.. nếu dữ liệu nhỏ thì làm đc.. còn nhiều quá thì không ??
 

Đính kèm

mình có tải file lên..
Các bạn vào sheet 2 kích vào phân tích dữ liệu.. nó hiện lên 1 cái bảng.. Bạn chọn vào tách dữ liệu thì bên sheet "Data" từ cột V đến cột AA nó sẽ tự động copy xuống... nhưng không hiểu vì sao nó báo lỗi Error 6.. nếu dữ liệu nhỏ thì làm đc.. còn nhiều quá thì không ??
Bạn định nghĩa nó là Integer , cái này nó lớn nhất có mấy chục ngàn thôi. Kiếm số lớn hơn đi, ví dụ Long
 
Back
Top