Tự động copy công thức xuống các ô còn lại trong vùng chèn thêm ở cột D (1 người xem)

Liên hệ QC

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

Nguyễn Hồng Quang

Thành viên GPE Hà Nội
Tham gia
8/6/07
Bài viết
1,203
Được thích
877
Giới tính
Nam
Nghề nghiệp
Kế toán
Trong bảng tính của em. Sau khi chạy code chèn thêm dòng . Em muốn các ô còn lại trong vùng chèn thêm ở cột D được copy paste công thức. Nhưng mà loay hoay mãi chỉ được mỗi 1 ô. :(
Mong mọi người giúp đỡ
Chi tiết em xin gửi file đính kèm
Em xin cảm ơn
 

File đính kèm

Upvote 0
Trong bảng tính của em. Sau khi chạy code chèn thêm dòng . Em muốn các ô còn lại trong vùng chèn thêm ở cột D được copy paste công thức. Nhưng mà loay hoay mãi chỉ được mỗi 1 ô. :(
Mong mọi người giúp đỡ
Chi tiết em xin gửi file đính kèm
Em xin cảm ơn
em có ý kiến tí là anh có thể insert bảng của anh vào 1 Table và sửa code cũ thành
Mã:
Sub Button1_Click()
    Dim r As Long
    r = Selection.Row
    If r = 1 Then Exit Sub
    cc = Selection.SpecialCells(xlCellTypeLastCell).Column
    Selection.EntireRow.Insert
End Sub
nó sẽ tự động copy công thức xuống mà k cần phải thêm gì :)
 

File đính kèm

Upvote 0
vào 1 Table và sửa code cũ thành
Dùng Table rồi thì khỏi dùng code luôn.

@ Chủ thớt:
Record macro khi Ctrl + D là xong lâu rồi nhưng mà thấy không tự làm (vì tưởng nói chơi?)
PHP:
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("D2:D" & lR).FillDown
 
Upvote 0
Dùng Table rồi thì khỏi dùng code luôn.

@ Chủ thớt:
Record macro khi Ctrl + D là xong lâu rồi nhưng mà thấy không tự làm (vì tưởng nói chơi?)
PHP:
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("D2:D" & lR).FillDown
:) em quên mất đấy, tự dưng thừa giấy vẽ voi a nhể, thế thì em thấy cách dùng table hợp lý đấy chứ ạ
 
Upvote 0
em có ý kiến tí là anh có thể insert bảng của anh vào 1 Table và sửa code .............
nó sẽ tự động copy công thức xuống mà k cần phải thêm gì :)
Ý tưởng của Hương thật hay. Insert vào Table rồi tận dụng chức năng của nó luôn. Quả thực mình không nghĩ ra ý tưởng độc đáo này. Cảm ơn bạn nhé
 
Upvote 0
Dùng Table rồi thì khỏi dùng code luôn.

@ Chủ thớt:
Record macro khi Ctrl + D là xong lâu rồi nhưng mà thấy không tự làm (vì tưởng nói chơi?)
PHP:
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("D2:D" & lR).FillDown
Đúng là lúc đầu mình không hiểu ý của befaint. Bây giờ thì mình hiểu rồi
Cảm ơn befaint đã tận tình giúp đỡ nha _)(#;
Nói không phải nịnh nhưng mà code của Befaint thật mượt và nhanh lắm:1a:
 
Upvote 0
Đúng là lúc đầu mình không hiểu ý của befaint. Bây giờ thì mình hiểu rồi
Cảm ơn befaint đã tận tình giúp đỡ nha _)(#;
Nói không phải nịnh nhưng mà code của Befaint thật mượt và nhanh lắm:1a:
Vậy thì bạn liên hệ và làm mấy thùng Nôi Hà Bịa thôi:
Thứ nhất là để gặp mặt giao lưu và cảm ơn.
Thứ hai xem thử lời Giang hồ đồn " Chú Cuội sợ chị Hằng" có thật không ;)
 
Lần chỉnh sửa cuối:
Upvote 0
Ý tưởng của Hương thật hay. Insert vào Table rồi tận dụng chức năng của nó luôn. Quả thực mình không nghĩ ra ý tưởng độc đáo này. Cảm ơn bạn nhé
Mình thấy Table hình như không cho Sort dữ liệu. Có lần mình Sort một phát công thức bị lỗi dòng luôn.
 
Upvote 0
em có ý kiến tí là anh có thể insert bảng của anh vào 1 Table và sửa code cũ thành
Mã:
Sub Button1_Click()
    Dim r As Long
    r = Selection.Row
    If r = 1 Then Exit Sub
    cc = Selection.SpecialCells(xlCellTypeLastCell).Column
    Selection.EntireRow.Insert
End Sub
nó sẽ tự động copy công thức xuống mà k cần phải thêm gì :)
Với code của bạn "lehuong1409" ví dụ: Em có những cột sau: C, D, E, H, N là có công thức, Công thức nằm ở dòng số 2. Em cần lấy công thức xuống thì sửa code như nào thế nào được A/C nhỉ? Mong A/C giúp. Cảm ơn Anh Chị!
 
Upvote 0
Dùng Table rồi thì khỏi dùng code luôn.

@ Chủ thớt:
Record macro khi Ctrl + D là xong lâu rồi nhưng mà thấy không tự làm (vì tưởng nói chơi?)
PHP:
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("D2:D" & lR).FillDown


Với code của bạn "befaint" ví dụ: Em có những cột sau: C, D, E, H, N là có công thức, Công thức nằm ở dòng số 2. Em cần lấy công thức xuống thì em làm như sau.

Sub Chay_CongThuc()
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("C2:C" & lR).FillDown
Sheet1.Range("D2:D" & lR).FillDown
Sheet1.Range("E2:E" & lR).FillDown
Sheet1.Range("H2:H" & lR).FillDown
Sheet1.Range("N2:N" & lR).FillDown
End Sub


Em thấy ra kết quả đúng. Anh Chị xem có giải pháp nào hay hơn ko ạ? Mong A/C chỉ giúp. Tks !
 
Upvote 0
Với code của bạn "befaint" ví dụ: Em có những cột sau: C, D, E, H, N là có công thức, Công thức nằm ở dòng số 2. Em cần lấy công thức xuống thì em làm như sau.

Sub Chay_CongThuc()
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("C2:C" & lR).FillDown
Sheet1.Range("D2:D" & lR).FillDown
Sheet1.Range("E2:E" & lR).FillDown
Sheet1.Range("H2:H" & lR).FillDown
Sheet1.Range("N2:N" & lR).FillDown
End Sub


Em thấy ra kết quả đúng. Anh Chị xem có giải pháp nào hay hơn ko ạ? Mong A/C chỉ giúp. Tks !
Cái này ngắn hơn 1 tí
Mã:
Sub Chay_CongThuc()
Dim lR As Long
lR = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
If lR <= 2 Then Exit Sub
Sheet1.Range("C2:E" & lR).FillDown
Sheet1.Range("H2:H" & lR).FillDown
Sheet1.Range("N2:N" & lR).FillDown
End Sub
 
Upvote 0
Anh Chị xem có giải pháp nào hay hơn ko ạ? Mong A/C chỉ giúp. Tks !
1/ Không bao giờ viết tắt. Viết thế không ai đọc. Nếu có viết tắt thì thêm bảng ghi chú cho những chỗ viết tắt.

2/ Cho cái khúc màu xanh ở trên vào chỗ chuyên chứa nó.
upload_2017-10-1_15-32-14.png

3/ Có thể gộp các vùng với nhau.
PHP:
Sub Chay_CongThuc()
Dim lR As Long, Rng As Range
With Sheet1
    lR = .Range("D" & Rows.Count).End(xlUp).Row
    If lR <= 2 Then Exit Sub
    Set Rng = Union(.Range("C2:E" & lR), .Range("H2:H" & lR), .Range("N2:N" & lR))
    Rng.FillDown
End With
End Sub
 
Upvote 0
1/ Không bao giờ viết tắt. Viết thế không ai đọc. Nếu có viết tắt thì thêm bảng ghi chú cho những chỗ viết tắt.

2/ Cho cái khúc màu xanh ở trên vào chỗ chuyên chứa nó.
View attachment 184020

3/ Có thể gộp các vùng với nhau.
PHP:
Sub Chay_CongThuc()
Dim lR As Long, Rng As Range
With Sheet1
    lR = .Range("D" & Rows.Count).End(xlUp).Row
    If lR <= 2 Then Exit Sub
    Set Rng = Union(.Range("C2:E" & lR), .Range("H2:H" & lR), .Range("N2:N" & lR))
    Rng.FillDown
End With
End Sub
Mình mới tham gia. Nên còn sơ xuất. Mình sẽ rút kinh nghiệm. Cảm ơn bạn befaint !
 
Upvote 0
Vậy thì bạn liên hệ và làm mấy thùng Nôi Hà Bịa thôi:
Thứ nhất là để gặp mặt giao lưu và cảm ơn.
Thứ hai xem thử lời Giang hồ đồn " Chú Cuội sợ chị Hằng" có thật không ;)
PacificPR nói đúng rồi
Mấy thùng thì chắc anh em mình gặp đủ cả Cuội và Hằng và có khi cả Huệ ơi ấy chứ.-0-0-0-
Rất hy vọng có dịp gặp gỡ mọi người. Nếu có bữa nào cafe ở Hà Nội báo mình với nhé
 
Upvote 0
Web KT

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

Back
Top Bottom