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
Dùng Ctrl+D hay Ctrl+ C ; Ctrl+ Shifl+ xuống; Ctrl+V thì nhanh rồiCtrl + D cho nhanh
Chắc chắn là Ctrl + D nhanh hơn rất rất nhiều. Nếu nhấn Ctrl + D thì đã xong cách đây 3 giờ rồi. Còn cú click gì đó giờ này chưa xong mà.Dùng Ctrl+D hay Ctrl+ C ; Ctrl+ Shifl+ xuống; Ctrl+V thì nhanh rồi
Nhưng có nhanh bằng cú click
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ànhTrong 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
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
Dùng Table rồi thì khỏi dùng code luôn.vào 1 Table và sửa code cũ thành
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
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
Ý 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é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ì![]()
Đúng là lúc đầu mình không hiểu ý của befaint. Bây giờ thì mình hiểu rồiDù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ậy thì bạn liên hệ và làm mấy thùng Nôi Hà Bịa thôi:Đú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![]()
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.Ý 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é
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ị!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
nó sẽ tự động copy công thức xuống mà k cần phải thêm gì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
![]()
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
Cái này ngắn hơn 1 tí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" & 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 !
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
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.Anh Chị xem có giải pháp nào hay hơn ko ạ? Mong A/C chỉ giúp. Tks !
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
Cảm ơn Bạn PacificPR !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
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 !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
PacificPR nói đúng rồiVậ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![]()